Zum Inhalt springen

wo zum Teufel is der Fehler ( shellscript )


Empfohlene Beiträge

Geschrieben

Hiya also ich habe hier folgendes:

======================================

#!/bin/bash

while [ -t ] ; do

echo -n "$(date) : " >> /var/log/my-ip.log

(sleep 1 ; echo "user ftp" ; \

sleep 1 ; echo "pass mmm@gmx.de" ; \

sleep 1 ; echo "quit" ) | \

telnet ftp.gwdg.de 21 | \

grep "Hello User at" >> /var/log/my-ip.log

sleep 3600

done

======================================

Das ganze speicher ich schön brav unter ip.sh ab und wenn ich es im Konqueror starte schreibt er mir auch die log. datei.

Nur leider den falschen inhalt... er schreibt mir nicht die Zeile "hello User at..." rein...sondern nur 4 mal das aktuelle datum mehr nicht.

gebe ich aber in der konsole sauber erst

telnet ftp.gwdg.de 21 ein

dann user ftp

dann pass blablabla

schreibt er mir schön die willkommennachricht auf den screen.

Wie bekomme ich den inhalt nun in die logdatei??? zumindest die Zeile "hello user"

Irgendwo ist ein Fehler...

Das zweite ist wenn ich in einer shell versuche die datei zu starten kennt er den befehl nicht wenn ich eintippe ip.sh wiso das die datei ist doch da und bereit zum ausführen oder?

Thx und Gruß Malcadon

Geschrieben

Was genau möchtest Du mit dem Script eigentlich erreichen ? Nur Deine eigene IP herrausfinden ? Falls dem so ist, das geht auch einfacher :)

z.B. so :


#!/bin/bash


INTERFACE=ppp0

LOGFILE='/var/log/my-ip.log'

DATE=`date +%D`

MYIP=`ifconfig $INTERFACE | grep "inet addr:" | awk -F ":" '{print $2}' | awk -F " " '{print $1}'`


echo -e "My IP ($DATE) : $MYIP\n" >> $LOGFILE


Geschrieben

Hi,

also Ziel ist es die externe IP rauszufinden. Einfacheren weg kenne ich nicht da VOR dem linux noch nen hardware router hängt....und ifconfig zeigt ja dann logischerweise nur die interne IP an

....

Geschrieben

Je nachdem was du für einen Hardware-Router hast, kann dieser Logfiles an einen externen Logserver schicken. Mein X1200 von Bintec kann das z.B. . Bei meinem Log bekommst du dann automatisch die externe IP-Adresse mit.

Ich lasse also das Log auf meinem Linux-Rechner mitloggen, mach darauf eine Abfrage auf die Logfile und ziehe mit die IP.

So hab ich es realisiert das ich mit meiner DSL-Leitung einen "festen"-Server betreiben kann.

Noch ne anmerkung zum ausführen von scripten: es reicht nicht ip.sh einzugeben, vergess "./" dafor nicht und schau das die berechtigungen alle so elegt sind, das du als aktueller User auch ausführrechte hast.

Greetings

just_itt

Geschrieben

Ok, ich hab mal ne bisschen gefummelt...

Versuch mal das, sollte klappen.


#!/usr/bin/perl


use LWP::Simple;


$logfile="/var/log/my-ip.log";

$now=`date +%D' '%T`;


chomp($now);

open(LOG,">$logfile")

        || die ("Error : Could not open logfile");


$content=get("http://www.privacy.net/");

if ($content =~ /Your IP address is ([\d.]+)/) {

  print LOG "My IP ($now) : $1";

}

else {

   print LOG "Sorry, couldn't determine your IP address ($now)";

}


close($logfile);

Geschrieben

Oder aber so als Bash Script :


#!/bin/bash


LOGFILE='/var/log/myip.log'

DATE=`date +%D' '%T`

MYIP=`lynx --dump [url]www.privacy.net[/url] | grep "Your IP" | awk -F ' '  '{print $6}'`


echo -e "My IP ($DATE) : $MYIP" >> $LOGFILE


Ist vieleicht nicht schön, funktioniert aber... solange www.privacy.net die Page so behält wie sie ist :)

Geschrieben
Original geschrieben von DanielB

Ist vieleicht nicht schön, funktioniert aber... solange www.privacy.net die Page so behält wie sie ist :)

Er wird doch wohl irgendwo ein CGI auf nen Webserver schmeißen können:

--- snip ---

#! /usr/bin/env perl

print "Content-Type: text/plain\n\n$ENV{REMOTE_ADDR}";

--- snip ---

und dann mit...

lynx -dump foo.bar.de/ip.cgi > /home/blub/ip.log

...logen.

Viel schöner und einfacher .... :)

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...