• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Die Bildungsoffensive hier im Forum geht weiter! Jetzt sollen Kreativität und technische Möglichkeiten einen neue Dimension erreichen. Das Thema in diesem Monat lautet - Verkehrte Welt - Hier geht es lang --> Klick

Cron Jobs laufen nicht

  • Ersteller Ersteller fablei
  • Erstellt am Erstellt am

fablei

Gast
Hallo,
ich habe folgnedes Problem.

Ich habe in meiner /etc/crontab einige täglich wiederkehrende Befehle, die ausgeführt werden sollen. Leider passiert nix.

Die crons sind alle als root eingetragen.

Wo kann das Problem liegen?

Viele Grüße,
FAbian
 
Wo kann das Problem liegen?
Obwohl meine Frau Druck macht, ist meine Kristallkugel immer noch nicht repariert. Also kann ich nur raten:
  • Keine Ausführrechte fürs Script
  • falscher Pfad
  • falsche Zeitangaben (es läuft zu anderen Zeiten als gedacht)
  • ...
Schau doch mal ob root Mail hat.
 
  • Like
Reaktionen: xgx7
Danke für die schnelle Antwort.

Das Skript ist ein einfacher Kopierbefehl zum Backup eines Ordners. (cp -r Quelle Ziel). Rechte sollte es dann also haben, oder? Wenn man das in der Shell eingibt läuft es wunderbar.

Root hat keine Mail.

Allerdings hat der /etc/crontab unter root mit ls -al nur folgende Rechte:
"-r--r--r--" Gruppe: wheel

Ist das korrekt?
 
/etc/crontab hat - meines Wissens - ein Extra-Argument, das die anderen nicht haben:
minute hour mday month wday who command
Hast Du dort den User angegeben, unter dem es laufen soll?
 
Wie schon oben geschrieben:

Die Crons sind alle als root eingetragen.

FAbian
 
Eigentlich sollte man die /etc/crontab nicht direkt editieren sonder nur per crontab -e. Immerhin wird die crontab nicht mehr direkt vom cron sondern der cron vom launchd aufgerufen. Wahrscheinlich hat niemand den launchd davon in Kenntnis gesetzt.
Gruß Pepi
 
Hallo,
hier mal die /etc/crontab

Komisch ist übrigens, dass Crons die von mySql Admin gestartet werden ausgeführt werden? Diese sind allerdings einem anderen Nutzer zugeordnet.
Code:
# The periodic and atrun jobs have moved to launchd jobs
# See /System/Library/LaunchDaemons
#
# minute        hour    mday    month   wday    who     command
0       3       *       *       *       root    /etc/ccc.SqRWoKLK.txt >> /private/var/log/cccron.log ## CCC task: http_taeglich
0       2       *       *       *       root    cp -r /Volumes/Daten1/httpDaten/mystudy /Volumes/Daten2/http_backup/mystudy_`date +%m_%d_%y`
5       2       *       *       *       root    cp -r /Volumes/Daten1/httpDaten/moodle /Volumes/Daten2/http_backup/moodle_`date +%m_%d_%y`
10      2       *       *       *       root    cp -r /Volumes/Daten1/httpDaten/moodledata /Volumes/Daten2/http_backup/moodledata_`date +%m_%d_%y`
c1d8a:~ root#

Wie kann ich denn der launchd sagen das sie sich bitte mal um die crons kümmert?

Vielen Dank,
Fabian
 
Hallo,
hier mal die /etc/crontab

Komisch ist übrigens, dass Crons die von mySql Admin gestartet werden ausgeführt werden? Diese sind allerdings einem anderen Nutzer zugeordnet.
Code:
# The periodic and atrun jobs have moved to launchd jobs
# See /System/Library/LaunchDaemons
#
# minute        hour    mday    month   wday    who     command
0       3       *       *       *       root    /etc/ccc.SqRWoKLK.txt >> /private/var/log/cccron.log ## CCC task: http_taeglich
0       2       *       *       *       root    cp -r /Volumes/Daten1/httpDaten/mystudy /Volumes/Daten2/http_backup/mystudy_`date +%m_%d_%y`
5       2       *       *       *       root    cp -r /Volumes/Daten1/httpDaten/moodle /Volumes/Daten2/http_backup/moodle_`date +%m_%d_%y`
10      2       *       *       *       root    cp -r /Volumes/Daten1/httpDaten/moodledata /Volumes/Daten2/http_backup/moodledata_`date +%m_%d_%y`
c1d8a:~ root#

Wie kann ich denn der launchd sagen das sie sich bitte mal um die crons kümmert?

Vielen Dank,
Fabian

Hast Du den Rechner neu gestartet nach dem Ändern? Möglicherweise wurde cron nicht aktiv als Dämon, weil die crontab beim Start leer war.

Ist Dein Rechner wach zu den angegebenen Zeiten? Wenn er im Ruhezustand ist, macht er keine cronjobs.
 
Hallo,
da es sich um einen Server handelt, ist er immer am laufen. Einen Neustert habe ich nicht gemacht, seitdem ich die Änderungen an der crontab mit Cronnix vorgenommen habe.

Kann ich den Crondaemon denn ohne Neustart des Systems neustarten?
 
Danke für die Antwort,
aber nun steht in meinem Terminal folgendes:

Code:
c1d8a:/ root# sudo cron
cron: can't lock /var/run/cron.pid, otherpid may be 80: Resource temporarily unavailable

Hat das was mit meinem Problem zu tun, oder mache ich einfach nur was falsch?

Gruß,
Fabian
 
Du bist als root eingeloggt! Warum?

Als root kannst Du sudo weglassen und einfach "cron" aufrufen.
 
cron checkt von alleine minütlich alle cronfiles.

-Ralph
 
Da cron und andere seit 10.4 von launchd ersetzt werden: Warum probierst Du es nicht mit launchd? ;-)
 
Es kann sehr gute Gründe dafür geben, launchd nicht zu benutzen und stattdessen die /etc/crontab direkt zu verändern. Das ist auf einem Server vor allem die einfachste und bequemste Lösung.

Der Fehler ist höchstwahrscheinlich, dass das Programm "cp" nicht gefunden wird. Du kannst nicht davon ausgehen, dass cron Programme in bestimmten Umgebungen oder Shells startet. Deshalb sind keine Suchpfade voreingestellt. Das könnte sonst auch zu erheblichen Sicherheitsproblemen führen.

Versuche bitte, die Angabe "cp" durch die vollständige Angabe /bin/cp zu ersetzen.