cron és el dimoni responsable d'executar ordres programades i recurrents (cada hora, cada dia, cada setmana, etc.). atd tracta les ordres a executar una sola vegada, però en un moment específic en el futur.
locate;
crontab -e (el seu contingut s'emmagatzema al fitxer /var/spool/cron/crontabs/usuari).
/etc/crontab, o escriure fitxers crontab addicionals al directori /etc/cron.d. Aquestes dues últimes solucions tenen l'avantatge de què es pot especificar la identitat de l'usuari a utilitzar per executar l'ordre.
crontab descriu una ordre programada amb els sis (o set) següents camps:
Sun, Mon, etc.);
/etc/crontab i en els fragments localitzats a /etc/cron.d/, però no en els fitxers crontab dels usuaris);
a-b descriu l'interval de tots els valors entre a i b. La sintaxi a-b/c descriu l'interval amb un increment de c (exemple: 0-10/2 significa 0,2,4,6,8,10). Un asterisc * és un comodí, que representa tots els valors possibles.
Exemple 9.2. Exemple de fitxer crontab d'usuari
#Format #min hour day mon dow command # Download data every night at 7:25 pm 25 19 * * * $HOME/bin/get.pl # 8:00 am, on weekdays (Monday through Friday) 00 08 * * 1-5 $HOME/bin/dosomething # every two hours * */2 * * * $HOME/bin/dosomethingelse # Restart the IRC proxy after each reboot @reboot /usr/bin/dircproxy
at executa una ordre en un moment determinat del futur. Pren l'hora i la data desitjades com a paràmetres de línia d'ordres, i l'ordre a executar de l'entrada estàndard. L'ordre s'executarà com si s'hagués introduït a l'intèrpret d'ordres actual. at fins i tot s'ocupa de conservar l'entorn actual per tal de reproduir les mateixes condicions quan executa l'ordre. El temps s'indica seguint les convencions habituals: 16:12 o 4:12pm representa les 4:12 pm. La data es pot especificar en diversos formats europeus i occidentals, incloent DD.MM.YY (així, 27.07.22 representa el 27 de juliol del 2022), AAAA-MM-DD (aquesta mateixa data s'expressa com a 2022-07-27), MM/DD/[CC]AA (és a dir, 12/25/22 o 12/25/2022 serà el 25 de desembre del 2022), o simplement MMDD[CC]AA (de manera que 122522 o 12252022, de la mateixa manera, representaran el 25 de desembre de 2022). Sense data, l'ordre s'executarà tan aviat com el rellotge arribi al temps indicat (el mateix dia, o l'endemà si aquest temps ja ha passat el mateix dia). També es pot simplement escriure «today» o «tomorrow» representant, respectivament, avui o demà.
$at 09:00 27.07.22 <<END>echo "Don't forget to wish a Happy Birthday to Raphaël!" \>| mail lolando@debian.org>ENDwarning: commands will be executed using /bin/sh job 1 at Wed Jul 27 09:00:00 2022
at now + número període. El període pot ser minutes (minuts), hours (hores), days (dies), o weeks (setmanes). El número simplement indica el nombre d'unitats que han de passar abans de l'execució de la comanda.
cron, simplement executeu crontab -e i suprimiu la línia corresponent al fitxer crontab. Amb tasques at, és gairebé igual de fàcil: executeu atrm número-de-tasca. El número de la tasca ve indicat per l'ordre at quan la programeu, però podeu tornar a trobar-la amb l'ordre atq, que dona la llista de tasques vigents programades.