Si necesitamos que un script o un comando o tarea se ejecute regularmente, usamos el planificador estándar de Linux ‘cron’ . Si queremos que algo susceda todos los días, o los sábados de cada mes a una hora eterminada, una tarea cron lo puede hacer por nosotros 🙂
El ‘demonio cron’ comprueba cada minuto si hay que hacer algo o si ha cambiado alguna tarea cron. Para añadir tareas al cron o ver las que contiene, se edita el fichero /etc/crontab [ o con el comando ‘crontab -l’, nos da la lista de tareas cron. Para editar ‘crontab -e’ (ojo! editamos las tareas del usuario con el que estamos logeado) ]
Cada línea del archivo crontab contiene la especificación del día/hora y el comando o script a ejecutar:
minuto hora día-del-mes mes día-de-la-semana comando
- minutos : valor entre 0 y 59
- hora : valor entre 0 y 23
- día-del-mes : 1 y 31
- mes : entre 1 y 12
- día-de-la-semana: entre 0 y 7 (0 y 7 es domingo)
- un (*) significa cualquier valor
- Dos valores separados por guión indica un rango. Por ejemplo 1-3 en campo mes, indica de Enero Marzo)
- Para indicar más de un valor, separar por comas
- el modificador (/) indica con su valor las unidades que se incrementa entre valores. Un valor en mes */4 , indica cada cuatro meses.
Algunos ejemplos :
5 * * * * rm /tmp/*.gif # elimina cada 5 minutos los archivos GIF
0 7 1 * * /home/usuario/copiadeseguridad.sh # ejecutar todos los primeros de mes un script (copia de seguridad) a las 7:00 de la mañana :