Crontab es una importante herramienta de Linux que se utiliza para programar tareas para que los programas y scripts puedan ejecutarse en un momento específico. En este artículo, le enseñaré cómo puede programar un trabajo en Debian 10 y le mostraré algunos ejemplos.
Requisitos
Debe tener privilegios de raíz antes de continuar.
Instalación de Cron y Crontab
En mi Debian 10, cron está instalado por defecto. Sin embargo, si no está instalado en su máquina, ejecute los siguientes comandos en la terminal con privilegios de root.
apt-get update
apt-get install cron
Para obtener una lista de trabajos cron ya programados en su máquina, ejecute lo siguiente en la terminal.
crontab -l
Abrir crontab con un editor de texto
Para abrir crontab con un editor de texto, ejecute el siguiente comando con privilegios de root.
crontab -e
Tan pronto como se ejecute el comando, se le pedirá que elija el editor de texto como se muestra en la siguiente captura de pantalla.
El comando crontab -e abre el crontab del usuario conectado actualmente, que es el usuario raíz en mi ejemplo. Para abrir el crontab de otro usuario, digamos el usuario 'tom', agregue el indicador -u seguido del nombre del usuario. Ejemplo:
crontab -e -u tom
Sintaxis del crontab
Linux crontab tiene seis campos como se muestra a continuación.
* * * * * /path/to/script.sh
Cada uno de los campos tiene el siguiente significado.
[Minuto] [hora] [Día_del_mes] [Mes_del_año] [Día_de_la_semana] [comando]
Minuto 0 – 59
Hora 0 – 23
Día del mes 1 – 31
Mes del año 1 – 12
Día de la semana 0 – 7
Un ejemplo básico de un trabajo cron
Estos son algunos de los ejemplos de trabajos cron.
1. Programe un trabajo cron para que se ejecute a las 2 a. m. todos los días
0 2 * * * /bin/sh backup.sh
El trabajo cron anterior se ejecutará diariamente a las 2 AM y ejecutará un script backup.sh. Esto mantendrá la copia de seguridad todos los días.
2. Programe un trabajo cron para que se ejecute dos veces al día
0 5,17 * * * /scripts/script.sh
El trabajo cron anterior se ejecutará a las 5 a. m. y 5 p. m. todos los días. Se pueden especificar varias veces con la ayuda de una coma.
3. Programe un trabajo cron para que se ejecute cada minuto
* * * * * scripts/script.sh
El trabajo cron anterior se ejecutará cada minuto.
4. Programe un trabajo cron para que se ejecute todos los domingos a las 5 p. m.
0 17 * * sun /scripts/script.sh
El trabajo cron anterior se ejecutará todos los domingos a las 5 p.m. Este tipo de cron es útil para realizar tareas semanales como la rotación de registros, etc.
5. Programe un trabajo cron para que se ejecute cada 10 minutos
Si desea que su trabajo se ejecute cada 10 minutos, cron debe actualizarse de la siguiente manera.
*/10 * * * * /scripts/monitor.sh
'*/10' significa que se ejecuta cada 10 minutos.
6. Programe un trabajo cron para ejecutar en meses seleccionados
Suponga que desea ejecutar un cron en enero, mayo y agosto, el trabajo cron debe configurarse de la siguiente manera.
* * * jan,may,aug * /script/script.sh
Una vez más, se pueden especificar varios meses con una coma.
7. Programe un trabajo cron para que se ejecute en los días seleccionados
Si desea que su trabajo cron se ejecute en los días seleccionados, suponga que el domingo y el viernes a las 5 p. m., debería verse de la siguiente manera.
0 17 * * sun,fri /script/script.sh
8. Programe múltiples tareas en un solo trabajo cron
Se pueden ejecutar varios scripts en una sola tarea de la siguiente manera. Ambos guiones deben estar separados por un punto y coma.
* * * * * /scripts/script.sh; /scripts/scrit2.sh
9. Programe un trabajo cron para que se ejecute cada 30 segundos
Para programar un trabajo cron para que se ejecute cada 30 segundos, debemos configurar dos cron de la siguiente manera:
* * * * * /scripts/script.sh * * * * * sleep 30; /scripts/script.sh
10. Programe un trabajo cron para que se ejecute dos veces cada domingo y lunes
Si desea programar un trabajo para que se ejecute dos veces a las 4 a. m. y a las 5 p. m. todos los domingos y lunes, el cronjob debería verse así:
0 4,17 * * sun,mon /scripts/script.sh
Tanto la hora como la semana del día se han separado por comas.
Conclusión
Gracias por leer este artículo sobre trabajos cron. ¡¡Que tengas un gran día!!