Hallo,
ich möchte ein Srkipt alle 11 Stunden ausführen lassen. Mein Computer ist aber nicht die ganze Zeit an; fährt er hoch und die letzte Ausführung ist mehr als 11 Stunden her, soll das Skript auch aus geführt werden. Deswegen habe ich an anacron gedacht.
Als ersten Schritt habe ich in /etc/cron.hourly/ einen symbolischen Link zu meinem Script erstellt:
$ ls -la /etc/cron.hourly/ total 24 drwxr-xr-x 2 root root 4096 Apr 24 11:27 . drwxr-xr-x 148 root root 12288 Apr 24 11:30 .. lrwxrwxrwx 1 root root 66 Apr 24 11:27 karma -> /home/x/y/script.sh -rw-r--r-- 1 root root 102 Feb 9 2013 .placeholder
Die Skripte in /etc/cron.hourly/ sollte eigentlich jede Stunde ausgeführt werden:
$ grep cron.hourly /var/log/syslog Apr 24 10:17:01 x CRON[6215]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly) Apr 24 11:17:01 x CRON[7909]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly) Apr 24 12:17:01 x CRON[3824]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Allderdings habe ich eben nun auf 12:17 uhr gewartet, und das karma-Skript wurde nicht ausgeführt. Woran liegt das? Wenn ich es manuell ausführe klappt es. Und da der symbolische Link keinen Punkt enthält sollte das gehen, oder? Oder darf das Original-Skript auch keinen Punkt enthalten?
Im nächsten Schritt frage ich mich, wie es einstelle dass die Ausführung alle 11 Stunden geschieht?
Dem Wiki Eintrag konnte ich das nicht entnehmen.
$ cat /etc/anacrontab # /etc/anacrontab: configuration file for anacron # See anacron(8) and anacrontab(5) for details. SHELL=/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin HOME=/root LOGNAME=root # These replace cron's entries 1 5 cron.daily run-parts --report /etc/cron.daily 7 10 cron.weekly run-parts --report /etc/cron.weekly @monthly 15 cron.monthly run-parts --report /etc/cron.monthly
Wieso ist hier nicht /etc/cron.hourly aufgeführt? Ich hätte vermutet, dass ich bei diesem Eintrag dann die Periode verändern muss (wobei die in Tagen angegeben ist?).
Ist das überhaupt möglich?
Viele Grüße weildiezeit