Cron es una utilidad de línea de comandos efectiva y popular utilizada para programar una amplia gama de tareas en un tiempo especificado sin interacción del usuario. Las tareas programadas se conocen como trabajos cron, mientras que el crontab es la lista del archivo que contiene los trabajos cron.
En este artículo, explicaremos con varios programas de ejemplo que puede editar y usar el archivo CRONTAB para programar tareas en el sistema Debian 10.
CRON se puede usar para automatizar tareas en los siguientes escenarios:
Sintaxis
Es más fácil trabajar con cron, una vez que comprende su sintaxis. La sintaxis general para usar cron es:
* * * * */ruta/a/script.mierda
Cada uno de los campos corresponde a los siguientes:
Minuto (0-59) hora (0-24) day_of_the_month (1-7) mes_of_the_year (1-12)
Day_of_the_week (0-6) comando
Instalación de Cron
Cron viene preinstalado en Debian 10. Sin embargo, si falta en su sistema, ejecute el siguiente comando para instalarlo:
$ sudo apt instalación cron
Ver Crontab
Para ver el archivo CRONTAB, use el siguiente comando:
$ crontab -l
Para ver el archivo CRONTAB de un usuario en particular, use el siguiente comando:
$ sudo crontab -u usuario -l
Editar crontab
Para editar el archivo CRONTAB del usuario actual:
$ crontab -e
Para editar el archivo CRONTAB de un usuario en particular:
$ SUDO CRONTAB -U USUARIO
Si está editando el archivo CRONTAB por primera vez, se le pedirá que elija un editor:
Una vez que seleccione el editor, aparecerá la siguiente ventana.
Por ejemplo, desea ejecutar un script de copia de seguridad llamado "Backup.sh ”ubicado en el directorio de documentos diariamente a las 2:00 a.m. Para hacerlo, deberá agregar la siguiente línea en su archivo CRONTAB:
0 2 * * * /documentos /copia de seguridad.mierda
En la ventana anterior, puede agregar sus trabajos cron uno por uno. Una vez hecho esto, guarde y salga del archivo después de eso, todos los trabajos cron se ejecutarán automáticamente en su intervalo especificado.
Eliminar crontab
Para eliminar el archivo CRONTAB, ingrese el siguiente comando en la terminal:
$ crontab -r
Ahora pasemos por una serie de ejemplos de trabajos cron en una máquina de Linux.
Ejecutar un trabajo cron cada minuto
Para ejecutar un trabajo cron cada minuto, agregue la siguiente línea en su archivo CRONTAB:
* * * * * */ruta/a/script.mierda
Ejecutar un trabajo cron cada 10 minutos
Para programar un trabajo cron para ejecutar cada 10 minutos, agregue la siguiente línea en su archivo CRONTAB.
*/10 * * * */ruta/a/script.mierda
Ejecutar un trabajo cron en meses específicos
Para programar un trabajo cron para ejecutar en meses específicos e.gramo. Marzo, agosto, diciembre, agregue el trabajo de Cron en su archivo Crontab de la siguiente manera:
* * * enero, mayo, agosto */ruta/a/script.mierda
Ejecutar un trabajo cron en los días seleccionados
Si desea que su trabajo cron se ejecute en los días seleccionados, supongamos el domingo y el viernes a las 5 pm, debería parecer lo siguiente.
0 17 * * Sun, Fri/Path/To/Script.mierda
Ejecutar un trabajo cron diario en un momento específico
Para programar un trabajo de Cron para ejecutar diariamente en un momento específico, digamos a las 3 a.m., agregue esta línea en su archivo CRONTAB.
0 3 * * */ruta/a/script.mierda
Ejecutar un trabajo cron en un día específico
Para programar un trabajo cron para ejecutar en un día específico, digamos todos los domingos, agregue esta línea en su archivo Crontab.
0 0 * * Sun/Path/To/Script.mierda
El trabajo se ejecutará a las 00:00 todos los domingos.
Ejecutar múltiples tareas en un solo trabajo de Cron
Para programar múltiples tareas en un solo trabajo de Cron, agregue todos los scripts en su archivo crontab separándolos con un punto y coma.
* * * * * */ruta/a/script1.mierda; /ruta/a/script2.mierda
Ejecutar un trabajo cron en cada día laborable
Para programar un trabajo cron para ejecutar todos los días de la semana que es de lunes a viernes, deberá agregar esta línea en su archivo CRONTAB.
0 0 * * 1-5/ruta/a/script.mierda
El trabajo se ejecutará a las 00:00 todos los días de la semana.
Ejecutar un trabajo cron dos veces al día
Para programar un trabajo para correr dos veces al día E.gramo. A las 6 a.m. y a las 3 p.m., deberá agregar esta línea en su archivo CRONTAB:
0 6,15 * * */ruta/a/script.mierda
Ejecutar un trabajo cron cada hora
Para programar un trabajo cron para ejecutar cada hora en el minuto 0, deberá agregar esta línea en su archivo CRONTAB:
0 * * * */ruta/a/script.mierda
Por ejemplo, si la hora actual es a las 2 pm, el trabajo se ejecutará a las 3:00 p.m., a las 4:00 p.m.
Ejecutar un trabajo cron cada 3 horas
Para programar un trabajo cron para ejecutarse después de cada 3 horas en el minuto 0, deberá agregar esta línea en su archivo CRONTAB:
0 */3 * * */ruta/a/script.mierda
Por ejemplo, si la hora actual es a las 2 pm, el trabajo se ejecutará a las 5:00 p.m., 8:00 p.m.
Ejecutar el trabajo de Cron a las 4:00 pm en el primero de cada mes
Para programar un trabajo para ejecutar el día primero de cada mes a las 4:00 p.m., deberá agregar esta línea en su archivo CRONTAB:
0 16 1 * */ruta/a/script.mierda
Cuerdas en crontab
También puede usar las siguientes cadenas en lugar de los comandos repetitivos largos.
@Hourly- Ejecute el trabajo cron cada hora I.mi. "0 * * * *"
@medianoche- ejecutar trabajo cron todos los días yo.mi. "0 0 * * *"
@diario- igual que la medianoche
@semanal- ejecutar trabajo cron todas las semanas, yo.mi. "0 0 * * 0"
@Monthly- Ejecute el trabajo cron todos los meses.mi. "0 0 1 * *"
@anualmente, ejecute el trabajo cron todos los años.mi. "0 0 1 1 *"
@anual- igual que @annually
@reiniciar- Ejecute el trabajo cron en cada bota
Por ejemplo, para ejecutar el trabajo cron todos los días en el primer minuto y la primera hora, agregue la siguiente línea:
@Daily/Path/To/Script.mierda
Por ejemplo, para ejecutar el trabajo cron cada vez que se reinicie el servidor:
@reboot/path/to/script.mierda
Eso es todo lo que hay! En este artículo, hemos aprendido cómo automatizar varias tareas utilizando Crontab en el sistema Debian. Al usar los ejemplos anteriores, puede programar cualquier tipo de trabajo para iniciar sin ninguna interacción del usuario.