Programar Tareas Automáticas con Cron

Cron es una aplicación de linux para programar tareas que se ejecuten de forma automática.

¿Que es Cron?

Cron es un programa que te permite ejecutar scripts o comandos automáticamente en una fecha específica. También es posible realizar tareas repetidas dados unos intervalos. Estos scripts o secuencias de comandos se guardan en un archivo llamado crontab. Y cada usuario de Linux puede disponer de su archivo crontab propio.

Si queremos crear un archivo cron que tenga efecto para el usuario con el que estamos identificados podemos escribir en la línea de comandos la instrucción crontab -e, se abrirá el editor de texto (vi) y ya podremos empezar a programar el cron. Para listar el contenido del crontab usaremos crontab -l, y crontab -r para eliminarlo.

Para ver todos los ficheros crontabs que se han creado podemos mirar el directorio /var/spool/cron/tabs. El programa cron está en el directorio /usr/sbin/cron y el script que lo carga al iniciar el sistema operativo en /etc/init.d

Si tienes permisos de administrador también es posible denegar que un usuario del sistema pueda usar el cron. Para ello crea o edita el archivo /etc/cron.deny y añade o quita el nombre del usuario.

Cómo Funciona

* * * * * echo hola > /dev/console

Este comando imprimiría por pantalla "hola" cada minuto.

Cada asterísco indica un atributo distinto. Por orden:
Minuto = El minuto de 00 a 59. Un * indica cada minuto
Hora = Hora del día en formato de 24 horas: de 00 a 23. Un * indica cada hora
Día = Día del mes de 1 a 31. Un * indica cada día
Mes = Mes del año de 1 a 12. Un * indica cada mes
Día de la semana = 3 caracteres en inglés (sun, mon,..) o númerico empezando el domingo por 0 (0=domingo, 1=lunes,...). Un * indica cada día de la semana.
Comando = El comando que queremos que se ejecute.

Ejemplo de crontab

*/2 * * * * echo hola > /dev/console

Escribirá cada dos minutos "hola" por pantalla