====== fcron ====== :!: **ATTENZIONE** Il pacchetto **[[https://packages.debian.org/search?searchon=names&keywords=fcron|fcron]]** è stato rimosso da Debian a partire da Wheezy, utilizzare l'accoppiata **cron** e **anacron** in sostituzione. Vedere il bug [[https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=636235|#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.