Cuando administramos servidores, muchas veces necesitamos automatizar ciertas tareas que deben ejecutarse cada determinado momento. Entonces, es imprescindible hacer uso de una herramienta para dejar estos comandos programados y se activen en el momento deseado.
Para ello, utilizaremos Cron, una herramienta que nos permite crear tareas programadas para que se ejecuten en el momento que lo necesitemos.
Instalación de Cron
Casi todas las distribuciones de Linux traen Cron instalado por defecto. Sin embargo, comparto los comandos para ser instalado.
Actualizar el sistema
sudo apt update
sudo apt upgrade
Instalación de Cron
sudo apt install cron
Manten Cron siempre en ejecución
sudo systemctl enable cron
Una vez instalado y configurado Cron, ya puedes programar tareas.
Funcionamiento de Cron
Las tareas se guardan y se manejan a través de un archivo llamado crontab
Cada usuario en el sistema tiene acceso a su propio archivo de tareas y estas se almacenan en la siguiente ruta: /var/spool/cron/crontabs/
Para programar una tarea, abre el archivo crontab y edítalo agregando el código de terminal que deseas ejecutar de manera programada.
Sintaxis
La sintaxis está divida en dos partes: fijar la hora (schedule) y el comando a ejecutar. Como resultado, el comando se ejecutará virtualmente como si lo escribieras tú en la línea de comandos.
La schedule se divide en cinco partes en el siguiente orden:
Juntos la Schedule y el comando a ejecutar quedaría así:
Minutos horas dia_del_mes mes dia_de_la_semana comando_a_ejecutar
Ejemplo 1
1 Iniciar la edición del archivo crontab
crontab -e
Preguntará el editor, tú selecciona el de tu preferencia.
2 Agregar la expresión a ejecutar
La siguiente expresión ejecuta el comando “curl http://www.google.com” todos los martes a las 5 y 30 PM:
30 17 * * 2 curl https://google.com
El asterísco “*” significa “todo”, entonces el comando de ejemplo se ejecuta todos los días del mes y todos los meses.
Ejemplo 2
Reiniciar el sistema a las 0 horas y un minuto todos los días.
0 0 * * * sudo shutdown –r