Dio Geschrieben 26. Februar 2008 Geschrieben 26. Februar 2008 Hallo zusammen, ich habe ein Problem mit einem Shell Skript das alle 30 Minuten per Cronjob ausgeführt werden soll. Das Skript macht nichts weiter als zu überprüfen ob ppp0 eine bestimmte IP hat und schreibt dies dann in eine Logdatei. Wenn ich das Skript manuell ausführe funktioniert alles. Sobald ich das Skript aber über cron ausführen lasse, schreibt er mir immer "IP falsch" obwohl die IP korrekt ist. #!/bin/sh IPCHECK=$(ifconfig ppp0 | grep "inet addr:" | tr -s "P-t-P" " " | cut -d ":" -f 2) if [ "$IPCHECK" = "192.168.1.1" ] ; then date >> /root/logdatei echo "IP ok" >> /root/logdatei else date >> /root/logdatei echo "IP falsch" >> /root/logdatei fi Cronjob (root): 15,45 * * * * /root/test.sh Jemand eine Idee woran das liegen könnte? Viele Grüße, Marcus
TheFinn Geschrieben 26. Februar 2008 Geschrieben 26. Februar 2008 crond führt einen crontab-Eintrag zwar mit den Rechten des Benutzers aus, für den der crontab-Eintrag erstellt wurde, aber noch lange nicht in dessen Umgebung. Daher habe ich mir z.B. vor langer Zeit angewöhnt, in crontab-Einträgen grundsätzlich vollständige Pfade anzugeben. Laß Dir doch mal zum Überprüfen die komplette ifconfig-Ausgabe ins Log schreiben, bevor Du sie weiterverarbeitest. Die LOCALE beeinflußt zum Beispiel die Ausgabe, so daß evtl. Dein grep keinen Erfolg mehr hat. Edit: bzw. Dein ifconfig wird schlicht nicht gefunden, fällt mir gerade so auf
Dio Geschrieben 26. Februar 2008 Autor Geschrieben 26. Februar 2008 Hi.. Danke für den Hinweis. Daran hat es natürlich gelegen.. Hab jetzt einfach ein sudo mit in den cronjob geschrieben. Jetzt funktioniert es. Viele Grüße, Marcus
Empfohlene Beiträge
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 erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden