Crontab en Linux

Crontab en Linux
Con el advenimiento de las nuevas tecnologías, queremos que todo se automatice, incluidos nuestros sistemas informáticos. Por ejemplo, como administrador del sistema, es posible que deseemos que nuestra copia de seguridad se ejecute en todas las noches a las 2:00 a.m. Entonces, ¿cuál es el propósito de las computadoras si tenemos que despertarnos diariamente a las 2:00 a.m. y ejecutar los comandos manualmente para iniciar la copia de seguridad?. Debe haber una forma que le indique al sistema que ejecute automáticamente una copia de seguridad en un momento específico. Afortunadamente, Linux OS ofrece una utilidad cron que permite automatizar tareas en un período específico.

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:

  • Ejecución de copias de seguridad del horario,
  • Verificar el espacio de disco en un intervalo específico,
  • Ejecución de mantenimiento automático,
  • Eliminar periódicamente archivos no deseados,
  • Ejecución de diagnóstico de red

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.