Archivos relacionados con las tareas programadas en Ubuntu 14.04 LTS

Publicado por P. Ruiz en

Ya hemos visto en otros artículos que el modo más sencillo de crear una tarea programada es utilizando el comando crontab -e. Al hacerlo, se abre el editor de textos que tengamos definido en la variable de entorno $EDITOR y ahí escribimos la tarea con la sintaxis adecuada.

Esto es lo que habrás observado cuando hayas programado tareas en Ubuntu que automaticen algún proceso.

Quizás en esos momentos te hayas preguntado cómo funcionan las cosas en la trastienda y dónde guarda el sistema operativo las tareas que se has escrito. Esta y algunas otras cuestiones son las que trataremos de aclarar en el artículo de hoy.

Si aún no te has familiarizado con la programación de tareas en Ubuntu 14.04 LTS, te recomiendo que le eches un vistazo a los siguientes artículos:

Archivos con las tareas programadas de cada usuario

Las tareas que se crean con el comando crontab se guardan en el directorio /var/spool/cron/crontabs con el nombre del usuario al que pertenecen. De este modo, según creemos tareas para nuevos usuarios, irán apareciendo nuevos archivos.

Contenido del directorio en el momento de escribir este artículo

Como vemos en la imagen anterior, en nuestro ejemplo solo existen dos cuentas de usuario que tengan programadas tareas en el sistema: root y usuario.

Cuando eliminemos las tareas de un usuario (por ejemplo con sudo crontab -u usuario -r) desaparecerá su archivo correspondiente en el directorio /var/spool/cron/crontabs.

Otros archivos de la carpeta /etc relacionados con la programación de tareas

Además de los archivos anteriores, dentro del directorio /etc encontramos los directorios cron.d, cron.hourly, cron.daily, cron.monthly y cron.weekly que, como veremos más abajo, también están relacionados con el servicio cron.

Carpetas relacionadas con el servicio cron.

También tenemos los archivos crontab, cron.allow y cron.deny. Los dos últimos ya los conocemos del artículo Controlar los usuarios que pueden programar tareas en Ubuntu 14.04 LTS.

Archivos relacionadas con el servicio cron.

En cuanto al archivo /etc/crontab, contiene una serie de tareas programadas de forma genérica para el sistema.

Contenido predeterminado del archivo /etc/crontab.

La idea es que se ejecuten de forma sistemática las cuatro tareas programadas que hay definidas en la parte inferior del archivo. En realidad, todas ellas son prácticamente iguales y consisten en ejecutar uno a uno, todos los scripts que contengan los directorios cron.hourly, cron.daily, cron.monthly y cron.weekly.

Lógicamente, lo que cambia es la definición del periodo:

  1. En la primera (17 * * * *), los scripts que se encuentren dentro del directorio cron.hourly se ejecutarán en el minuto 17 de cada hora, todos los días.

  2. En la segunda (25 6 * * *), los scripts que se encuentren dentro del directorio cron.daily se ejecutarán a las 6:25 de la mañana, también todos los días.

  3. En la tercera (47 6 * * 7), los scripts que se encuentren dentro del directorio cron.weekly se ejecutarán todos los domingos a las 6:47.

  4. En la cuarta (52 6 1 * *), los scripts que se encuentren dentro del directorio cron.monthly se ejecutarán el día 1 de cada mes a las 6:52 .

Por último, el directorio cron.d se utiliza en otras distribuciones para guardar los archivos cron.allow y cron.deny, que, como ya hemos dicho, en Ubuntu 14.04 LTS se encuentran dentro del directorio /etc.

Y esto es todo por el momento. Espero que te haya resultado interesante.