Programar tasques amb CRONTAB
En Debian podem programar tasques per a que s’executin en una certa hora o data determinada. S’utilitza la comanda CRONTAB que és dels sistemes UNIX. Aquesta comanda ens permet executar ja sigui scripts o bé programes amb interfície gràfica.
Ara veurem que el seu ús és molt senzill.
El primer que farem serà veure si tenim alguna tasca programada. Per fer-ho executem en un terminal: (no cal ser root, ja que qualsevol usuari pot programar una tasca, tot i que amb usuari root podem fer més coses!)
I ens apareixerà les tasques programades, així com les instruccions a seguir si volem utilitzar el crontab
Si volem editar les tasques programades haurem de fer:
I ens apareix el mateix document però en edició. El format de programació de les tasques tenen la següent sintaxis:
* * * * * /bin/prova.sh
On els asterisc, en aquest cas i en ordre d’esquerra a dreta indiquen:
- Minuts: de 0 a 59
- Hores: de 0 a 23
- Dia del mes: de 1 a 31
- Mes: de 1 a 12
- Dia de la setmana: de 0 a 6, essent 0 el diumenge
Si deixem l’asterisc vol dir qualsevol valor del que pot ser.
Per exemple, si volem programar un script que s’executi cada dia a les 21:30 de la nit, posaríem el següent:
30 21 * * * /bin/prova.sh
Si el volem executar de dilluns a divendres i a la mateixa hora, podem utilitzar intervals de temps, i llavors posaríem:
30 21 * * 1-5 /bin/prova.sh
Un altre cas més complex seria si el volem executar en intervals de temps des de les 21 hores amb intervals de 15 minuts durant una hora, llavors posaríem:
0,15,30,45 21 * * 1-5 /bin/prova.sh
Paraules reservades
Moltes vegades ens cal una programació més simple i llavors crontab té un conjunt de paraules reservades que ens facilita la feina. Serien les següents:
- @reboot: s’executa la tasca un sol cop quan s’inicia
- @yearly/ @annually: s’executa cada any
- @monthly: s’executa un cop al mes
- @weekly: s’executa un cop a la setmana
- @daily/ @midnight: s’executa un cop al dia
- @hourly: s’executa cada hora
Per exemple, si volem executar l’script un cop al mes, hauríem de posar:
Finalment, si volem esborrar les tasques, posarem en el terminal:
Si volem definir el directori d’un usuari (el directori ha de tenir permisos d’escriptura i execució), posarem:
Si ens interessa veure el crontab d’un altre usuari (només ho pot fer com a administrador), posarem:
Exemples:
Per acabar, si volem executar un programa amb interfície gràfica, com per exemple aMule, posaríem en el crontab:
30 21 * * 1-5 DISPLAY=:0.0 /usr/bin/amule
Això ens executaria l’aMule a les 21:30 hores dilluns a divendres, amb entorn gràfic
Esperem que us hagi servit aquesta breu introducció al programador de tasques crontab
Deixa un comentari