Problem mit cron.daily

anx!ety

New Member
Hallo,

system: debian Etch4.0

Ich will täglich meine Paketlisten automatisch sichern lassen.
Ok, habe dann folgendes Script in /etc/cron.daily/ gespeichert:

Code:
#!/bin/sh
DATUM=`/bin/date '+%Y-%m-%d'`
dpkg --get-selections "*" > /mnt/backups/paketlisten/paketliste_$DATUM.txt

Jedoch wird der Cronjob nicht ausgeführt. Was muss ich machen, dass es funktioniert?

Habe wie gesagt nur das Script in /etc/con.daily/ gespeichert es tut sich jedoch schon seit einigen Tagen nichts. (und ja, das script ist chmod 755)

Muss ich da noch irgendwas aktivieren?
Andere Cronjobs unter cron.d laufen einwandfrei, wie z.B das 5min update von awstats.

PS: Wenn ich
Code:
dpkg --get-selections "*" > /mnt/backups/paketlisten/paketliste_$DATUM.txt
einzeln ausführe funktioniert es einwandfrei.

Mit freundlichen Grüßen,

anx!ety
 
Evtl solltest Du den vollständigen Pfad von dpkg angeben.
Und (noch besser) sollte man seine root-Emails lesen.

huschi.
 
Evtl solltest Du den vollständigen Pfad von dpkg angeben.

Der Befehl funktioniert doch, wenn ich ihn normal in die Konsole eingebe. Nur der Cron scheint nicht zu funktionieren und ich weiß nicht warum.
Die root mails werden bei mir auf einen anderen User geleitet.
Unter /var/mail/user steht aber nichts auffälliges.

Meine Vorgänge waren doch bis jetzt richtig, oder?

Mit freundlichen Grüßen,

anx!ety
 
Wenn das Script unter Cron abgearbeitet wird, hat die abarbeitende Shell nicht unbedingt den gleichen Suchpfad eingestellt wie die Shell, die Du benutzt hast. Daher ist es sinnvoll, bei solchen Scripten immer den vollen Pfad anzugeben, um entsprechende Überraschungen zu vermeiden...

Die Ausgaben der Jobs aus cron.daily werden leider häufig nach /dev/null umgeleitet, so kann es kommen, dass Du nichts in den root-Mails entdeckst.
Ruf das Script mal nicht dadurch auf, dass Du es in cron.daily kopierst, sondern indem Du es als separaten Cronjob von root einrichtest (crontab -e). Alternativ kannst Du auch das '>/dev/null 2>&1' in /etc/crontab in der Zeile, die cron.daily abarbeitet auskommentieren.

Viele Grüße,
LinuxAdmin
 
Die Backupscripte hießen bei mir backup_packetlisten.sh

Die Scripte werden per run-parts in der cron.daily aufgerufen.
run-parts unterstützt beim aktuellen Aufruf keine Punkte im Dateinamen.
Und genau da lag der Fehler. Das Script kurz in "backup_packetlisten" umbenannt und der cronjob funktionierte.

Somit, Problem gelöst!

Mit freundlichen Grüßen,

anx!ety
 
Back
Top