Gdy komputer zostanie zamknięty (lub demon cron w innym przypadku nie byłby uruchomiony), zadania cron nie zostaną uruchomione.
Jeśli masz zadania, które chcesz uruchomić po fakcie w czasie, gdy komputer jest wyłączony, użyj anakronu. Zainstalowane domyślnie, zobacz „man anacron”, „man anacrontab” lub plik / etc / anacrontab, aby uzyskać więcej informacji.
Ubuntu domyślnie używa anacrona do wpisów crontab w:
/etc/cron.daily
/etc/cron.weekly
/etc/cron.monthly
pozostawiając pozostałe crontabs do obsługi przez głównego demona cron, w szczególności:
/etc/crontab
/etc/cron.d
/var/spool/cron
UWAGI
Sam Anacron nie działa jako demon, ale polega na skryptach startowych systemu i na uruchamianiu samego crona.
Na polu Ubuntu 8.04, na który patrzę, /etc/init.d/anacron jest uruchamiany przy starcie systemu, i ponownie przez crona każdego ranka o 07:30.
Plik README na /usr/share/doc/anacron/README.gz zawiera nieco więcej informacji niż jest to zawarte na stronach podręcznika.
PRZYKŁADY
W przypadku prostych zadań „codziennych”, „cotygodniowych”, „miesięcznych” umieść kopię lub dowiązanie symboliczne do skryptu w jednym z katalogów /etc/cron.{daily|weekly|monthly} powyżej. Anacron zajmie się uruchamianiem go codziennie / co tydzień / co miesiąc, a jeśli komputer jest wyłączony w dniu, w którym normalnie uruchamiane byłyby „cotygodniowe” skrypty, uruchomi je przy następnym uruchomieniu komputera.
Jako kolejny przykład, zakładając, że masz tutaj skrypt: /usr/local/sbin/maint.sh
I chcesz uruchamiać go co trzy dni, standardowy wpis w / etc / crontab wyglądałby tak:
# m h dom mon dow user command
0 0 */3 * * root /usr/local/sbin/maint.sh
Jeśli komputer nie był włączony o godzinie 00:00 3 dnia miesiąca, zadanie nie uruchomiłoby się przed 6 dniem.
Aby zamiast tego uruchomić zadanie na 4, gdy komputer jest wyłączony i „pominie” uruchomienie na 3, użyj tego w / etc / anacrontab (nie zapomnij usunąć linii z / etc / crontab):
# period delay job-identifier command
3 5 maint-job /usr/local/sbin/maint.sh
„Opóźnienie” powyżej „5” oznacza, że anakron będzie czekał 5 minut, zanim uruchomi to zadanie. Chodzi o to, aby uniemożliwić anakronowi odpalenie rzeczy natychmiast po uruchomieniu.