Cron es un programa daemon que permite ejecutar otros programas o scripts en un lapso de tiempo y una periodicidad especificada por el usuario.
Su comportamiento esta regulado por su archivo de configuración, que se llama crontab. Cada usuario del sistema posee un archivo crontab personalizado y sólo el usuario root puede modificar el archivo crontab de otro usuario. Si se desea agregar un archivo crontab, es necesario entrar ("logearse" ) primero como ese usuario.
Cron es impulsado por un cron, un archivo de configuración que especifica comando shell para ejecutarse periódicamente a una hora específica. Los archivos crontab son almacenados en donde pemanecen las listas de trabajos y otras instrucciones para el demonio cron. Los usuarios habilitados para crear su fichero crontab se especifican en el fichero cron.allow. De manera análoga, los que no lo tienen permitido figuran en /etc/cron.d/cron.deny, o /etc/cron.deny, dependiendo de la versión de Unix.
Cada línea de un archivo crontab representa un trabajo y es compuesto por una expresión CRON, seguida por un comando shell para ejecutarse. Algunas implementaciones de cron, tal como en la popular BSD 4a edición escrita por Paul Vixie, e incluido en muchas distribuciones Linux, agrega una especificación de nombre de usuario dentro del formato como un sexto campo, como quién ejecutará el trabajo especificado (sujeto a la existencia de un usuario en /etc/passwd y permisos autorizados). Esto solo es permitido en el sistema crontab (/etc/crontab y /etc/cron.d/*), no en otros donde son asignados cada usuario es asignado a una configuración.
Si tanto el "día del mes" como "día de la semana" son restringidos (no son " * " ), entonces o el "día del mes" (campo 3) o el "día de la semana" (campo 5) debe coincidir con el día actual.
Un usuario sólo puede hacer uso de crontab si su nombre aparece en:
Si este archivo no existe, el usuario puede usar crontab a menos que su nombre aparezca en:
La sintaxis del archivo crontab es muy clara y rígida. Hay seis campos por cada linea, y cada campo está separado por un espacio. Los primeros cinco campos específican el momento preciso de ejecución, mientras que el sexto campo es el propio comando o script que se ejecutará. Los primeros cinco campos son:
# m h dom mon dow /commando/a/ejecutar
- - - - - -
| | | | | |
| | | | | +----- día de la semana (0 - 6) (dom = 0)
| | | | +------- mes (1 - 12)
| | | +--------- día del mes (1 - 31)
| | +----------- hora (0 - 23)
| +------------- minuto (0 - 59)
+---------------- espacio vacío (no poner nada)
El asterisco * en alguno de los campos se entenderá como todos los valores posibles. Por lo tango, un * en el campo mes se entenderá como que el comando se ejecuta todos los meses en el momento indicado en el resto de los campos.
sudo service cron status
Debera aparecernos algo como esto:
cron start/running, process 1195
Pogramar el apagado del sistema el 15 de diciembre a las 3:00 PM
0 15 15 12 * root /sbin/shutdown
Programar la ejecución de un script 4 de febrero a las 7:15 AM
Más opciones del comando cron:
0 comments:
No insertes enlaces clicables, de lo contrario se eliminará el comentario. Si quieres ser advertido via email de los nuevos comentarios marca la casilla "Notificarme". Si te ayudé con la publicación o con las respuestas a los comentarios, compártelo en Facebook, Twitter, Tumblr, Google +, Pinterest o Instagram. Gracias.