LINUX

Linux Crontab con ejemplos de trabajos Cron

El archivo crontab almacena trabajos cron en Linux. Los trabajos cron (cron) se ejecutan periódicamente en horas, fechas e intervalos fijos. Su equivalente en Windows es la tarea programada. Todas las tareas repetitivas se pueden programar usando cron.

El archivo crontab es el archivo de configuración que contiene información sobre la hora y el comando/scripts a ejecutar.

En este tutorial aprendemos crontab de linux con ejemplos a programar trabajos.

Sintaxis Crontab

Cada línea del archivo crontab representa un trabajo. Contener cinco campos seguido de un comando o script de shell llevar a cabo.

Sintaxis:

* (Minute) *(Hour) * (Day of the Month) *(Month of the Year) *(Day of the Week) username <path to command/script to execute>
* Minuto Este valor de campo está entre 0 – 59
* Hora El valor de este campo está entre 0 y 23
* día del mes Este valor de campo está entre 1 – 31
* Mes del año El valor de este campo está entre 1 y 12. También se aceptan los primeros 3 alfabetos del mes, como ene, feb, mar
* Día de la semana El valor de este campo está entre 0 y 7. Donde 0 y 7 es el domingo. 1 es lunes, 2 es martes, como sabio
campos crontab
archivo crontab – que representa un trabajo

Definir múltiples valores o rangos

Para definir múltiples valores y rangos, use coma (,) y guión (-). asterisco

va con todo. Por ejemplo, para mostrar múltiples valores, use 1,2,3 o Lun,Tue,Wed, y para rangos puede usar 1-3 o Lun-Wed.

Cómo usar crotab crontab

El comando se usa para abrir y editar/agregar trabajos cron. El demonio cron que se ejecuta en Linux ejecuta trabajos programados en el momento definido en el crontab (tabla cron). El archivo crontab principal de todo el sistema es /etc/crontab. cron es el siguiente Modo por defecto

instalado en la mayoría de las distribuciones de Linux. Cada usuario del sistema Linux puede administrar sus propios trabajos cron. Cada cron de usuario se almacena en /var/spool/cron/crontabs/. El demonio cron ejecuta tanto el usuario como el crontab del sistema.

El demonio Cron tiene definido un $PATH predeterminado, que puede encontrar en /etc/crontab. Si no está definido, use la ruta absoluta o agregue $PATH a la variable cron. MAILTO La notificación por correo electrónico de Cron se envía al propietario de crontab de forma predeterminada. Para cambiar esto, edite

Variable ambiental. diarios cron se almacenan en /var/log/syslog en sistemas Ubuntu/Debian y en /var/registro/cron

en Red Hat/Rocky Linux. Puede filtrar el archivo de registro con el comando grep para verificar si el trabajo cron se ejecutó correctamente o no.

1. Editar/Agregar Crontab

$ crontab -e

Para editar (trabajos existentes) o agregar un nuevo cron, use el comando crontab -e. Esto abrirá un editor para el usuario actual.

$ crotab -u username -e

Para editar otro archivo crontab de usuario, escriba:

O simplemente ejecute el comando crontab -e iniciando sesión como ese usuario.

2. Lista de trabajos de Cron

$ crontab -l

Para enumerar todos los trabajos del usuario actual, escriba:

$ crontab -u -l 

Para enumerar todos los trabajos cron para un usuario específico, escriba:

3. Eliminar trabajos cron

# crontab -r

Para eliminar todos los trabajos cron del usuario actual, ejecute el siguiente comando:

Nota: Esto eliminará todos los trabajos cron sin pedir confirmación.

# crontab -ir

Si desea eliminar de forma interactiva, debe usar el siguiente comando:

Ejemplos de trabajos Crontab

Veamos algunos ejemplos de crontab para programar trabajos cron.

1. Ejecute trabajos cron cada 12 horas

0 */12 * * * /scripts/test.sh

Esto ayuda con las comprobaciones periódicas del sistema o las copias de seguridad. Para programar una tarea para que se ejecute cada 12 horas, escriba:

2. Ejecute el trabajo cron cada 5 minutos

*/5 * * * * /scripts/test.sh

A veces necesita monitorear su sistema cada n minutos. Utilice la siguiente expresión para ejecutar la tarea cada 5 minutos.

3. Ejecute el trabajo cron todos los días a las 2 am

0 2 * * * /script/test.sh

La copia de seguridad diaria se puede programar para una hora específica. La siguiente expresión ejecuta el trabajo cron a las 2 AM todos los días.

0 14 * * * /script/test.sh

Para programar un trabajo cron todos los días a las 14:00, cron usa el reloj de 24 horas.

