passepartout
Goto Top

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

#!/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

Content-Key: 115755

Url: https://administrator.de/contentid/115755

Printed on: April 23, 2024 at 17:04 o'clock

Mitglied: 75823
75823 May 11, 2009 at 10:22:14 (UTC)
Goto Top
Versuch mal den Script die Rechte für Ausführung geben und lasse in den Crontab nur /etc/backup.sh
Member: Passepartout
Passepartout May 11, 2009 at 10:35:03 (UTC)
Goto Top
Hallo,

danke für Deinen schnellen Tipp, hat leider gar nichts geändert face-sad

Rechte der Datei
-rwxrwx--x   1 root root       208 2009-05-11 10:08 backup.sh

Neuer Inhalt crontab
# m h  dom mon dow   command
*/2 * * * * root /etc/backup.sh > /home/backup.log

Liebe Grüße,
Michael
Mitglied: 75823
75823 May 11, 2009 at 10:48:20 (UTC)
Goto Top
Also nur:
*/2 * * * * root /etc/backup.sh
nicht:
*/2 * * * * root /etc/backup.sh > /home/backup.log
Member: Passepartout
Passepartout May 11, 2009 at 11:16:04 (UTC)
Goto Top
Hallo,

leider keine Änderung face-sad
Was mich wundert, er scheint das Skript aufzurufen, das Skript funktioniert ohne Cron wunderbar... woran kann das liegen?

Liebe Grüße,
Michael
Member: dog
dog May 11, 2009 at 11:27:09 (UTC)
Goto Top
Das könnte z.B. an deinem $PATH liegen.

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
Member: Passepartout
Passepartout May 11, 2009 at 11:35:41 (UTC)
Goto Top
Hallo,

danke für den Hinweis. Habe nun folgende Zeile im Crontab stehen.
*/2 * * * * root /etc/backup.sh &> /home/backup.log

Außerdem habe ich den Pfad von rsync angepasst.
Leider tut sich trotzdem nichts.

Da der Server nur für Dateiverwaltung zuständig ist, habe mailtechnisch gar nichts eingerichtet.

Vielleicht noch eine Idee?
Liebe Grüße,

Michael
Mitglied: 75823
75823 May 11, 2009 at 12:39:36 (UTC)
Goto Top
Ok, mein letzte Versuch. Probiere dann exec hinzufügen:
*/2 * * * * root exec /etc/backup.sh
Member: Passepartout
Passepartout May 11, 2009 at 12:58:31 (UTC)
Goto Top
leider auch das ohne Erfolg...
Member: dog
dog May 11, 2009 at 13:17:00 (UTC)
Goto Top
Bist du dir sicher, dass cron überhaupt ausgeführt wird?

Auf Debian-Systemen sollte sich dann z.B. in der /var/log/syslog folgendes befinden:

May 11 11:11:11 servername /USR/SBIN/CRON[PID]: (root) CMD (/befehl.sh &> /tmp/ouput)

Grüße

Max
Member: Passepartout
Passepartout May 12, 2009 at 05:49:41 (UTC)
Goto Top
Hallo,

hier ein Auszug aus dem Syslog.
Könnte es sein, dass die anderen Fehler für das komische Verhalten verantwortlich sind?

May 11 08:34:02 FileServer /USR/SBIN/CRON[22466]: (root) CMD (root /bin/ bash /etc/backup.sh > /home/backup.log)
May 11 08:34:17 FileServer kernel: [2331966.828018] Filesystem "sdf1": xfs_log_force: error 5 returned.  
May 11 08:34:53 FileServer kernel: [2332002.828026] Filesystem "sdf1": xfs_log_force: error 5 returned.  
May 11 08:35:29 FileServer kernel: [2332038.828027] Filesystem "sdf1": xfs_log_force: error 5 returned.  
May 11 08:36:01 FileServer /USR/SBIN/CRON[22705]: (root) CMD (root /bin/ bash /etc/backup.sh > /home/backup.log)
May 11 08:36:05 FileServer kernel: [2332074.828026] Filesystem "sdf1": xfs_log_force: error 5 returned.  
May 11 08:36:41 FileServer kernel: [2332110.828028] Filesystem "sdf1": xfs_log_force: error 5 returned.  
May 11 08:37:17 FileServer kernel: [2332146.828021] Filesystem "sdf1": xfs_log_force: error 5 returned.  
May 11 08:37:53 FileServer kernel: [2332182.828027] Filesystem "sdf1": xfs_log_force: error 5 returned.  
May 11 08:38:01 FileServer /USR/SBIN/CRON[22867]: (root) CMD (root /bin/ bash /etc/backup.sh > /home/backup.log)
May 11 08:38:29 FileServer kernel: [2332218.828028] Filesystem "sdf1": xfs_log_force: error 5 returned.  
May 11 08:39:05 FileServer kernel: [2332254.828020] Filesystem "sdf1": xfs_log_force: error 5 returned.  
May 11 08:39:41 FileServer kernel: [2332290.828027] Filesystem "sdf1": xfs_log_force: error 5 returned.  
May 11 08:40:01 FileServer /USR/SBIN/CRON[22888]: (root) CMD (root /bin/ bash /etc/backup.sh > /home/backup.log)

Vielen Dank und liebe Grüße,

Michael
Mitglied: 75823
75823 May 12, 2009 at 06:02:38 (UTC)
Goto Top
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.
Member: Passepartout
Passepartout May 12, 2009 at 07:30:13 (UTC)
Goto Top
Hallo,

ich habe es nun hinbekommen.
Habe einfach die gleiche Zeile nicht über
sudo crontab -e
sondern mit vim in /etc/crontab direkt eingetragen.

Nun funktioniert alles wunderbar, ganz lieben Dank!

Michael