miércoles, 15 de diciembre de 2010

Tareas programadas en GNU/Linux: Comando cron (crontab)

El comando cron y su daemon se emplean para  ejecutar periódicamente tareas programadas según una combinación de hora, mes, dia y semana. la consulta de las tareas se realiza cada minuto. El fichero de configuración principal de este servicio se encuentra en /etc/crontab, en el que las órdenes se especifican mediante líneas con el siguiente formato:

minuto   hora   día   mes    día_semana   usuario    comando

El significado de los campos anteriores es este: minuto (0-59), hora (0-23), día (1-31), mes (1-12), día_semana (0-6, siendo el domingo 0), usuario (usuario con el que se ejecutará el comando), comando (comando a ejecutar).

El asterisco * en alguno de los campos se entenderá como todos los valores posibles. Por lo tango, un * en el campo mes se entenderá como que el comando se ejecuta todos los meses en el momento indicado en el resto de los campos.
Por ejemplo: 0 * * * * root sync: Ejecutará el comando sync el primer minuto de cada hora. 
Y 0 23 10 * * root sync: Ejecutará el comando sync todos los días 10 de cada mes a las 11:00 de la noche.


Al igual que con el comando at, debemos asegurarnos de que el daemon de cron se está ejecutando en nuestro sistema:
$ sudo service cron status
cron start/running, process 1195

Pogramar el apagado del sistema el 15 de diciembre a las 3:00 PM

$ sudo nano /etc/crontab
0  15  15  12  *   root   /sbin/shutdown

Programar la ejecución de un script 4 de febrero a las 7:15 AM

$ sudo nano /etc/crontab
15  7  4  2  *   root   /home/usuario/script.sh


Más opciones del comando cron:

$ man cron crontab

No hay comentarios:

Publicar un comentario