¿Cómo controlar cron en Ubuntu 16.04 LTS?

Pregunta:

El antiguo gnome-schedule (que funciona bien con Raspbian Jessie) ha quedado obsoleto en Ubuntu, comenzando con Ubuntu 14.04 LTS.

Entonces, ¿cómo controlamos los trabajos cron en Ubuntu 16.04?

Respuesta:

Dado que todavía no hay un controlador cron basado en GUI disponible para Ubuntu 16.04, debemos volver a los métodos de la vieja escuela que siempre funcionan, hágalo desde la línea de comando:

Documentación oficial de Ubuntu: CronHowto

Extractos seleccionados:

Como orientación, siempre puede utilizar

man crontab

Para editar sus programas cron, use este comando:

 crontab -e

Desde la página del manual:

Líneas Crontab

Cada línea tiene cinco campos de fecha y hora, seguidos de un comando, seguido de un carácter de nueva línea ('\ n'). Los campos están separados por espacios. Los cinco campos de fecha y hora no pueden contener espacios. Los cinco campos de fecha y hora son los siguientes: minuto (0-59), hora (0-23, 0 = medianoche), día (1-31), mes (1-12), día de la semana (0-6, 0 = domingo).

01 04 1 1 1 /usr/bin/somedirectory/somecommand

El ejemplo anterior ejecutará / usr / bin / somedirectory / somecommand a las 4:01 am el 1 de enero y todos los lunes de enero.

Se puede usar un asterisco (*) para que se use cada instancia (cada hora, cada día de la semana, cada mes, etc.) de un período de tiempo.

01 04 * * * /usr/bin/somedirectory/somecommand

El ejemplo anterior ejecutará / usr / bin / somedirectory / somecommand a las 4:01 am todos los días de cada mes.

Los valores separados por comas se pueden utilizar para ejecutar más de una instancia de un comando en particular dentro de un período de tiempo. Los valores separados por guiones se pueden utilizar para ejecutar un comando de forma continua.

01,31 04,05 1-15 1,6 * /usr/bin/somedirectory/somecommand

El ejemplo anterior ejecutará / usr / bin / somedirectory / somecommand el 01 y el 31 después de las 4:00 am y las 5:00 am del 1 al 15 de cada enero y junio.

El texto "/ usr / bin / somedirectory / somecommand" en los ejemplos anteriores indica la tarea que se ejecutará en los momentos especificados. Se recomienda que utilice la ruta completa a los comandos deseados como se muestra en los ejemplos anteriores. Ingrese el comando somecommand en la terminal para encontrar la ruta completa a algún comando. El crontab comenzará a ejecutarse tan pronto como se edite y guarde correctamente.

Es posible que desee ejecutar un script varias veces por unidad de tiempo. Por ejemplo, si desea ejecutarlo cada 10 minutos, use la siguiente entrada crontab (se ejecuta en minutos divisibles por 10: 0, 10, 20, 30, etc.)

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

que también es equivalente a la más engorrosa

0,10,20,30,40,50 * * * * /usr/bin/somedirectory/somecommand

Cron también ofrece algunas cadenas especiales, que se pueden utilizar en lugar de los cinco campos de fecha y hora:

@reboot : se ejecuta una vez, al inicio.

@yearly : se ejecuta una vez al año, "0 0 1 1 *" .

@annually – (igual que @yearly )

@monthly : se ejecuta una vez al mes, "0 0 1 * *" .

@weekly : se ejecuta una vez a la semana, "0 0 * * 0" .

@daily : ejecutar una vez al día, "0 0 * * *" .

@midnight – (igual que @daily )

@hourly : se ejecuta una vez por hora, "0 * * * *" .


Tenga en cuenta que todos los trabajos cron comienzan en el directorio $HOME del usuario, por lo que es recomendable utilizar rutas de acceso totalmente calificadas tanto en el programa cron como en sus scripts.

Leave a Comment

Your email address will not be published. Required fields are marked *

web tasarım