¡Esta es una revisión vieja del documento!
Tabla de Contenidos
cron
Administrador de procesos en segundo plano que ejecuta programas o scripts a intervalos regulares.
Los procesos que deben ejecutarse y la hora a la que deben hacerlo se especifican en el archivo crontab.
El nombre cron proviene del griego chronos (χρόνος) que significa tiempo.
Cron se puede definir como el equivalente a Tareas Programadas de Windows.
crontab
crontab es el fichero que contiene la programación del cron, es decir, donde se define cuándo se ejecutarán los programas o scripts.
Estructura:
.--------------- minuto (0-59) | .------------ hora (0-23) | | .--------- día del mes (1-31) | | | .------ mes (1-12) o jan,feb,mar,apr,may,jun,jul... (meses en inglés) | | | | .--- día de la semana (0-6) (domingo=0 ó 7) o sun,mon,tue,wed,thu,fri,sat (días en inglés) | | | | | * * * * * comando a ejecutar
Ejemplo:
1 0 * * * echo -n "" > /www/apache/logs/error_log
La configuración anterior está diciendo a cron que se vacíe el fichero /www/apache/logs/error_log a las 00:01 diariamente.
Otro ejemplo:
*/5 * * * * /home/user/test.pl
El script /home/user/test.pl se ejecutará cada 5 minutos.
Es posible indicar más de un comando si lo separamos por punto y coma (;):
30 21 * * * cd /media/linux/isos;wget http://example.com/archivo.loquesea
Horarios predefinidos
Hay varios valores predefinidos que se pueden utilizar para sustituir una expresión del cron:
| Entrada | Descripción | Equivale A |
|---|---|---|
@yearly | Se ejecuta una vez al año | 0 0 1 1 * |
@annually | (igual que @yearly) | 0 0 1 1 * |
@monthly | Se ejecuta una vez al mes | 0 0 1 * * |
@weekly | Se ejecuta una vez a la semana | 0 0 * * 0 |
@daily | Se ejecuta una vez al día | 0 0 * * * |
@midnight | (igual que @daily) | 0 0 * * * |
@hourly | Se ejecuta una vez cada hora | 0 * * * * |
Recursos
- crontab guru: editor de expresiones para usar en la programación del cron.
