07.06.2023

Cómo automatizar tareas regulares con Cron en Ubuntu 20.04

Сron le permite ejecutar automáticamente tareas y scripts a intervalos específicos. Por lo tanto, es una herramienta de administración de servidores muy popular. Cron está presente en todos Linux distribuciones. En este tutorial, configuraremos tareas regulares usando Cron en Ubuntu 20.04 y analice su sintaxis.

Instalando cron

Lo más probable es que cron esté instalado en su sistema. Pero si de repente este no es el caso, puedes arreglarlo con el comando:

apt instalar cron

Agréguelo al inicio automático y ejecute:

systemctl habilitar --ahora cron

Configuración sencilla de cron

La forma más fácil de crear una tarea regular usando cron es colocar el script en una de las siguientes carpetas:

  • /etc/cron.por hora
  • /etc/cron.daily
  • /etc/cron.semanal
  • /etc/cron.mensual

La frecuencia de ejecución se indica en el nombre de la carpeta. Es importante establecer los derechos de ejecución y excluir los puntos de los nombres de los scripts.

Los registros cron se encuentran aquí: / var / log / syslog. Aquí están los registros de otras aplicaciones. Por lo tanto, para ver los registros cron, use:

grep CRON /var/log/syslog

Configuración avanzada de cron

Para configurar trabajos cron, ingrese:

crontab -e

En el primer lanzamiento, se le pedirá que seleccione su editor de texto preferido. Especifique su elección y verá una explicación.nation de la configuración cron de los desarrolladores, después de lo cual puede ingresar sus tareas.

Formato de registro: los siguientes valores se ingresan a través de un space:

  • minuto - de 0 a 59
  • hora - de 0 a 23
  • día del mes - del 1 al 31
  • mes - del 1 al 12 O ene, feb, mar, abr, etc.
  • día de la semana - de 0 a 6 (domingo = 0 o 7) O dom, lun, tue, wed, thu, vie, sáb
  • comando

Asterisco - para todos los valores. Ejemplo:

10 20 * * * /var/script

Para esta entrada, cron ejecutará el script todos los días a las 20:10.

Opciones adicionales de configuración de cron

Guión (-) le permite especificar un rango de valores. Por ejemplo, ejecución en días laborables:

10 20 * * 1-5

Coma (,) le permite especificar varios valores. Por ejemplo, el lanzamiento a las 10 y 20 horas se puede escribir de la siguiente manera:

10 10,20 * * *

Slash (/) le permite especificar un paso de valor. Por ejemplo, ejecute cada 10 minutos:

* / 10 * * * *

Además, existen expresiones especiales para la creación simple de tareas: @reboot, @yearly o @annually, @monthly, @weekly, @daily, @hourly, @midnight. Cuando se aplique, la frecuencia corresponderá a su nombre. Por ejemplo:

@medianoche /var/script

Para ver todos los trabajos cron configurados, use el comando:

crontab -l

Administrar trabajos cron de otros usuarios

Puede ver los trabajos cron creados por otros usuarios si tiene derechos de administrador (sudo) o después de iniciar sesión con la cuenta raíz:

crontab -u nombre de usuario -l

E incluso editarlos:

crontab -u nombre de usuario -e

Administrar los derechos para crear trabajos cron

Inicialmente, cada usuario tiene permiso para crear trabajos cron.
Para prohibir esta acción para ciertos usuarios, agregue sus inicios de sesión a la /etc/cron.deny expediente. Otros usuarios tendrán el derecho.

Para evitar que se creen trabajos cron para todos excepto algunos usuarios, agregue esos usuarios al /etc/cron.allow archivo.