Cron
cron es una utilidad destinada a funcionar como programador de tareas en el sistema operativo GNU/Linux. Más específicamente cron es un demonio informático (se ejecuta constantemente y espera hasta que un suceso ocurra para actuar).
/etc/crontab
En este archivo se puede especificar las tareas que se llevarán a cabo de acuerdo a campos y a una nomenclatura especial.
Campos
Cada campo se refiere a una unidad de tiempo y los últimos dos campos al usuario y al comando que se ejecutará por ejemplo
#<minuto> <hora> <día del mes> <día de la semana> <usuario> <comando>
05 3 * * * root killall debmirror
Nomenclatura
* |
Corresponde a todos los valores posibles |
val1,val2,val3 |
Corresponde a cualquiera de los valores en la lista separada por comas, por ejemplo (2,5,6) |
val1-val2 |
- (guión) indica un intervalo, por ejemplo 2-12 en horas significa de 2:00 a 12:00 |
/ |
Se usa en combinación con otros, por ejemplo */5 en los minutos ejecutará la tarea cada 5 minutos |
Viendo los siguientes ejemplos:
00 01 * * * root shutdown -h now
La línea anterior en /etc/crontab indica; a los 00 minutos de las 01 horas de cualquier día del mes y a cualquier día de la semana , el usuario root ejecuta el comando 'shutdown -h now'. Es decir, apagar el equipo todos los días a la 01:00 horas.
11 09 * * 1 juan sh /home/juan/copia_seguridad.sh
La línea anterior hace que el usuario juan ejecute el script 'copia_seguridad.sh' cada primer día de la semana a horas 09:11.
Algo importante a recordar es que cron "despierta" cada minuto para comprobar si hay alguna tarea pendiente.
Existen los directorios /etc/cron.daily/ , etc/cron.hourly/, /etc/cron.weekly y /etc/cron.monthly/ donde se pueden colocar scripts para que cron los ejecute en intervalos diariamente, cada hora, cada semana y cada mes respectivamente.