
Muchas veces necesitamos realizar una tarea en ciertos momentos del día, o tal vez cada cierto tiempo, como por ejemplo: mantenimientos, respaldo de información, correr servicios, quizás reiniciarlos.
La utilidad es inmensa y depende de nuestras necesidades, en esta ocasión hablaremos sobre cron/crontab usado en los sistemas basados en Unix, después del salto mas información...
Cron/Crontab
Cron
Cron es un demonio que permite ejecutar tareas calendarizadas, inicia junto el sistema operativo, después busca en la carpeta /var/spool/cron/crontabs/ por el archivo crontab de cada usuario y los carga en memoria.Después, cron, cada minuto examina los archivos crontab de los usuarios para ver si deben ejecutarse en ese minuto, debido a esto cuando modifiquemos el archivo crontab, no necesitaremos reiniciar el demonio. Como vemos, la menor unidad de tiempo que podemos usar es un minuto.
Crontab
Es el programa usado para instalar, desinstalar o mostrar los archivos usados por cron. Ya que, cada usuario tiene su propio crontab, cuando se haga uso de los comandos se trabajara sobre el crontab del usuario, es decir, si modificamos el archivo como root, modificaremos el crontab de root, si lo ejecutamos como un usuario normal, trabajaremos sobre el crontab de ese usuario.Modificando nuestro Crontab
$ Crontab -e
Abrimos una terminal y tecleamos el comando de arriba, si es nuestra primera vez modificando, aparecerá una pantalla similar a la siguiente:
![]() |
Variara dependiendo del sistema operativo y terminal... |
Por ser la primera vez que este usuario modificara su crontab, sera preguntado con cual editor desea modificarlo, esto solamente es para la primera vez, para nuestro caso usaremos nano.
Nota: En versiones anteriores se utilizaba automáticamente el editor por defecto del sistema.
Aparecerá un pantalla con una serie de instrucciones sencillas sobre como utilizarlo. Esa forma es con el siguiente formato:
![]() |
Día de la semana comienza con domingo (0) |
El asterisco simboliza cualquier valor, es decir, si lo colocamos en la parte correspondiente al minuto, se ejecutara cada minuto. Esta configuración es para cada comando en especifico, si tuviéramos 2 tareas, en la linea de abajo colocaríamos la siguiente . Algunos ejemplos de estas configuraciones:
- 0 0 1 * * <comando>
Este comando se ejecutara en el minuto 0, a la hora 0, del primer día de cada mes.
- 0,20,40 * * * * <comando>
Este comando se ejecutara cada 20 minutos, siempre
- 30 08 10 05 * <comando>
Este comando se ejecutara a los 30 minutos, 8 AM, el día 10 de mayo.
(Quizás alguna felicitación para mama?)
- */10 0-10 * * * <comando>
Este comando se ejecutara cada 10 minutos, en el rango de: las 0 horas hasta las 10 horas, como se ve, podemos especificar rangos.
Palabra | Equivalente |
---|---|
@yearly | 0 0 1 1 * |
@daily | 0 0 * * * |
@hourly | 0 * * * * |
@reboot | En cada inicio |
- @hourly <comando>
Este comando se ejecutara cada hora.

Al finalizar los cambios, guardamos y los comandos se ejecutaran en el momento que especificamos.
Eliminando nuestro crontab
Solamente ingresamos el siguiente comando y nuestro archivo de crontab es eliminado:$ crontab -r
Mostrando nuestro crontab
Para mostrar el contenido de nuestro archivo crontab, ingresamos:
$ crontab -l
Existen muchas mas opciones pero para una configuración básica estas son las bases, cualquier pregunta, sugerencia, sera bienvenida y pueden dejarla en la sección de comentarios, también pueden seguirnos en twitter o en facebook.
Mas información:
http://www.pantz.org/software/cron/croninfo.htmlhttp://www.thegeekstuff.com/2009/06/15-practical-crontab-examples/
man crontab
No hay comentarios:
Publicar un comentario