Comando cron en Linux con ejemplos

El cron es una utilidad de software, ofrecida por un sistema operativo similar a Linux que automatiza la tarea programada en un momento predeterminado. Es un proceso daemon , que se ejecuta como un proceso en segundo plano y realiza las operaciones especificadas en el momento predefinido cuando se desenstring un determinado evento o condición sin la intervención de un usuario. Lidiar con una tarea repetida con frecuencia es una tarea intimidante para el administrador del sistema y, por lo tanto, puede programar dichos procesos para que se ejecuten automáticamente en segundo plano a intervalos regulares de tiempo creando una lista de esos comandos usando cron .. Permite a los usuarios ejecutar la tarea programada de manera regular y discreta, como hacer la copia de seguridad todos los días a la medianoche, programar actualizaciones semanalmente, sincronizar los archivos a intervalos regulares. Cron verifica el trabajo programado de forma recurrente y cuando los campos de tiempo programados coinciden con los campos de tiempo actuales, se ejecutan los comandos programados. Se inicia automáticamente desde /etc/init.d al ingresar a los niveles de ejecución multiusuario. 
Sintaxis: 

cron [-f] [-l] [-L loglevel]

Opciones: 
 

  • -f : se usa para permanecer en modo de primer plano y no demonizar.
  • -l : Esto habilitará los nombres compatibles con LSB para los archivos /etc/cron.d.
  • -n: se usa para agregar el FQDN en el asunto al enviar correos.
  • -L loglevel: esta opción le dirá al cron qué registrar sobre los trabajos con los siguientes valores: 
    • 1: Registrará el inicio de todos los trabajos cron.
    • 2: Registrará el final de todos los trabajos cron.
    • 4: Registrará todos los trabajos fallidos. Aquí el estado de salida no será igual a cero.
    • 8: Registrará el número de proceso de todos los trabajos cron.

El crontab (abreviatura de «tabla cron») es una lista de comandos para ejecutar las tareas programadas en un momento específico. Permite al usuario agregar, eliminar o modificar las tareas programadas. La sintaxis del comando crontab tiene seis campos separados por espacios donde los primeros cinco representan el tiempo para ejecutar la tarea y el último es para el comando. 

  • Minuto (tiene un valor entre 0-59)
  • Hora (mantiene el valor entre 0-23)
  • Día del mes (mantiene un valor entre 1 y 31)
  • Mes del año (tiene un valor entre 1-12 o enero-diciembre, se utilizarán las tres primeras letras del nombre del mes)
  • Día de la semana (tiene un valor entre 0-6 o Sun-Sat, aquí también se utilizarán las tres primeras letras del día)
  • Dominio

Las reglas que rigen el formato del campo de fecha y hora son las siguientes: 

  • Cuando cualquiera de los primeros cinco campos se configura con un asterisco (*), representa todos los valores del campo. Por ejemplo, para ejecutar un comando diariamente, podemos poner un asterisco (*) en el campo de la semana.
  • También se puede usar un rango de números, separados con un guión (-) en el campo de hora y fecha para incluir más de un valor contiguo pero no todos los valores del campo. Por ejemplo, podemos usar el 7-10 para ejecutar un comando de julio a octubre.
  • El operador coma (, ) se utiliza para incluir una lista de números que pueden o no ser consecutivos. Por ejemplo, «1, 3, 5» en el campo de las semanas significa la ejecución de un comando todos los lunes, miércoles y viernes.
  • Se incluye un carácter de barra inclinada (/) para omitir un número dado de valores. Por ejemplo, «*/4» en el campo de la hora especifica «cada 4 horas», lo que equivale a 0, 4, 8, 12, 16, 20.

Permitir a los usuarios ejecutar trabajos cron: 

  • El usuario debe estar incluido en este archivo para poder ejecutar trabajos cron si el archivo existe.
/etc/cron.allow
  • Si el archivo cron.allow no existe pero existe el archivo cron.deny, entonces un usuario no debe estar incluido en este archivo para poder ejecutar el trabajo cron.
/etc/cron.deny

Nota: Si ninguno de estos archivos existe, solo el superusuario (administrador del sistema) podrá usar un comando determinado. 
Ejemplos de comandos: 

  • Ejecute /home/folder/gfg-code.sh cada hora, de 9:00 a. m. a 6:00 p. m., todos los días.
00 09-18 * * * /home/folder/gfg-code.sh
  • Ejecute /usr/local/bin/backup a las 11:30 p. m., todos los días de la semana.
30 23 * * Mon, Tue, Wed, Thu, Fri /usr/local/bin/backup
  • Ejecute sample-command.sh a las 07:30, 09:30, 13:30 y 15:30.
30 07, 09, 13, 15 * * * sample-command.sh

Se deben recordar los siguientes puntos al trabajar con cron: 

  • Tenga un control de versión de origen para rastrear y mantener los cambios en las expresiones cron.
  • Organiza los trabajos programados en función de su importancia o la frecuencia y agrúpalos por su acción o el rango de tiempo.
  • Pruebe el trabajo programado teniendo una alta frecuencia inicialmente.
  • No escriba código complejo o varias tuberías y redirección en la expresión cron directamente. En su lugar, escríbalos en un script y programe el script en la pestaña cron.
  • Utilice alias cuando el mismo conjunto de comandos se repita con frecuencia.
  • Evite ejecutar comandos o scripts a través de cron como usuario raíz.

Publicación traducida automáticamente

Artículo escrito por dummyid1998 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *