fcron

:!: ATTENZIONE Il pacchetto fcron è stato rimosso da Debian a partire da Wheezy, utilizzare l'accoppiata cron e anacron in sostituzione. Vedere il bug #636235.

L'installazione di fcron sostituisce anacron, ma non cron.

I task daily, weekly e monthly specificati in /etc/crontab vengono disattivati a causa del link /usr/sbin/anacron → /bin/true. In pratica cron crede che sia installato anacron e non esegue i task.

Gli fcron system wide sono associati all'utente fittizio systab, per vederli:

fcrontab -l -u systab

Per editare il fcrontab di sistema:

fcrontab -e -u systab

Le impostazioni vengono salvate in /var/spool/fcron/, purtroppo non sono file ASCII.

Per vedere quando un task è stato schedulato, si usa fcrondyn, che ha un suo prompt di comandi:

fcrondyn
fcrondyn> ls systab

La sintassi dei fcrontab è descritta in man di fcrontab(5), ecco un esempio di un comando eseguito ogni 24 ore di uptime:

@mailto(niccolo@rigacci.org),forcemail 24h /usr/local/bin/script

anacron

Per job con frequenza maggiore che giornaliera si utilizza sempre cron, invece anacron garantisce che i job giornalieri, settimanali o mensili vengano eseguiti correttamente anche su sistemi che non stanno accesi 24h/24h.

anacron affianca il demone cron: all'avvio del sistema legge /etc/anacrontab per vedere quali job devono essere eseguiti. Nella configurazione predefinita Debian, esegue con la periodicità opportuna gli script contenuti in /etc/cron.{daily|weekly|monthly}, lanciandoli con un certo ritardo specificato. Al termine il demone esce.

Nell'installazione predefinita Debian il demone anacron viene eseguito al bootstrap (servizio /etc/init.d/anacron o equivalente systemd) e poi una volta al giorno dal frammento cron /etc/cron.d/anacron.

L'installazione predefinita Debian di anacron disattiva l'esecuzione automatica degli script /etc/cron.{daily|weekly|monthly}/ (vedere il file /etc/crontab). In questo modo si evita che i job giornalieri, settimanali e mensili vengano eseguiti doppiamente da anacron e cron.

A seconda dell'uptime previsto per la macchina si può schedulare un job con un frammento di cron messo in /etc/cron.d/ (consigliato ad esempio per frequenze di esecuzione di più volte al giorno) oppure aggiungendo uno script di shell in una delle directory /etc/cron.{daily|weekly|monthly} (per frequenze giornaliere o superiori).

Per sapere il timestamp dell'ultima esecuzione degli anacron, vedere il contenuto della directory /var/spool/anacron/. Per ogni etichetta indicata nel file /etc/anacrontab viene creato un file al momento dell'esecuzione.

Un eventuale output generato durante l'esecuzione di anacron viene inviato come mail all'utente root. È possibile indicare un destinatario diverso impostando in /etc/anacrontab:

MAILTO=user@domain.org

ATTENZIONE: indirizzi aggiuntivi possono essere separati con una virgola; per delimitare il destinatario non usare apici.

La direttiva MAILTO può comparire più volte nel file di configurazione e agisce solo sulle righe (cron job) seguenti del file stesso.