Avanti Indietro Indice

10. Comandi ritardati: cron e at

10.1 cron

Cron è un comando che esegue altri comandi periodicamente come specificato in /etc/crontab e altri crontab definiti dall'utente. In Debian 1.3 esiste un meccanismo standard per eseguire i comandi in /etc/cron.daily, /etc/cron.weekly e /etc/cron.monthly.

Cron è fatto partire da script di boot ma sembra cambiare il proprio PATH con un un PATH abbastanza strano:

/usr/bin:/binn:/sbin:/bin:/usr/sbin:/usr/bin

QUESTO È PROBABILMENTE UN BUG DI CRON. Questo è il PATH di init su cui viene scritto /usr/bin:/bin senza il carattere di terminazione \0! Questo bug non è presente su tutti i sistemi.

In crontab ci possono essere definizioni di PATH. In Debian 1.3 c'è la seguente riga di default all'inizio di /etc/crontab:

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

Proprio per questo, il PATH del programma crond non viene mai usato nei programmi dell'utente. Tutti gli script nelle directory /etc/cron.* prendono questo PATH come predefinito. Questo è il PATH usato anche se un programme è eseguito da un utente senza i privilegi di root.

10.2 at

at è un comando che può essere usato per far girare un programma in un momento specifico.

atd utilizza il PATH di init. Tuttavia, i programmi dell'utente sono sempre fatti girare nell'ambiente dell'utente facendo uso del comando sh. Quindi si applicano le solite regole delle shell. Si veda la sezione su bash.


Avanti Indietro Indice