Cómo crear y administrar trabajos Cron en Linux


automatizar tareas de respaldo, limpieza de directorios, notificaciones, etc.

Los trabajos cron se ejecutan en segundo plano y comprueban constantemente el archivo /etc/crontab , y el /etc/cron.*/ y /var/spool/cron/ directorios. Se supone que los archivos cron no deben editarse directamente y cada usuario tiene un crontab único.

Entonces, ¿cómo se supone que debes crear y editar trabajos cron? Con comandos crontab. El crontab es el método que utiliza para crear, editar, instalar, desinstalar y enumerar trabajos cron.

El comando para crear y editar trabajos cron es el mismo y simple. Y lo que es aún mejor es que no es necesario reiniciar cron después de crear nuevos archivos o editar los existentes.

$ crontab -e

Sintaxis Cron

Al igual que con cualquier lenguaje, trabajar con cron es mucho más fácil cuando comprendes su sintaxis y hay 2 formatos que debes conocer:

A B C D E USERNAME /path/to/command arg1 arg2
OR
A B C D E USERNAME /root/backup.sh

Explicación de la sintaxis cron anterior:

  • A: intervalo de minutos: 0 - 59
  • B: Intervalo de horas: 0 - 23
  • C: Intervalo de días: 0 - 31
  • D: Intervalo de meses: 0 - 12
  • E: Intervalo de días de la semana: 0 - 7. A partir del lunes, 0 o 7 representa el domingo
  • NOMBRE DE USUARIO: reemplácelo con su nombre de usuario
  • /ruta/a/comando: el nombre de la secuencia de comandos o comando que desea programar

Eso no es todo. Cron usa 3 símbolos de operador que le permiten especificar múltiples valores en un campo:

  1. Asterisco (*) : especifica todos los valores posibles para un campo
  2. La coma (,) : especifica una lista de valores
  3. Guión (-) : especifica un rango de valores
  4. Separador (/) : especifica un valor de paso

Ahora que conoce la sintaxis y los operadores de Cron, veamos algunos ejemplos de cron.

Ejemplos de trabajos cron

El primer paso para ejecutar los comandos cron es instalar su crontab con el comando:

# crontab -e

Ejecute /root/backup.sh a las 3 am todos los días:

0 3 * * * /root/backup.sh

Ejecute script.sh a las 4:30 pm el segundo de cada mes:

30 16 2 * * /path/to/script.sh

Ejecute /scripts/phpscript.php a las 10 pm durante la semana:

0 22 * * 1-5 /scripts/phpscript.php

Ejecute perlscript.pl 23 minutos después de la medianoche, 2 a.m. y 4 a.m., todos los días:

23 0-23/2 * * * /path/to/perlscript.pl

Ejecute el comando de Linux a las 04:05 todos los domingos:

5 4 * * sun /path/to/linuxcommand

Opciones de cron

Lista de trabajos cron.

# crontab -l
OR
# crontab -u username -l

Elimina todos los trabajos crontab.

# crontab -r

Eliminar trabajo Cron para un usuario específico.

# crontab -r -u username

Cadenas en Crontab

Las cadenas se encuentran entre las cosas favoritas de los desarrolladores porque ayudan a ahorrar tiempo al eliminar la escritura repetitiva. Cron tiene cadenas específicas que puede usar para crear comandos más rápido:

  1. @hourly : ejecutar una vez cada hora, es decir, "0 * * * *"
  2. @midnight : ejecutar una vez al día, es decir, "0 0 * * *"
  3. @daily : igual que medianoche
  4. @weekly : ejecutar una vez a la semana, es decir, "0 0 * * 0"
  5. @monthly : se ejecuta una vez al mes, es decir, "0 0 1 * *"
  6. @annually : ejecutar una vez al año, es decir, "0 0 1 1 *"
  7. @yearly : igual que @annually
  8. @reboot : ejecutar una vez en cada inicio

Por ejemplo, así es como hacer una copia de seguridad de su sistema todos los días:

@daily /path/to/backup/script.sh

En este punto, tiene todo lo que necesita para crear y administrar tareas del sistema usando Cron. Ahora puede comenzar a configurar y mantener varios entornos mediante comandos programados.

¿Qué tan usuario de Cron eres? ¿Y hay algún detalle que pueda aportar al artículo? El cuadro de discusión se encuentra a continuación.

Cuando comprenda lo suficiente sobre cómo funciona Crontab, puede usar estas ingeniosas utilidades del generador de Crontab para generar líneas crontab de forma gratuita.

Además, puede leer el artículo de Ubuntu sobre cómo usar Cron aquí. Tiene recursos que pueden resultarle útiles.