Mandrake Linux 8.1: Manual de Referencia | ||
---|---|---|
Anterior | Capítulo 5. Los utilitarios de la línea de comandos | Siguiente |
crontab es un comando que le permite ejecutar comandos a intervalos de tiempo regulares, con la ventaja adicional que no tiene que estar conectado al sistema y que el reporte de salida se le envía por correo electrónico. Los intervalos se pueden especificar en minutos, horas, días, e incluso meses. Dependiendo de las opciones, crontab actuará diferentemente:
-l: Mostrar su archivo crontab corriente.
-e: Editar su archivo crontab.
-r: Eliminar su archivo crontab corriente.
-u <usuario>: Aplicar una de las opciones de arriba para el usuario <usuario>. Sólo root puede hacer esto.
Comencemos editando un crontab. Si ingresa crontab -e, estará frente a su editor de texto favorito si tiene definida la variable de entorno EDITOR o la variable de entorno VISUAL, caso contrario se usará Vi. Una línea de un archivo crontab se compone de seis campos. Los primeros cinco campos son los intervalos de tiempo para los minutos, horas, días en el mes, meses y días en la semana. El sexto campo es el comando a ejecutar. Las líneas que comienzan con un # se consideran como comentarios y serán ignoradas por crond (el programa que es responsable de ejecutar los archivos crontab). Aquí tiene un ejemplo de crontab:
![]() | Para poder imprimir lo que sigue con una tipografía legible, tenemos que separar las líneas largas. Por lo tanto, algunos trozos deben ser ingresados en una única línea. Cuando se pone el caracter \ al final de una línea, esto significa que la línea continua debajo. Esta convención funciona en los archivos Makefile y en el shell, así como también en otros contextos. |
# Si no quiere recibir correo electrónico simplemente # "comente" la siguiente línea #MAILTO="" # # Hacer un reporte de todas las imágenes nuevas a # las 14 hs. cada dos días, desde el ejemplo de # arriba - depués de eso, "retocar" el archivo de # "estampa". El "%" se considera como una línea # nueva, esto le permite poner varios comandos # en una misma línea. 0 14 */2 * * find /shared/images \ -cnewer /shared/images/stamp \ -a -iregex ".*\.jpe?g" \ -a -not -regex \ ".*/old/.*"%touch /shared/images/stamp # # Cada Navidad, reproducir una melodía :) 0 0 25 12 * mpg123 $HOME/canciones/feliz_navidad.mp3 # # Imprimir la lista de compras cada martes a las 17 hs... 0 17 * * 2 lpr $HOME/lista_de_compras.txt |
Anterior | Inicio | Siguiente |
find: busca archivos en función de ciertos criterios | Subir | at: programar un comando, pero solo una vez |