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
>
END
warning: 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.