Programación de tareas en sistemas Linux. Crontab.

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

[ad]

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.