cronjob für ein script..wo klemmt es

blub4747

Lt. Junior Grade
Registriert
Juli 2009
Beiträge
415
Hi forum,

Ich habe mir ein kleines script gebaut um eine tägliche IP in text file zu dumpen und wollte es per cronjob als root täglich abfrahren lassen.
Allerdings klemmt es noch irgenedwo und frage jetzt mal um hilfe.

hier das script

#!/bin/bash

curl ipv4.icanhazip.com >> /var/log/dailyip.txt

welches unter
/usr/local/sbin
liegt

und der cronjob

16 20 * * * root /usr/local/sbin/ipupdate.sh

mit testweise flexsiblen zeiten.

sorry das war ein kopier fehler von mir.
auf den richtigen maschine ist es drinnen.
und der eintrag ist auch koriegiert.
 
Zuletzt bearbeitet:
Moin,

ist das ipupdate Script denn ausführbar? Und was soll der "root" Ausdruck in dem Cron Eintrag?

Gruß
/Gob
 
DerGoblin2k schrieb:
Moin,

ist das ipupdate Script denn ausführbar? Und was soll der "root" Ausdruck in dem Cron Eintrag?

Gruß
/Gob

hier sind ist ein ls -la

-rwxr-xr-x 1 root staff 70 Jan 24 10:28 ipupdate.sh
Ergänzung ()

DerGoblin2k schrieb:
Moin,

ist das ipupdate Script denn ausführbar? Und was soll der "root" Ausdruck in dem Cron Eintrag?

Gruß
/Gob

hier sind ist ein ls -la

-rwxr-xr-x 1 root staff 70 Jan 24 10:28 ipupdate.sh

obwohl ich mich gerade frage, was das staff sein soll...sehe ich gerade zum ersten mal..hmm

aeh damit das script als root ausgeführt wird...? andern falls wird es nicht von selbst aus laufen...denke ich.
 
Zuletzt bearbeitet:
blub4747 schrieb:
hier sind ist ein ls -la

-rwxr-xr-x 1 root staff 70 Jan 24 10:28 ipupdate.sh
Ergänzung ()

hier sind ist ein ls -la

-rwxr-xr-x 1 root staff 70 Jan 24 10:28 ipupdate.sh

obwohl ich mich gerade frage, was das staff sein soll...sehe ich gerade zum ersten mal..hmm

aeh damit das script als root ausgeführt wird...? andern falls wird es nicht von selbst aus laufen...denke ich.

Cronjobs laufen eigentlich immer als root. Staff ist die Gruppe. Und bei manuellem Aufruf funktioniert es?
 
DerGoblin2k schrieb:
Cronjobs laufen eigentlich immer als root. Staff ist die Gruppe. Und bei manuellem Aufruf funktioniert es?

Wenn die Cronjobs als root, wenn sie von root erstellt worden sind.
Ja wenn ich das script manuell laufen lasse funktioniert es.
sehr komisch.
 
Noch ein Hinweis, gib den vollständigen Pfad zu curl bitte an, in cron hast du keine Umgebungsvariablen wie z.B. path.
 
hier das aktualisierte script

#!/bin/bash

/usr/bin/curl ipv4.icanhazip.com >> /var/log/dailyip.txt

als pfad habe ich den von den script angeben
/usr/local/sbin/ipupdate.sh

meinetst du den oder einen anderen ?
 
So meinte ich das, woher soll er sonst wissen in welchem Pfad er curl findet. So müsste es eigentlich gehen.
 
ja aber...oder leider ist die datei
dailyip.txt immer noch unferändert

-rw-r--r-- 1 root root 288 Jan 24 11:04 dailyip.txt
und ich hatte den cronjob auf 11:21 zu probe umgestellt.
mist!
 
Hast du wie oben gepostet "root" drinstehen im cronjob? Mach das root mal raus, weil:

Hier ist noch kurz eine Übersicht, wie sich der Cronjob aufbaut:

* * * * * Befehl der ausgeführt werden soll
- - - - -
| | | | |
| | | | +----- Wochentag (0 - 7) (Sonntag ist 0 und 7; oder Namen, siehe unten)
| | | +------- Monat (1 - 12)
| | +--------- Tag (1 - 31)
| +----------- Stunde (0 - 23)
+------------- Minute (0 - 59; oder Namen, siehe unten)

cron führt das Script immer mit dem User aus der es reinstellt. Stellt es root rein wirds als root ausgeführt. Jeder User sieht seine eigene crontab.
Ergänzung ()

Ein Beispiel wie es bei mir funktioniert unter Ubuntu 16.04:

0 0 * * * /root/zabbix_sync.sh >> /tmp/zabbix_sync.log
 
Zuletzt bearbeitet:
ich habs jetzt so aussehened

44 11 * * * /usr/local/sbin/ipupdate.sh
mal sehen was dieses mal passiert
also dieses mal hat funktioiert

-rw-r--r-- 1 root root 302 Jan 24 11:44 dailyip.txt

aber zur gegenprobe habe ich noch einen für 11:50 angesetzt und die ip erneuert.
und es geht immer noch!
-rw-r--r-- 1 root root 316 Jan 24 11:50 dailyip.txt

vielen dank leute!
 
Zuletzt bearbeitet:
Zurück
Oben