domingo, 8 de abril de 2012

Automatizar tareas con el Cron y Anacron


Comando Cron
El comando Cron nos permite decidir que usuarios puede hacer uso del servicio con la configuración de los siguientes archivos:


  • /etc/cron.allow
  • /etc/cron.deny


Para restringir el uso a un usuario, es suficiente con agregar su nombre de usuario al archivo /etc/cron.deny, para permitirle su uso entonces sería agregar su nombre de usuario en/etc/cron.allow, si por alguna razón se desea negar el uso de cron a todos los usuarios, entonces se puede escribir la palabra ALL al inicio de cron.deny y con eso seria suficiente para negar el uso del cron a los usuarios del sistema.


Permite configurar tareas a realizarse en un tiempo especifico el archivo de configuración es:
/etc/crontab


En este archivo encontramos la explicación de como se debe configurar minuto, hora, día del mes, mes, día de la semana.
El comando Cron nos permite también que se ejecuten scripts ubicandoles dentro de la categoría que nosotros deseemos como puede ser:
Por hora  /etc/cron.hourly/
Por día  /etc/cron.daily/
Por semana /etc/cron.weekly/
Por mes /etc/cron.monthly/

Ejemplo:

Estos scripts deben de tener permisos para ejecución:

chmod 755 actualizacion.sh

# vim actualizacion.sh
#!/bin/bash
# actualización automática del sistema
sudo yum update

Comandos mas usados con el crontab
crontab /home/jorge/tareas.txt 
Remplaza el existente archivo crontab con un archivo definido por el usuario
crontab -e 
Editar el archivo crontab del usuario, cada linea nueva sera una nueva tarea de crontab.
crontab -l 
Lista todas las tareas de crontab del usuario
crontab -d 
Borra el crontab del usuario
crontab -c dir 
Define el directorio de crontab del usuario
crontab -u usuario 
Para manejar el crontab de otros usuarios
# sudo crontab -l -u root 
# sudo crontab -e jorge
# crontab -d -u jorge

Tareas con el Anacron
Este es mas útil cuando tenemos una pc que no la tenemos todo el tiempo encendida y dejamos programado tareas al arranque, con este podemos dejar configuraciones, actualizaciones del sistema respaldo de archivos sincronización de repositorios, cualquier cosa que nos pueda interesar, etc.

En este archivo podemos encontrar solo 4 campos de configuración
Se va a detallar cada cuantos días se quiere realizar la tarea
Se va a determinar el número de minutos que transcurrirán desde que ejecutas Anacron hasta que se lanza la tarea programada.
Nombre de la tarea.
El comando.

Anacron busca en /var/spool/anacron el archivo creado para cada tarea en su última ejecución