Búsqueda de sitios web

Cómo crear y administrar trabajos cron en Linux


Cron es una de las herramientas más útiles de Linux y una de las favoritas de los desarrolladores porque le permite ejecutar comandos automatizados en períodos, fechas e intervalos específicos utilizando scripts tanto de propósito general como de tareas específicas. Dada esa descripción, puedes imaginar cómo lo usan los administradores del sistema para automatizar tareas de respaldo, limpieza de directorios, notificaciones, etc.

Los trabajos cron se ejecutan en segundo plano y verifican constantemente el archivo /etc/crontab y los archivos /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 sencillo. Y lo que es aún mejor es que no es necesario reiniciar cron después de crear archivos nuevos o editar los existentes.


crontab -e

Sintaxis cron

Así como ocurre con cualquier idioma, trabajar con cron es mucho más fácil cuando entiendes 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: Minutos rango: 0 – 59
  • B: Rango de horas: 0 – 23
  • C: Días rango: 0 – 31
  • D: Meses rango: 0 – 12
  • E: Días de la semana rango: 0 – 7. A partir del lunes, 0 o 7 representa el domingo.
  • NOMBRE DE USUARIO: reemplaza esto con tu nombre de usuario
  • /ruta/al/comando: el nombre del script o comando que desea programar

Eso no es todo. Cron utiliza 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 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, a las 2 a. m. y a las 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

Listar trabajos cron.


crontab -l
OR
crontab -u username -l

Elimine 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 puedes usar para crear comandos más rápido:

  1. @hourly: se ejecuta una vez cada hora, es decir, “0 * * * *
  2. @midnight: se ejecuta una vez al día, es decir, “0 0 * * *
  3. @daily: igual que medianoche
  4. @weekly: se ejecuta una vez por semana, es decir, “0 0 * * 0
  5. @monthly: se ejecuta una vez al mes, es decir, “0 0 1 * *
  6. @annually: se ejecuta 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 puedas aportar al artículo? El cuadro de discusión se encuentra a continuación.

Cuando comprenda lo suficiente cómo funciona Crontab, podrá utilizar estas ingeniosas utilidades generadoras de Crontab para generar líneas crontab de forma gratuita.

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