Crontab en Linux con 20 ejemplos útiles para programar trabajos

Crontab en Linux con 20 ejemplos útiles para programar trabajos

¿Ejecuta un trabajo cron en su servidor cada muchos minutos?? ¿Es usted un administrador o ingeniero del sistema que tiene que administrar los trabajos cron a diario?? ¿Sigues olvidando la sintaxis para configurar un nuevo trabajo cron?? Si es así, sigue leyendo.

Cron es una parte esencial de cualquier sistema, ya que automatiza varias tareas programadas. El comando crontab se utiliza para editar y administrar trabajos cron. Crear un trabajo cron no es difícil, pero puede volverse complicado cuando se trata de múltiples usuarios y entornos. La sintaxis de Crontab es principalmente la misma en todas las distribuciones y servidores de Linux, por lo que una vez que lo domine, programará tareas en poco tiempo!

En este tutorial, aprenderá a usar crontab con 20 ejemplos útiles para programas de trabajos. También puede usar CRONTAB para que las tareas se ejecuten una vez en el futuro solamente, pero para que cualquier tarea se ejecute una vez que recomendemos usar el comando Linux AT.

Si no tiene CRONTAB instalado en su sistema, consulte el artículo Instalar Crontab en CentOS/RHEL.

Sintaxis de Linux Crontab

El formato de un archivo crontab es muy simple: cada línea contiene seis campos, separados por espacios. El primer campo especifica el minuto (0-59) Cuando se ejecutará el trabajo, el segundo campo especifica la hora (0-23), el tercer campo especifica el día del mes (1-31), y así sucesivamente. Los comodines también se pueden usar en archivos crontab. Por ejemplo, un asterisco en el cuarto campo indica que el trabajo debe ejecutarse cada semana.

       

  • Minuto - Un valor minuto puede estar entre 0-59
  • Hora - Un valor de hora puede ser entre 0-23
  • Día del mes - Este valor puede entre 1-31. Durante los meses, tener menos días ignorará la parte restante
  • Mes del año - Esto puede ser entre 1-12. También puede definir este valor con los primeros tres alfabetos del mes como Jan, Feb, Mar, APR, etc.
  • Día de la semana - Este puede ser el valor entre 0-7. Donde 0 y 7 para el domingo, 1 para el lunes 2 para el martes, y así sucesivamente. También puede usar los tres primeros alfabetos de días como Sun, Mon, Tue, Wed, etc.

Ahora, las declaraciones a continuación describirán cómo definir múltiples valores o rangos. Leer a continuación y comprender.

  • Astrics (*) - Coincide con cualquier cosa
  • Valores múltiples - Use el comando (,) para definir múltiples valores como 2,4,8 o sol, viernes o enero, octubre, dec, etc.
  • Definir el rango - Puede definir el rango usando el guión como: 1-10 o 20-30 o Sun-fri o febrero-abril
  • Definir múltiples rangos - Puede definir múltiples rangos con comandos separados como: Jan-Mar, Jul-Sep

Cómo agregar/editar crontab

Los archivos crontab generalmente se almacenan en el /etc /cron.D/ Directorio en sistemas Linux. El comando CRONTAB se puede usar para editar el archivo CRONTAB.

crontab -e 

Por defecto, editará las entradas CRONTAB del usuario iniciado actualmente. Para editar otro usuario CRONTAB Use el comando a continuación:

crontab -u nombre de usuario -e 

Cambiar el EDITOR Variable de entorno para cambiar su editor predeterminado.

Cómo enumerar Crontab

Para ver las entradas CRONTAB de los usuarios actuales, use el siguiente comando.

crontab -l 

Use -U seguido del nombre de usuario para ver las entradas crontab del usuario especificado.

crontab -u nombre de usuario -l 

20 ejemplos útiles para programar crontab

