Zum Inhalt springen

wo zum Teufel is der Fehler ( shellscript )


Malcadon

Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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


Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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);

Link zu diesem Kommentar
Auf anderen Seiten teilen

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 :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

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 .... :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

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...