lunes, 16 de mayo de 2022

Crontab

 

Es utilizado en Linux para programar la ejecución de comandos, o sea, para automatizar tareas.

Para ver los crontab que existen, utilizamos este comando:

 sudo crontab -l

Para editarlos:

sudo crontab -e

 

la sintaxis es la siguiente, 5 asteriscos seguidos del comando a ejecutar.

 

* * * * * /home/ejecutar/script.sh

 

De izquierda a derecha, los asteriscos representan:

 

Minutos: de 0 a 59.

Horas: de 0 a 23.

Día del mes: de 1 a 31.

Mes: de 1 a 12.

Día de la semana: de 0 a 6, siendo 0 el domingo.

Si se deja un asterisco, quiere decir "cada" minuto, hora, día de mes, mes o día de la semana.

Otro ejemplo:

30 2 * * 1 /home/ejecutar/script.sh

En el minuto 30

De las 2 de la noche

De cada día del mes

De cada mes

Sólo si es viernes

 

 

Ejecutar un script de lunes a viernes cada 10 minutos desde las 2:00 horas durante una hora:

0,10,20,30,40,50 2 * * 1-5 /bin/ejecutar/script.sh

 

Esto quizá puede ser largo. La sintaxis de crontab permite lo siguiente. Imaginemos que queremos ejecutarlo cada 5 minutos:

 

*/5 2 * * 1-5 /bin/ejecutar/script.sh

 

También hay palabras reservadas para facilitar el uso:

@reboot: se ejecuta una única vez al inicio.

@yearly/@annually: ejecutar cada año.

@monthly: ejecutar una vez al mes.

@weekly: una vez a la semana.

@daily/@midnight: una vez al día.

@hourly: cada hora.

Por ejemplo, para ejecutar el script cada hora:

 

@hourly /home/ejecutar/script.sh

No hay comentarios:

Publicar un comentario