miércoles, 9 de septiembre de 2009

Crontab: ejecución de tareas automáticas en segundo plano

linux[1].jpg


¿Crontab?


Crontab es un programa que manipula el demonio (daemon) CRON, haciendo fácil a los usuarios la programación de tareas y la ejecución de comandos en periodos predeterminados de tiempo. Crontad puede ser considerado como un archivo el cual contiene comandos que se ejecutarán por el sistema como si el usuario fuera el dueño del archivo crontab.




Comandos


crontab -l Lista las tareas actuales de cron


crontab -e Edita el archivo crontab actual y añade/borra/edita las tareas crontab


crontab -r Borra el archivo crontab


crontab -v Muestra la última vez que fue editado el archivo crontab




El archivo crontab - componentes de crontab


Cada trabajo cron tiene 6 secciones. Cada sección está separada por un espacio. Las secciones 1-5 indican con qué frecuencia se quiere ejecutar la tarea (que es la sección 6). Nota: Si el sistema está apagado, crontab no se va a ejecutar. Cuando el sistema se arranque, crontab volverá a funcionar, pero sin realizar las tareas que no se realizaron mientras estaba apagado.


Aquí están mejor explicadas las posiciones 1-5:


1 Minuto 0-59


2 Hora 0-23 (0 = Medianoche)


3 Día 1-31


4 Mes 1-12


5 Semana 0-6 (0 = Domingo)


Un asterisco (*) significa en cada instancia (ejemplo: cada hora, cada semana, etc.) del particular periodo en el que va a ser usado.


La sexta posición indica la tarea que se va a ejecutar en el tiempo dado. Por ejemplo, si quieres borrar todos los archivos del directorio "temp" cada mañana a las 4:45, el comando sería así:




45 4 * * * rm /home/{username}/temp/*




Ejemplo práctico


Queremos imprimir en un archivo de texto la fecha actual cada minuto. Nos vamos a un terminal y tecleamos:




crontab -e


y añadirmos al final la línea:




* * * * * date >>archivo.txt


Y guardamos (si usamos el editor nano, lo haremos mediante Control+O). Ahora el archivo archivo.txt contentrá algo parecido a esto:




Tue Sep 8 17:12:01 CEST 2009
Tue Sep 8 17:13:01 CEST 2009
Tue Sep 8 17:14:01 CEST 2009
Tue Sep 8 17:15:01 CEST 2009
...




Fuentes


http://www.linuxweblog.com/crotab-tutorial


http://all4wp.blogspot.com/2008/03/cron-for-dummies.html




1 Comentario:

Anónimo dijo...

La opción -v no existe:

[~]$ crontab -v
crontab: l’opción «v» no és válida
crontab: usage error: unrecognized option
usage: crontab [-u user] file
crontab [ -u user ] [ -i ] { -e | -l | -r }
(default operation is replace, per 1003.2)
-e (edit user's crontab)
-l (list user's crontab)
-r (delete user's crontab)
-i (prompt before deleting user's crontab)

Publicar un comentario

Felinfo: Java, Linux, Virtualización. Open Source.  ©Template Blogger Green by Dicas Blogger .

TOPO