Cron es un servidor que permite programar la ejecución de comandos. Este programa lee un archivo de fechas y órdenes llamado "crontab" creado por cada usuario para ser ejecutado. Con un crontab individual le puede decir al sistema "ejecuta este comando en esta fecha y a esta hora".
Un crontab individual se puede grabar en cualquier archivo, por ejemplo, en un directorio inicial (/tmp) un archivo llamado "cronjobs" con las tareas a realizar por cron, para ser ejecutado posteriormente.
Cada línea en crontab será una orden para cron. Las líneas que comiencen con un # son consideradas como comentarios y son omitidas.
El formato de línea para cron incluye 5 campos de tiempo seguidos por un comando. Se ejecutan los comandos cuando la fecha y hora especificadas en los campos de fecha coinciden con la fecha y hora actuales. La hora se maneja en formato de 24 horas.
Campo Concepto Valores Permitidos
----- ---------------- -------------------------
1 minuto 0-59
2 hora 0-23
3 día del mes 0-31
4 mes 1-12
5 día de la semana 0-7 (0 o 7 es domingo)
Un asterisco (*) indica que todos los valores en el rango son aceptables.
El comando que desea ejecutar es el sexto campo en una línea de cron, por ejemplo:
15 1 * * * < COMANDO >
Explicación:
El primer campo (15) coincide cuando la hora ha avanzado 15 minutos
El segundo campo (1) coincide cuando la hora sea "1" (AM)
El tercer campo (*) coincide todos los días del mes
El cuarto campo (*) coincide todos meses del año
El tercer campo (*) coincide todos los días de la semana
Por lo tanto, lo anterior se resume a: ejecuta el comando < COMANDO > a la 1:15 AM todos los días del mes, durante todo el año.
|
Ejemplos:
| 40 23 1 * * < COMANDO > |
Ejecuta el < COMANDO > el primer día de cada mes a las 11:40 PM |
| 0 0 19 8 * < COMANDO > |
Ejecuta el < COMANDO > a la medianoche (12 AM) del 18 de agosto |
| 0,10,20,30,40,50 * * * * < COMANDO > |
Ejecuta el < COMANDO > cada 10 minutos todos los días |
Después de que haya definido los trabajos en crontab, es necesario indicarle a cron dichos trabajos. Supongamos que tenemos el archivo "cronjobs", entonces hay que teclear:
[falcon@box falcon]$ crontab cronjobs
Lo anterior colocará las líneas de crontab en el sistema cron.
Para revisar las tareas asignadas a cron, teclee
crontab -l
Para borrar las tareas asignadas a cron, teclee
crontab -r
NOTA 1: Asegúrese también que su crontab indica la ruta correcta de perl o del interprete que está utilizando. Por ejemplo,
/usr/bin/perl /home/dominio.com/htdocs/carpeta/archivo.sh
NOTA 2: cada vez que cron ejecute su crontab, te enviará un correo. Si define tareas para ser realizadas muy frecuentemente (por ejemplo, cada 10 minutos) muy pronto se llenará su buzón con todos estos correos. Para evitar que cron te envíe dichos correos hay que agregar al final de cada línea lo siguiente:
>/dev/null 2>&1
Por ejemplo:
0,10,20,30,40,50 * * * * < COMANDO > >/dev/null 2>&1