• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Script per Cron einmal wöchentlich ausführen lassen

Hi,

ich habe ein backup.sh Script geschrieben, welches mir diverse Sachen sichert. Dieses Script will ich nun einmal wöchentlich per cron ausführen lassen. Am besten jeden Sonntag 0:30Uhr.

Ich habe mir bereits mehrere Anleitungen etc durchgelesen, aber irgendwie bin ich leicht verwirrt - mal ist´s so und mal wieder leicht anders beschrieben! Kann mir mal bitte jemand eine definitive Aussage geben, wie ich was wo einbinden muß, damit mein Script einmal wöchentlich ausgeführt wird?!?!

Fakten:
1. Mein Script liegt unter /root/backup/backup.sh
2. die vorhandene, von mir unberührte /etc/crontab sieht so aus:
Code:
SHELL=/bin/sh
PATH=/usr/bin:/usr/sbin:/sbin:/bin:/usr/lib/news/bin
MAILTO=root
#
# check scripts in cron.hourly, cron.daily, cron.weekly, and cron.monthly
#
-*/15 * * * *   root  test -x /usr/lib/cron/run-crons && /usr/lib/cron/run-crons >/dev/null 2>&1
3. Es existieren ausserdem diverse Verzeichnisse zu cron unter /etc: cron.d, cron.daily, cron.hourly, cron.monthly, cron.weekly - teilweise mit Shellscripten und Textfiles gefüllt.

Danke und Gruß.
 
Als root: crontab -e

und da die Zeile rein:

30 0 * * sun /root/backup/backup.sh

Root Tab liegt unter /var/spool/cron/tabs/

Gruß Dominik
 
Ok, ich habe das jetzt mal in die crontab so eingetragen und werde mich am Montag mal überraschen lassen. :wink:

Eins macht mich aber etwas stutzig: seit ich nun die /etc/crontab geändert habe, bekommt root im viertelstundentakt eine Mail mit diesem Inhalt:
"/bin/sh: root: command not found"

Was soll das denn nun bedeuten?

EDIT: Ich muss dazu sagen, ich habe vorher, statt über Konsole mit crontab -e, die /etc/crontab im Editor offen, um was einzutragen. Habe dann aber alle Eintragungen von mir wieder gelöscht und trotzdem gespeichert! Also der Stand ist auf jeden Fall der originale, aber die /etc/crontab hat nicht die Eintragung, die die Datei unter /var/spool/cron/tabs/root hat - diese hat zusätzlich die Zeile, die ich per vi mittels Konsole hinzugefügt habe.
 
Die Shell versucht den Befehl "root" auszuführen. Wenn du mit crontab -e editierst legt er aber individuelle Crontabs an.
(wahrscheinlich liegts daran, ich arbeite nicht mit dieser useroption)

==> als user root einfach crontab -e und dann da das root in der Befehlszeile weglassen.



SHELL=/bin/sh
PATH=/usr/bin:/usr/sbin:/sbin:/bin:/usr/lib/news/bin
MAILTO=root
#
# check scripts in cron.hourly, cron.daily, cron.weekly, and cron.monthly
#
-*/15 * * * * root test -x /usr/lib/cron/run-crons && /usr/lib/cron/run-crons >/dev/null 2>&1
 
cron.weekly = "Frühstens nach 7 Tagen seit des letzten weekly-Runs".
(Entsprechend gilt es auch für cron.daily, usw.)
D.h. bist du eine Woche im Urlaub, läuft hinterher dein Script gleich beim Boot.
 
Wie kann ich einen CronJob als User und erst nach dem Start von KDE ausführen lassen?
Habs mit cron.weekly versucht, hat aber nicht funktioniert, mit "crontab -e" als User auch nicht (existiert anscheinend gar nicht).
 
und was hat diese Zeile zu bedeuten ??

-*/15 * * * * root test -x /usr/lib/cron/run-crons && /usr/lib/cron/run-crons >/dev/null 2>&1
 
Oben