Archiv verlassen und diese Seite im Standarddesign anzeigen : sntp per cron nicht bekannt.
Hallo,
bekomme per Mail diese Meldung, obwohl die lokale Ausführung des scripts geht.
/etc/cron.myself/time: line 11: sntp: command not found
/etc/cron.myself/time: line 12: sntp: command not found
/etc/cron.myself/time: line 12: hwclock: command not found
so schaut mein cron.d/time aus
45 00 */3 * * root /etc/cron.myself/time
und so schaut das time files aus
#!/bin/sh
###################
#Set Time from Timeserver #
###################
sntp ptbtime1.ptb.de
sntp -r ptbtime1.ptb.de; hwclock --systohc
Das time file in cron.myself ist root.root und ausführbar.
Thx
Timm
absolute Pfade verwenden oder PATH setzen.
Hi marce,
du meinst ins time File oben "PATH = /usr/bin /usr/sbin"
Grüße
Timm
du meinst ins time File oben "PATH = /usr/bin /usr/sbin"Besser ist es, den bestehenden Pfad zu erweiteren als komplett zu ersetzen:
PATH=$PATH:/usr/bin:/usr/sbin
Gruss Pit.
Hallo,
äh wird denn mit meinem Beispiel der PATH für das ganze system geändert?
Wenn ich auf der Console $PATH eingebe erscheint dies hier:
lsrv03:~/inst-sys # $PATH
-bash: /sbin:/usr/sbin:/usr/local/sbin:/root/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/usr/games: No such file or directory
Ich dachte nämlich das bei meinem Script, da kein PATH drinstnd, auch keiner geht und ich den für dieses Script einfach hinzufüge, das aber nicht das gesamte im System ändert.
Grüße
Timm
unter Cron sind die Umgebungsvariablen anders - nicht leer, nur anders. Du erweiterst also etwas, was vorhanden ist. Für dieses Script, nicht für das System.
Mehr dazu - gibt's in jedem Bash-Tuturial in Bereich "Sichtbarkeit von Variablen".
Hi,
jetzt kommt diese Mail.
/etc/cron.myself/time: line 3: PATH: command not found
/etc/cron.myself/time: line 12: sntp: command not found
/etc/cron.myself/time: line 13: sntp: command not found
/etc/cron.myself/time: line 13: hwclock: command not found
Mir kommt vor das da etwas anderes nicht stimmt, wie wenn er unter cron garnichts kennt. Gibt es denn eine conf Datei wo dies für cron definiert ist?
Thx
Timm
Stormbringer
19.12.10, 09:44
Und wenn Du bspw.
/usr/bin/sntp ptbtime1.ptb.de
/usr/bin/sntp -r ptbtime1.ptb.de; /usr/bin/hwclock --systohc
schreibst?
Wobei Du /usr/bin durch die korrekte Pfadangabe ersetzen mußt, die du per
"which sntp" und "which hwclock" ermitteln kannst.
[CODE]/etc/cron.myself/time: line 3: PATH: command not found
Siehe dir nochmal pibis Beispiel an...
Hi,
das mit dem absoluten Pfad ist mir schon klar, aber ich möchte ja rausfinden/verstehen warum das so nicht klappt. Auf meinem anderem Server geht es ja.
Habe mal die Zeile mit PATH=$PATH geändert, mal sehn was das bewirkt.
Update: Mit der Erweiterung ging es, ich versteh zwar nicht warum, da die Dateien ja in den Pfaden waren.
Grüße
Timm
Es wurde zwar alles schon gesagt, aber nochmals als Zusammenfassung:
Update: Mit der Erweiterung ging es, ich versteh zwar nicht warum, da die Dateien ja in den Pfaden waren.1. Wenn Du ein Script ueber cron starten laesst, besitzt es ein anderes Environment als wenn Du es direkt als User startest. Dazu gehoert auch der Suchpfad fuer ausfuehrbare Files.
2. die Files waren eben nicht im Suchpfad von cron, sonst haette auf Anhieb ja alles geklappt und Du haettest diese Anfrage nicht schreiben muessen
3. Gewoehne Dir an, in Scripten, die via cron gestartet werden sollen, generell den volle Pfad anzugeben. Da bist Du auf der sicheren Seite.
4. Wenn Du den Suchpfad aendern willst, dann erweitere ihn und ersetze ihn nicht komplett.
5. Es gibt sehr viele gute Beispiele und Tutorials im Internet.
Gruss Pit.
Update: Mit der Erweiterung ging es, ich versteh zwar nicht warum, da die Dateien ja in den Pfaden waren.
Es lag bei deinem Eintrag an den Zwischenräumen vor und hinter dem "=", außerdem werden die Pfade mit einem ":" getrennt.
du meinst ins time File oben "PATH = /usr/bin /usr/sbin"
Richtig wäre also:
PATH="/usr/bin:/usr/sbin"
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.