¿Cómo configuro un trabajo de Cron?

485

Quiero programar una tarea para que se ejecute de forma regular y he escuchado que Cron es la forma de hacerlo.

¿Cómo agrego trabajos de Cron en Ubuntu?

    
pregunta Gabriel Solomon 16.08.2010 - 10:25

6 respuestas

599

Coloque un script de shell en una de estas carpetas: /etc/cron.daily , /etc/cron.hourly , /etc/cron.monthly o /etc/cron.weekly .

Si esto no es suficiente para usted, puede agregar tareas más específicas, p. dos veces al mes o cada 5 minutos. Ve a la terminal y escribe:

crontab -e

Esto abrirá su crontab personal (archivo de configuración cron). ¡La primera línea en ese archivo lo explica todo! En cada línea puede definir un comando para ejecutar y su cronograma, y ​​el formato es bastante simple cuando le da el truco. La estructura es:

minute hour day-of-month month day-of-week command

Para todos los números, puede usar listas, p. 5,34,55 en el campo de minutos significará ejecutar a las 5 horas pasadas, pasadas, pasadas y pasadas las 55 horas que se definan.

También puedes usar intervalos. Se definen así: */20 . Este ejemplo significa cada 20, por lo que en la columna de minutos es equivalente a 0,20,40 .

Para ejecutar un comando todos los lunes a las 5:30 de la tarde:

30 17 * * 1 /path/to/command

o cada 15 minutos

*/15 * * * * /path/to/command

Tenga en cuenta que el día de la semana va de 0 a 6, donde 0 es domingo.

Puede leer más aquí .

    
respondido por el LassePoulsen 09.03.2018 - 03:07
93

Si el trabajo que desea ejecutar se puede ejecutar con los mismos privilegios que su usuario, le recomiendo usar un crontab de usuario que puede editar ejecutando EDITOR="gedit" crontab -e (que usará gedit para editar el archivo crontab) o simplemente crontab -e (que usará el editor predeterminado) en una terminal.

Si desea ejecutar algo cada 10 minutos, por ejemplo, agrega una línea como esta

*/10 * * * * /usr/bin/somedirectory/somecommand

y guarde el archivo.

Puede ver el contenido del usuario crontab con crontab -l .

La forma más flexible es usar el crontab del sistema que puede editar ejecutando sudo crontab -e en un terminal. Esto le permitirá ejecutar sus comandos como root (en caso de que necesite ese nivel de privilegio) o cualquier otro usuario en el sistema.

Luego, si desea ejecutar algo cada 10 minutos como raíz , por ejemplo, agregue una línea como esta

*/10 * * * * root /usr/bin/somedirectory/somecommand

y guarde el archivo. (observe la adición del usuario a la línea)

Puede ver el contenido del archivo crontab del sistema con sudo crontab -l .

Más detalles en: enlace

    
respondido por el Li Lo 16.08.2010 - 10:58
51

Si prefiere hacerlo usando una GUI, puede ir al Centro de software e instalar Tareas programadas (o ejecutar sudo apt-get install gnome-schedule ). Proporcionará una poderosa GUI para agregar tareas cron.

Tenga en cuenta que si utiliza este método, las tareas de forma predeterminada se ejecutarán como su propio usuario, no como root. Esto generalmente es algo bueno.

    
respondido por el Javier Rivera 16.08.2010 - 11:21
23

Recomiendo Programador de tareas de KDE ( kde-config-cron ) . Acceda desde Configuración del sistema en el módulo Programador de tareas allí.

Administra los Crontabs personales y del sistema, y ​​la facilidad de crear los límites de tiempo me sorprendió mucho (ver la captura de pantalla a continuación). Creo que esta parte está muy subestimada.

    
respondido por el gertvdijk 01.02.2013 - 00:59
11

El Programador de tareas de KDE no funcionará en Ubuntu regular. Funciona solo en KDE Systems como KUbuntu. Para sistemas que no sean de KDE, preferirá usar gnome-schedule

$ sudo apt-get install gnome-schedule

La aplicación es Tareas programadas en el tablero.

    
respondido por el Antonio 11.02.2014 - 15:35
8

Quería configurar un trabajo de Cron para ejecutar un script bash, por lo que ejecutar el script agregaría un trabajo cron.

Me di cuenta de que cuando haces uso de:

crontab -e 

Luego crea el archivo:

/var/spool/cron/crontabs/root

Donde raíz es el nombre del usuario que ejecuta ejecutando el comando crontab. Por lo tanto, en base a esto y en 14.04 al menos, podemos ejecutar los siguientes comandos bash para crear un nuevo trabajo Cron:

echo "30 17 * * 1 /path/to/command" > /var/spool/cron/crontabs/root

También debemos establecer la propiedad correcta para el archivo:

chown root:root /var/spool/cron/crontabs/root

Y establezca los permisos correctos:

chmod 600 /var/spool/cron/crontabs/root

Si cuando ejecuta crontab -e , ya hay trabajos de cron en la lista, puede agregarlos a la lista con el siguiente comando:

echo "30 17 * * 1 /path/to/command" >> /var/spool/cron/crontabs/root
    
respondido por el Craig van Tonder 27.09.2016 - 22:25

Lea otras preguntas en las etiquetas