¿Cómo lo Hago?

05/04/2013

Cómo programa una tarea en Linux

¿Qué son Cron y Crontab?

Cron es una utilidad de Linux que se ejecuta como un servicio en segundo plano, y que permite programar tareas para que se ejecuten de forma automática a intervalos regulares.

Para controlar qué usuarios pueden programar tareas se utilizan dos archivos (cron.allow y cron.deny) ubicados en directorios diferentes según la distribución de Linux. Si existe el archivo cron.allow, sólo los usuarios que figuren en él pueden programar tareas, si éste no existe pero existe el archivo cron.deny, sólo los usuarios que no figuren en él pueden programar tareas. En caso de que no exista ninguno de los dos, únicamente el usuario root puede hacerlo.

Las tareas que deben ejecutarse se detallan en el archivo crontab, que podemos editar usando la órden "crontab -e". El archivo debe seguir la siguiente sintáxis:

# * * * * * /ruta/hasta/el/programa
# | | | | |
# | | | | +- - - - Dia de la semana (0 a 6 donde el 0 corresponde al Domingo)
# | | | +- - - - - Mes (1 a 12)
# | | +- - - - - - Dia del mes (1 a 31)
# | +- - - - - - - Hora (0 a 23)
# +- - - - - - - - Minuto (0 a 59)

Para programar la ejecución del script de respaldo todos los días a las 00:30 editaríamos el archivo con

[usuario@vrt-centos ~]$ crontab -e

y usaríamos la siguiente línea:

# Respaldo programado todos los días a las 00:30AM
30 0 * * * /ruta/hasta/el/archivo/de/respaldo.sh

Comandos crontab

[usuario@vrt-centos ~]$ crontab -e # Edita el archivo crontab.
[usuario@vrt-centos ~]$ crontab -l # Muestra el archivo crontab actual.
[usuario@vrt-centos ~]$ crontab -r # Elimina el archivo crontab.