cron wird nicht ausgeführt
Der Cronjob für eine einfache automatische Datensicherung funktioniert leider nicht
Hallo liebe Forumsgemeinde,
ich habe einen (File-)Server auf xubuntu-Basis eingerichtet, auf dem ich für unser kleines Netzwerk die Daten zentral speichere.
Ich möchte diese auf eine externe Festplatte sichern, die auf /media/disk eingehängt ist.
Dazu verwende ich folgende Bash
Die auch, wenn ich sie aus der Konsole aufrufe, einwandfrei das tut, was ich möchte.
Nun habe ich in der Crontab folgende Zeile drin (aus debug-Zwecken hatte ich vorerst auf alle 2 Minuten eingestellt)
In den Zugriffsstatistiken registriert der Server auch, dass cron was tut, aber in den entsprechenden Ordner werden keine Dateien gesichert.
Leider wird auch in die backup.log nichts geschrieben.
Hat vielleicht jemand einen Tipp für mich? Für Hilfe wäre ich dankbar und sende Euch
Grüße aus Hamburg,
Michael
Hallo liebe Forumsgemeinde,
ich habe einen (File-)Server auf xubuntu-Basis eingerichtet, auf dem ich für unser kleines Netzwerk die Daten zentral speichere.
Ich möchte diese auf eine externe Festplatte sichern, die auf /media/disk eingehängt ist.
Dazu verwende ich folgende Bash
#!/bin/bash
DATUM=`date +%y-%m-%d~%H:%M`
mv /media/disk/_current/ /media/disk/${DATUM}/
rsync -a --link-dest=/media/disk/${DATUM}/ /home/ /media/disk/_current/
Die auch, wenn ich sie aus der Konsole aufrufe, einwandfrei das tut, was ich möchte.
Nun habe ich in der Crontab folgende Zeile drin (aus debug-Zwecken hatte ich vorerst auf alle 2 Minuten eingestellt)
# m h dom mon dow command
*/2 * * * * root /bin/bash /etc/backup.sh > /home/backup.log
In den Zugriffsstatistiken registriert der Server auch, dass cron was tut, aber in den entsprechenden Ordner werden keine Dateien gesichert.
Leider wird auch in die backup.log nichts geschrieben.
Hat vielleicht jemand einen Tipp für mich? Für Hilfe wäre ich dankbar und sende Euch
Grüße aus Hamburg,
Michael
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 115755
Url: https://administrator.de/forum/cron-wird-nicht-ausgefuehrt-115755.html
Ausgedruckt am: 14.05.2025 um 22:05 Uhr
12 Kommentare
Neuester Kommentar

Versuch mal den Script die Rechte für Ausführung geben und lasse in den Crontab nur /etc/backup.sh

Also nur:
*/2 * * * * root /etc/backup.sh
nicht:
*/2 * * * * root /etc/backup.sh > /home/backup.log
*/2 * * * * root /etc/backup.sh
nicht:
*/2 * * * * root /etc/backup.sh > /home/backup.log
Das könnte z.B. an deinem $PATH liegen.
Bedenke:
loggt nur den STDOUT nach Datei.
Du willst aber STDOUT und STDERROR haben.
Dazu musst du schreiben:
Vermutlich wird es darauf hinauslaufen, dass rsync nicht gefunden wird.
Darum solltest du in cron-Scripts unbedingt den absoluten Pfad zu einem Programm verwenden (den findest du mit
Wenn dein Server richtig konfiguriert ist, solltet du übrigens E-Mails mit den Fehlermeldungen erhalten haben.
Grüße
Max
Bedenke:
> Datei
loggt nur den STDOUT nach Datei.
Du willst aber STDOUT und STDERROR haben.
Dazu musst du schreiben:
&> Datei
Vermutlich wird es darauf hinauslaufen, dass rsync nicht gefunden wird.
Darum solltest du in cron-Scripts unbedingt den absoluten Pfad zu einem Programm verwenden (den findest du mit
which rsync
)Wenn dein Server richtig konfiguriert ist, solltet du übrigens E-Mails mit den Fehlermeldungen erhalten haben.
Grüße
Max

Ok, mein letzte Versuch. Probiere dann exec hinzufügen:
*/2 * * * * root exec /etc/backup.sh
*/2 * * * * root exec /etc/backup.sh

Ist das was mit Formatierung ? Oder hasst du da ein Leerzeichen zwischen /bin/ und bash? Zweitens, du hasst da ein root zu viel. Syslog soll so aussehen:
(root) CMD ( /bin/bash /etc/backup.sh > /home/backup.log )
oder auch so:
(root) CMD ( exec /etc/backup.sh > /home/backup.log )
aber nich wie es bei dir der Fall ist.
(root) CMD ( /bin/bash /etc/backup.sh > /home/backup.log )
oder auch so:
(root) CMD ( exec /etc/backup.sh > /home/backup.log )
aber nich wie es bei dir der Fall ist.