Intro

1453388628_resolutions-04

 

 

 

Instalar tareas de cron es una de las principales misiones del administrador de sistemas. Estas tareas se ejecutan puntual y periódicamente de acuerdo a la configuración elegida. En nuestro caso las usamos principalmente para:

  • ajustar la hora frente a un servidor de ntp
  • revisar si existen actualizaciones
  • realizar copias de seguridad con rsync

Veremos como crear tareas de cron y comprobar que se ejecutarán en sistemas debian.


Creando tareas de cron

Las tareas de cron son scripts que se ejecutan en el momento programado.

Lo más útil a la hora de crear estas tareas es hacerlo en un lugar donde se puedan encontrar fácilmente. Nosotros elegimos el directorio /home/crones

Existe mucha información en la web sobre como se han de crear estas tareas, así que no lo explicaremos.

 

Ejecutando tareas de cron

Existen dos modos principales de ejecutar tareas de cron:

  • mediante el comando crontab
  • mediante los directorios /etc/crontab.daily (.hourly, .weekly,.monthly)

 

Comando crontab

Cada usuario puede establecer sus propias tareas de cron mediante el comando crontab. Para ver las tareas establecidas empleamos crontab -l

Para editar/crear tareas de cron emplearemos crontab -e

Lo habitual es que el comando anterior abra una ventana vi, así que hay que conocer como manejarse en ese programa para poder editar/crear tareas de cron con crontab

Artículo donde se explica crontab

 

Directorios /etc/crontab.daily y demás

El sistema debian está preparado para ejecutar diariamente el siguiente comando:

cd / && run-parts --report /etc/cron.daily

De ese modo, ejecuta todos los archivos “ejecutables” en este directorio. Pero cuando digo “ejecutables” no quiero decir ejecutables. No todos los archivos de este directorio que tienen permisos de ejecución se ejecutan en un sistema debian (o derivado). De hecho, el nombre de un archivo de cron no puede llevar puntos o signos de suma (. o +) porque el daemon del cron los ignoraría. Se recomienda usar el guión bajo (_) para sustituir los puntos y los signos +.

El sistema CentOS (y por tanto, Fedora y Red Hat) no son tan quisquillosos con los nombres de los scripts de cron y si que aceptan puntos en los nombres de los mismos dentro de los directorios cron.

Para asegurarnos de cuales son los scripts de cron que se van a ejecutar podemos emplear el comando:

cd / && run-parts --test /etc/cron.daily

La salida del mismo es un listado de todos los scripts del directorio /etc/cron.daily que serán ejecutados por el daemon del cron.

 

Referencias y enlaces

https://www.debian.org/doc/debian-policy/ch-opersys.html