Cron (Unix)

Cron (Unix)

cron (Unix)

En el sistema operativo Unix, cron es un administrador regular de procesos en segundo plano (demonio) que ejecuta procesos o scripts a intervalos regulares (por ejemplo, cada minuto, día, semana o mes). Los procesos que deben ejecutarse y la hora en la que deben hacerlo se especifican en el fichero crontab.

Cron se podría definir como el "equivalente" a Tareas Programadas de Windows. 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.

Contenido

Formato del fichero crontab

Fichero crontab de ejemplo:

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# run-parts
01  * * * * root nice -n 19 run-parts /etc/cron.hourly
50  0 * * * root nice -n 19 run-parts /etc/cron.daily
22 4 * * 0 root nice -n 19 run-parts /etc/cron.weekly
42 4 1 * * root nice -n 19 run-parts /etc/cron.monthly

Para agregar, quitar o modificar tareas, hay que editar el crontab. Esto se hace con la orden crontab -e, que abrirá el editor definido en la variable de entorno EDITOR y cargará el fichero crontab correspondiente al usuario que está logueado.

Cada vez que se ejecuta el crontab, se envía un mensaje al usuario que aparece en la variable de entorno MAILTO, si está habilitado, indicándole la tarea realizada.

Sintaxis

El formato de configuración de cron es muy sencillo.

  • El símbolo almohadilla «#» es un comentario, todo lo que se encuentre después de ese carácter no será ejecutado por cron.
  • El momento de ejecución se especifica de acuerdo con la siguiente tabla:
  1. Minutos: (0-59)
  2. Horas: (0-23)
  3. Días: (1-31)
  4. Mes: (1-12)
  5. Día de la semana: (0-6), siendo 1=lunes, 2=martes,... 6=sábado y 0=domingo (a veces también 7=domingo)
##########################################################
#minute (0-59),                                          #
#|  hora (0-23),                                         #
#|  |  día del mes (1-31),                               #
#|  |  |  mes (1-12),                                    #
#|  |  |  |  día de la semana (0-6 donde 0=Domingo)      #
#|  |  |  |  |       comandos                            #
##########################################################
15 02  *  *  *
Para especificar todos los valores posibles de una variable se utiliza un asterisco (*).
  • La última columna corresponde a la ruta absoluta del binario o script que se quiere ejecutar.

Ejemplos

Por ejemplo:

30 10 * * 1 /usr/bin/who >> /home/quien.tex

Ejecuta la orden who todos los lunes a las 10:30 y guarda la salida en el fichero quien.tex

Para especificar dos o más valores en cada variable, estas deben estar separadas por comas, siguiendo con el ejemplo anterior:

0,30 * * * 1 /usr/bin/who >> /home/quien.tex

Ejecuta la orden who todos los lunes cada media hora y guarda la salida en el fichero quien.tex

Si queremos que se ejecute cada 15 minutos sería

0,15,30,45 * * * * /usr/bin/who >> /home/quien.tex

o

*/15 * * * * /usr/bin/who >> /home/quien.tex

En este ejemplo veremos como pasarle más de un comando al cron y de paso como puede programarse una descarga:

30 21 * * * cd /media/sda7/dexter/distributions/isos;wget http://example.com/fichero_a_descargar.loquesea

Este otro es para programar el apagado del PC. En este caso todos los sábados a las 21.30

30 21 * * 6 /sbin/shutdown -h now

Editar crontab de un usuario en particular

crontab [ -u usuario ] fichero

crontab [ -u usuario ] { -l | -r | -e }

La opción -u se utiliza para indicar el crontab de usuario que queremos administrar sólo root podrá usar la orden crontab con esta opción.

La opción -e se utiliza para editarlo

Enlaces externos

Obtenido de "Cron (Unix)"

Wikimedia foundation. 2010.

Игры ⚽ Поможем написать курсовую

Mira otros diccionarios:

  • Cron (Unix) — cron cron est le nom d un programme qui permet aux utilisateurs des systèmes Unix d exécuter automatiquement des scripts, des commandes ou des logiciels à une date et une heure spécifiées à l avance, ou selon un cycle défini à l avance. Le nom… …   Wikipédia en Français

  • Cron (unix) — En el sistema operativo Unix, cron es un administrador regular de procesos en segundo plano ( demonio ) que ejecuta programas a intervalos regulares (por ejemplo, cada minuto, día, semana o mes). Los procesos que deben ejecutarse y la hora en la… …   Enciclopedia Universal

  • Cron — m. Geol. Unidad de tiempo, equivalente a un millón de años. * * * cron. (Del gr. χρόνος, tiempo). m. Unidad de tiempo geológico, equivalente a un millón de años. * * * La palabra Cron se refiere a: 1. Una unidad de tiempo geológica. Consultar… …   Enciclopedia Universal

  • Cron — is a time based scheduling service in Unix like computer operating systems. cron is short for chronograph . [ [http://drupal.org/node/937#cron Drupal Terminology Page] ] cron has been recreated several times in its history. Design cron is driven… …   Wikipedia

  • Cron — est le nom d un programme qui permet aux utilisateurs des systèmes Unix d exécuter automatiquement des scripts, des commandes ou des logiciels à une date et une heure spécifiées à l avance, ou selon un cycle défini à l avance. Le nom est dérivé… …   Wikipédia en Français

  • cron — est le nom d un programme qui permet aux utilisateurs des systèmes Unix d exécuter automatiquement des scripts, des commandes ou des logiciels à une date et une heure spécifiées à l avance, ou selon un cycle défini à l avance. Le nom est dérivé… …   Wikipédia en Français

  • Cron — демон планировщик задач в UNIX подобных операционных системах, использующийся для периодического выполнения заданий в заданное время. Содержание 1 crontab 2 Графический интерфейс 2.1 Gnome Schedule …   Википедия

  • UNIX-Kommandos — Unix Systeme zeichnen sich durch eine Vielzahl von Kommandos aus, mit denen sich über eine Shell das Betriebssystem bedienen lässt. Die Syntax dieser Kommandos weicht unter den verschiedenen Systemen voneinander ab. Es existieren die beiden… …   Deutsch Wikipedia

  • Unix-Befehle — Unix Systeme zeichnen sich durch eine Vielzahl von Kommandos aus, mit denen sich über eine Shell das Betriebssystem bedienen lässt. Die Syntax dieser Kommandos weicht unter den verschiedenen Systemen voneinander ab. Es existieren die beiden… …   Deutsch Wikipedia

  • Unix-Kommando — Unix Systeme zeichnen sich durch eine Vielzahl von Kommandos aus, mit denen sich über eine Shell das Betriebssystem bedienen lässt. Die Syntax dieser Kommandos weicht unter den verschiedenen Systemen voneinander ab. Es existieren die beiden… …   Deutsch Wikipedia

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”