Aquí está la lista de ejemplos para programar trabajos de cron en un sistema de Linux usando crontab.

  1. Programe un cron para ejecutar a las 2 am diariamente.
  2. Esto será útil para programar copias de seguridad de la base de datos a diario.

    0 2 * * * /bin /sh copia de seguridad.mierda 
    • Asterisk (*) se usa para hacer coincidir todos los registros.
  3. Programe un cron para ejecutar dos veces al día.
  4. El comando de ejemplo a continuación se ejecutará a las 5 a.m. y a las 5 p.m. diariamente. Puede especificar múltiples sellos de tiempo por comas.

    0 5,17 * * * /scripts /script.mierda 
  5. Programe un cron para ejecutar cada minuto.
  6. En general, no requerimos ningún script para ejecutar cada minuto, pero en algunos casos, es posible que deba configurarlo.

    * * * * * * /scripts /script.mierda 
  7. Programe un cron para ejecutar todos los domingos a las 5 p.m.
  8. Este tipo de cron es útil para realizar tareas semanales, como rotación de registro, etc.

    0 17 * * Sun /scripts /script.mierda 
  9. Programe un cron para ejecutar cada 10 minutos.
  10. Si desea ejecutar su script a intervalos de 10 minutos, puede configurarlo como el siguiente. Estos tipos de crons son útiles para monitorear.

    */10 * * * */scripts/monitor.mierda 

    */10: significa correr cada 10 minutos. Igual que si desea ejecutar cada 5 minutos para usar */5.

  11. Programe un cron para ejecutar en los meses seleccionados.
  12. A veces estamos obligados a programar una tarea que se ejecute solo para meses seleccionados. El guión de ejemplo a continuación se ejecutará en enero, mayo y meses de agosto.

    * * * enero, mayo, agosto * /script /script.mierda 
  13. Programe un cron para ejecutar en días seleccionados.
  14. Si requirió programar una tarea para ejecutarse solo para los días seleccionados. El siguiente ejemplo se ejecutará cada domingo y viernes a las 5 p.m.

    0 17 * * Sun, Fri /Script /Script.mierda 
  15. Programe un cron para ejecutar el primer domingo de cada mes.
  16. Para programar un script para ejecutar un script el primer domingo, no es posible solo por el parámetro de tiempo, pero podemos usar la condición en los campos de comando para hacerlo.

    0 2 * * Sun [$ (fecha +%d) -le 07] && /script /script /script.mierda 
  17. Programe un cron para ejecutar cada cuatro horas.
  18. Si desea ejecutar un script en intervalos de 4 horas. Se puede configurar como a continuación.

    0 */4 * * */scripts/script.mierda 
  19. Programe un cron para ejecutar dos veces todos los domingos y lunes.
  20. Para programar una tarea para ejecutar dos veces el domingo y el lunes solo. Use la siguiente configuración para hacerlo.

    0 4,17 * * Sol, Mon /Scripts /Script.mierda 
  21. Programe un cron para ejecutar cada 30 segundos.
  22. Proyectar una tarea para ejecutar cada 30 segundos no es posible por parámetros de tiempo, pero se puede hacer programando el mismo cron dos veces a continuación.

    * * * * * * /scripts /script.sh * * * * * * dormir 30; /scripts/script.mierda 
  23. Programe múltiples tareas en un solo Cron.
  24. Para configurar múltiples tareas con un solo cron, se puede realizar separando las tareas por el punto y el punto de la vez (;).

    * * * * * * /scripts /script.mierda; /scripts/scrit2.mierda 
  25. Programe tareas para ejecutar anualmente (@Yearly).
  26. @anual La marca de tiempo es similar a "0 0 1 1 *". Ejecutará una tarea en el primer minuto de cada año, puede ser útil enviar saludos de año nuevo 🙂

    @Yearly /scripts /script.mierda 
  27. Programe tareas para ejecutar mensualmente (@Monthly).
  28. @mensual La marca de tiempo es similar a "0 0 1 * *". Ejecutará una tarea en el primer minuto del mes. Es útil realizar tareas mensuales como pagar las facturas y la facturación a los clientes.

    @Monthly /scripts /script.mierda 
  29. Programe tareas para ejecutar semanalmente (@weekly).
  30. A @semanalmente La marca de tiempo es similar a "0 0 * * Sol". Ejecutará una tarea en el primer minuto de la semana. Es útil realizar tareas semanales como la limpieza del sistema, etc.

    @weekly /bin /script.mierda 
  31. Programe tareas para ejecutar diariamente (@Daily).
  32. @a diario La marca de tiempo es similar a "0 0 * * *". Ejecutará una tarea en el primer minuto de cada día, puede ser útil realizar tareas diarias.

    @daily /scripts /script.mierda 
  33. Programe tareas para ejecutar por hora (@hourly).
  34. @cada hora La marca de tiempo es similar a "0 * * * *". Ejecutará una tarea en el primer minuto de cada hora, puede ser útil realizar tareas por hora.

    @hourly /scripts /script.mierda 
  35. Programe tareas para ejecutar en el reinicio del sistema (@reboot).
  36. @reiniciar es útil para aquellas tareas que desea ejecutar en el inicio de su sistema. Será lo mismo que los scripts de inicio del sistema. Es útil para iniciar tareas en segundo plano automáticamente.

    @reboot /scripts /script.mierda 
  37. Redirige los resultados de Cron a una cuenta de correo electrónico específica.
  38. Por defecto, CRON envía detalles al usuario actual donde está programado Cron. Si desea redirigirlo a su otra cuenta, se puede hacer configurando la variable de correo como a continuación

    crontab -l  Mail = Bob 0 2 * * * /script /backup.mierda 
  39. Tome una copia de seguridad de todos los cron a un archivo de texto sin formato.
  40. Recomiendo mantener una copia de seguridad de todos los trabajos de entrada en un archivo. Esto lo ayudará a recuperar Cron en caso de eliminación accidental.

    Verifique el cron programado actual:

    crontab -l  Correo = rahul 0 2 * * * /script /backup.mierda 

    CONTRACIÓN DE CONTRACIACIÓN CRON al archivo de texto:

    # crontab -l> cron -backup.txt # gat cron-backup.Txt Mail = rahul 0 2 * * * /script /backup.mierda 

    Eliminar el cron programado actual:

    # crontab -r # crontab -l sin crontab para root 

    Restaurar crons desde el archivo de texto:

    # crontab cron-backup.txt # crontab -l mail = rahul 0 2 * * * /script /backup.mierda 

Conclusión

Gracias por leer este artículo, espero que te ayude a entender Crontab en Linux. Para programar tareas de tiempo, también puede usar el comando Linux AT.