30 12 * * * /script/test.sh

4. Ejecute el trabajo cron todos los días a las 12:30

5. Ejecute el trabajo cron cada minuto

* * * * * /scripts/test.sh

Por ejemplo, tiene un script que debe ejecutarse cada minuto, use la siguiente expresión.

6. Ejecute el trabajo cron en ciertos minutos

2,15,30 * * * * /scripts/test.sh

Utilice la siguiente expresión cron para ejecutar el script en los minutos 2, 15 y 30.

7. Ejecute el trabajo cron para que se ejecute todos los sábados a la 1 a.m.

0 1 * * sat /scripts/test.sh

Esto le ayuda a ejecutar la copia de seguridad el sábado a una hora específica. La siguiente expresión ayuda a cronear todos los sábados a la 1 a.m.

8. Ejecute el trabajo cron para que se ejecute en meses específicos

0 1 1 jan,apr,jun *  /script/test.sh 

Para ejecutar trabajos cron a la 01:00 el primer día del mes en enero, abril y junio.

9. Ejecute el trabajo cron en los días seleccionados

0 4 * * sat,sun  /script/test.sh

Para ejecutar trabajos cron en días seleccionados, como sábado y domingo, use:

10. Ejecute trabajos cron en momentos específicos del día

0 9-17 * * * /script/test.sh

En el minuto 0 después de cada hora de 9 a 17

11. Ejecute el trabajo cron dos veces cada sábado y domingo

0 2,23 * * sat,sun /scripts/test.sh

Los trabajos cron permiten que las tareas se ejecuten en momentos específicos en días específicos

12. Ejecute el trabajo cron para un rango de lunes a viernes

0 2 * * mon-fri /scripts/test.sh

A las 02:00 todos los días de la semana, de lunes a viernes.

13. Ejecute el trabajo cron mensual

@monthly /scripts/test.sh

En lugar de usar 0 0 1 * *, puede usar el atajo usando @monthly. Funciona a las 00:00 del primer día del mes. Alternativamente, puede colocar el script en /etc/cron.monthly/.

14. Ejecutar trabajo cron semanal

@weekly /scripts/test.sh

En lugar de usar 0 0 * * mon, puede usar el atajo usando @weekly. Funciona a las 00:00 del lunes. Alternativamente, puede colocar el script en /etc/cron.weekly/.

15. Ejecute el trabajo cron diariamente

@daily /scripts/test.sh

En lugar de usar 0 0 * * *, puede usar el atajo usando @daily. Opera a las 00:00 todos los días. Alternativamente, puede colocar el script en /etc/cron.daily/.

16. Ejecutar trabajo cron cada hora

@hourly /scripts/test.sh

En lugar de usar 0 */1 * * *, puede usar el atajo usando @hourly. Funciona a 0 minutos después de cada hora. Alternativamente, puede colocar el script en /etc/cron.hourly/.

17. Ejecute el trabajo cron al reiniciar

@reboot /scripts/test.sh

Para ejecutar una tarea en cada reinicio del sistema, use la cadena @reboot. El script se ejecutará después de reiniciar.

18. Ejecute el trabajo cron cada 30 segundos

Cron solo permite correr por un mínimo de 60 segundos. No existe una forma sencilla de programar un trabajo para que se ejecute cada 30 segundos.

 * * * * /scripts/run.sh
 * * * *  sleep 30; /scripts/run.sh 

Pero podemos usar una solución alternativa aumentando la demora en 30 segundos.

19. Ejecute un trabajo cron y redirija la salida

*/3 * * * * /usr/bin/php /script/run.php >> /var/log/run.log

Esto ejecutará el script php cada 3 minutos y redirigirá la salida a un archivo.

20. Ejecute el trabajo cron para ejecutar múltiples comandos

0 */12 * * Sun command1 && command2

Para ejecutar cron para ejecutar múltiples comandos, use el operador && entre los comandos.

Copia de seguridad de trabajos cron

# crontab -l > /backup/cron/root-bckup.txt

Para hacer una copia de seguridad de cron, use el siguiente comando

# crontab -u userName -l > /backup/cron/user-bckup.txt

Para hacer una copia de seguridad de un usuario específico, escriba:

# crontab /backup/cron/root-backup.txt

Para restaurar cron desde el archivo de copia de seguridad, simplemente use:

Conclusión

En este tutorial aprendimos sobre crontab en Linux y ejemplos para programar trabajos cron.

Si tiene comentarios y sugerencias, por favor comente a continuación.

Publicaciones relacionadas

Deja una respuesta

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

Botón volver arriba
Cerrar