Programación de tareas en sistemas Linux. Crontab.

Crontab es un demonio de linux que nos permite ejecutar acciones programadas con anterioridad.

En debian, viene instalado de manera predeterminada. Si no es tu caso, se puede instalar facilmente por repositorio.

Su uso es muy sencillo:

MIN HORA DIA MES DIA-SEMANA COMANDO

Hay que tener en cuenta a la hora de la programación, que los MINUTOS vienen antes de las HORAS, lo que puede dar lugar a equivocaciones.

Se puede ejecutar cualquier aplicación, un ssh, un script… lo que quieras.

crontab -e = Accede al modo de configuración, donde podemos introducir los datos de programación. Se encuentra en /etc/init.d/cron

status = Verifica el demonio de crontab para saber si está activo.

Ejemplo de programaciones de tareas con CRONTAB:

MIN HORA DIA MES DIA-SEMANA COMANDO

* 2 * * * /etc/init.d/apache stop
30 14 1 * * /usr/bin/copia.sh

*Todos los días se para el servidor apache.
**A las 14 y media el día 1 de todos los meses se ejecuta un script de copia.

Los días de la semana se cuentan de 0 a 6. El cero es el domingo.

30 10 * * 1 /usr/bin/who >> /home/quien.txt
*Todos los lunes a las 10:30 registra quien está conectado.

0,30 * * * * /usr/bin/who
*Se ejecuta cada media hora.

*/15 * * * * /usr/bin/who
*Se ejecuta cada 15 minutos desde que se ejecuta el script.

Copias de seguridad de carpeta comprimida:
tar -cvf /mnt/datos/backups/volcado.tar
(Crear Verbose File)

10 11 * * 5,6 /bin/tar -cvf /mnt/datos/backups/volcado.tar /home
*Los viernes y sábados a las 11:10 realiza una copia de seguridad en TAR.