Inicio > Gestión de paquetes y sistema > cron

cron: Demonio de programación de tareas periódicas

cron es un demonio (servicio en segundo plano) en sistemas Linux/Unix que ejecuta comandos o scripts automáticamente a horas especificadas. Principalmente, los usuarios o administradores del sistema registran y gestionan tareas (cron jobs) a través del comando crontab. Este demonio se inicia automáticamente al arrancar el sistema, se ejecuta en segundo plano y verifica y ejecuta las tareas registradas periódicamente.

Descripción general

El demonio cron es uno de los servicios centrales del sistema y se utiliza para automatizar tareas repetitivas. Los usuarios pueden configurar los comandos a ejecutar, la hora de ejecución y la periodicidad a través del archivo crontab. Existen archivos crontab para todo el sistema (/etc/crontab) y archivos crontab para usuarios individuales.

Características principales

  • Programación de tareas basada en tiempo
  • Gestión de tareas por usuario / para todo el sistema
  • Ejecución automática en segundo plano
  • Utilizado para mantenimiento regular del sistema y automatización

Opciones principales

El demonio cron generalmente se inicia automáticamente al arrancar el sistema, y rara vez se ejecuta directamente desde la línea de comandos. Las siguientes opciones se utilizan principalmente para iniciar manualmente el demonio cron o para depurarlo. Los usuarios gestionan las tareas cron principalmente a través del comando crontab.

Control y depuración del demonio

Comando generado:

Combina los comandos.

Descripción:

`cron` Ejecutando el comando.

Combina las opciones anteriores para ejecutar virtualmente los comandos junto con la IA.

Ejemplos de uso

Es raro ejecutar el demonio cron directamente; generalmente se verifica su estado a través de systemctl o se gestionan las tareas a través de crontab.

Verificar el estado del servicio cron

systemctl status cron

Verifica si el demonio cron se está ejecutando actualmente.

Editar el archivo crontab del usuario actual

crontab -e

Agrega, modifica o elimina tareas cron para el usuario actual.

Ver la lista de tareas crontab del usuario actual

crontab -l

Muestra todas las tareas cron registradas para el usuario actual.

Ver el contenido del archivo crontab del sistema

cat /etc/crontab

Verifica las tareas cron aplicadas a todo el sistema. (Tenga cuidado al modificar)

Reiniciar el servicio cron

sudo systemctl restart cron

Reinicia el servicio para aplicar los cambios de configuración de cron al demonio.

Consejos y precauciones

Consejos y precauciones para gestionar tareas cron de manera eficiente y segura.

Consejos principales

  • **Variables de entorno**: El entorno de crontab puede tener variables de entorno limitadas del shell, por lo que es recomendable establecer explícitamente las variables de entorno necesarias dentro de los scripts o usar rutas completas.
  • **Verificar registros**: Si las tareas cron no se ejecutan como se esperaba, puede identificar la causa del problema verificando los registros en syslog o con el comando journalctl -u cron.
  • **Redirección de salida**: La salida estándar (stdout) y el error estándar (stderr) de las tareas cron se envían por correo electrónico al usuario que ejecuta la tarea por defecto. Para evitar el envío de correos innecesarios, redirija la salida a /dev/null o guárdela en un archivo de registro (ej: `command > /path/to/log.log 2>&1`).
  • **Uso de @reboot**: Para tareas que solo deben ejecutarse una vez al reiniciar el sistema, puede usar la palabra clave `@reboot`.
  • **Sintaxis de crontab**: Debe comprender y utilizar correctamente la sintaxis de programación en el formato `minuto hora día mes día_de_la_semana`.

Comandos de la misma categoría