PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Cron erkennt ausführen als user nicht, hällt es für cmd



Svenny
06.04.04, 19:22
seitdem ich meine crontab kurz modifiziert hab bekomm ich immer die mail vom cron daemon "sh: command root not found" weil in der crontab ja drinsteht:



17 * * * * root run-parts --report /etc/cron.hourly


also zwischen dem * nach der 17 und den 3 * ist nen tab, dann vorm und nachm root wieder n tab. aber wieso nimmt er es als command?

bei den anderen einträgen die so aussehen gehts doch auch ohne probleme......

hab schon gegooglet aber irgendwie gabts dort nirgends ne lösung, bzw nen lösungsansatz


System ist Debian Sarge, Cron ist 3.0pl1-83

Guti
07.04.04, 06:22
Hi,

ich hab's auch nicht gewusst, deshalb mal nachgeschlagen, vielleicht hilft es dir:

Den Eintrag benutzername gibt es nur in der Datei /etc/crontab und in Dateien des Verzeichnisses /etc/cron.d...
Dieses Feld ist in den benutzerspezifischen crontab-Dateien (die im Verzeichnis /var/spool/cron gespeichert sind) nicht vorhanden und auch nicht notwendig, da die UID durch den Dateinamen angezeigt wird.
Aus Handbuch zur Linux-Systemverwaltung, Nemeth, Snyder, Hein, Verlag Markt+Technik

Wenn das bei dir zutreffen sollte, ist es klar, das cron root als Befehl interpretiert.

Gruss
Henry

Svenny
07.04.04, 12:04
naja der eintrag steht bei mir ja direkt in der /etc/crontab ..

core
07.04.04, 18:19
Entferne das dort und als root gibst du ein "crontab -e"
Nun kann du die crontab Einträge von root ändern.
17 * * * * run-parts --report /etc/cron.hourl
Ohne tabs und ohne usernamen.
Speichern, und fertig

Svenny
07.04.04, 22:34
wenn ich crontab -e mache seh ich die /etc/crontab...

Guti
08.04.04, 08:27
Hi,

wenn ich crontab -e mache seh ich die /etc/crontab...
ich wuerde sagen, das ist dein Problem!

crontab -e editiert die crontab-files fuer die einzelnen User.
Es sieht also so aus, was in /etc/crontab steht, steht bei dir identisch auch in /var/spool/cron/root. Sowas passiert z.B. wenn du als root crontab /etc/crontab ausfuehrst, kann aber sicherlich auch andere Ursachen haben.
In der /var/spool/cron/root darf aber kein Username angegeben sein (siehe weiter oben).
Daher kommt die Fehlermeldung und nicht von der /etc/crontab.

Entweder loeschst du den crontab-file fuer root oder, was besser ist, nicht die /etc/crontab aendern, sondern die fuer root, also mit crontab -e (siehe core).

Gruss
Henry

Svenny
08.04.04, 11:58
jop habs problem behoben, lag daran dass die root crontab die /etc/crontab war, hab diese einfach gelöscht und cron restartet.