crontab Fehlerhaft

SandMan1987

Registered User
ich erhalte folgende Fehlermeldung dauernd per mail:

Code:
root@sandman> root cd / && run-parts --report /etc/cron.hourly
/bin/sh: root: command not found

und

Code:
oot test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
/bin/sh: root: command not found


in etc/crontab habe ich folgendes gefunden:

Code:
# m h dom mon dow user  command
28 * * * * root cd / && run-parts --report /etc/cron.hourly
10 4 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
53 3 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
43 4 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#


#1,11,21,31,41,51 * * * * root /root/confixx/confixx_counterscript.pl
#9 5 * * * root /auto_reg_vz3.pl
~

"root /auto_reg_vz3" dürfte von Confixx sein, was ich nicht mehr nutzte, also habe ich es ausgeklammert. Aber woher kommt die Fehlermeldung, der rest ist doch ganz normal für Debian etch?
 
Last edited by a moderator:
Er kann das Kommando "root" nicht finden. Ist ja auch logisch, da dieses in der Crontab den Benutzer definiert, unter dem der Befehl ausgeführt werden soll.
 
Hallo,

Du wirst nicht einfach was aus dem Crontab kopieren können und auf der Console ausführen können, wenn du die Syntax mißachtest:
Code:
root cd / && run-parts --report /etc/cron.hourly

Das "root" bedeutet in der Datei crontab: Führe den nachfolgenden Befehl als Benutzer "root" aus.

Wenn du jetzt allerdings "root" in die Console eintippst, dann kann der Server das nicht interpretieren weil er einen Befehl erwartet und "root" ist nunmal kein gültiger Befehl :)
 
Hallo,
Du wirst nicht einfach was aus dem Crontab kopieren können und auf der Console ausführen können, wenn du die Syntax mißachtest:

wie kommst du darauf das ich es per Console eingetippt habe?

Ich bekomme die oben geannte Fehlermeldung per EMAIL, ich tippe nichts in die Console ein.
 
Das hier sieht für mich eher nach Konsoleeingabe aus:
Code:
root@sandman> root cd / && run-parts --report /etc/cron.hourly
 
Das steht in der Email als Betreff:
Code:
root@sandman> root cd / && run-parts --report /etc/cron.hourly
folgendes steht in der Email:
Code:
/bin/sh: root: command not found

die mail wird jeweils an root@mein-server-domain.xy verschickt bzw. von mir empfangen
 
Witzigerweise ist dieser Befehl auch auskommentiert?
:confused:
Code:
#28 * * * * root cd / && run-parts --report /etc/cron.hourly
 
sry mein Fehler hier beim posten! Ich hatte versuchsweise das auskommentiert und dann hier den post erstellt. Aber ich draf es ja gar nicht auskommentieren da es ja zu debian gehört.

Die crontab datei war auch die ganze Zeit ohne "#" wie es sein sollte.
 
Du hast vermutlich eine syntaktisch kaputte benutzerspezifische crontab auf dem System. Gib als Benutzer root `crontab -l` ein und poste die Ausgabe bzw. durchsuche die benutzerspezifischen crontabs in /var/spool/cron/crontabs/ selbst.
 
Code:
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user  command
28 * * * * root cd / && run-parts --report /etc/cron.hourly
10 4 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
53 3 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
43 4 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#

# 0 3 * * * /home/checkrootkit.sh

in /var/spool/cron/crontabs/ befidet sich auch nur eine crontab datei vom user root die sieht genauso aus...
 
hm wenn du das sagst ^^

also mit man 5 crontab sehe ich die Description, das einzige was mir auffält ist das deren example etwas anders aussieht, meintest du das?
 
Vergleiche die beiden Zeilen:
Code:
43 4 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
0 3 * * * /home/checkrootkit.sh
Nur weil sie gleich aussehen, sind sie es nicht.
In der einen steht die zusätzliche Spalte "root" um den User zu benennen. Dies findet sich in den allgemeinen Cron-Jobs unter /etc/cron.d/* bzw. cron.conf.
In einer crontab (unter /var/spool/cron/crontabs/) steht der User bereits fest. Diese Spalte entfällt daher an dieser Stelle.

PS: Und dies alles steht in der Manpage. Das meint Roger.

huschi.
 
ich habe daran auch schon geacht, aber was mich irritierte war folgendes in der datei:

# /etc/crontab: system-wide crontab

wodruch ich dachte das "root" auch dort drin stehen müsste
 
Das Problem bei dem dauernden hin und her ist, dass keiner weiß, wie nun Deine Zeile in Wirklichkeit aussieht und welchen Fehler sie verursacht.
Vielleicht kannst Du einfach mal für Klarheit sorgen.

Ließt Du die Email an root? (Nein, dann solltest Du dies tun. Dort stehen u.a. auch Cron-Fehler drin.)

huschi.
 
Back
Top