Acceder

Cronjobs o tareas programadas en Linux

¿Qué son los cronjobs? ¿Cómo utilizar cronjob en VPS?


Las tareas programadas o cronjobs son ejecuciones de procesos que ocurren de forma automática en segundo plano. En términos generales, un cronjob es una utilidad de Linux que establece un comando o un repertorio de comandos en horarios o frecuencias para realizar tareas específicas en cualquier VPS.

Mediante cronjob puedes automatizar tareas específicas, tal como el envío de correos automatizados, copias de seguridad automáticas, limpiar el caché de tu servidor, eliminar archivos temporales y, en definitiva, lo que tengas en mente. Algunos ejemplos prácticos del uso de cron jobs: Cuando recibes en tu correo electrónico a las 7 AM publicidad de alguna multitienda, cuando recibes algún pago del gobierno o cuando suena la alarma de tu teléfono móvil.

El uso de cronjobs hoy en día no es una novedad teórica, sino una utilidad que ha sustentado el desarrollo tecnológico desde hace años y es importante para comprender el funcionamiento algorítmico que ocurre de manera automática.

¿Cómo instalar Cron Job en Linux?

Para instalar esta utilidad debes ejecutar el siguiente comando en tu máquina Debian /Ubuntu
apt install cron


El anterior comando instalará la utilidad, creando un archivo llamado crontab en la carpeta /etc/ (/etc/crontab)

¿Cómo editar Crontab en Linux?

Para editar crontab en Debian /Ubuntu, puedes utilizar tu editor favorito, en nuestro caso utilizaremos nano
nano /etc/crontab


Lo cual abrirá un archivo con sintaxis de ejemplo como el siguiente:
SHELL=/bin/sh
PATH=/usr/local/sbin :/usr/local/bin:/sbin:/bin :/usr/sbin:/usr/bin

17 * * * *   root    cd /&& run-parts --report /etc/cron.hourly
25 6 * * *   root    test -x /usr/sbin/anacron || ( cd /&& run-parts --report /etc/cron.daily )
47 6 * * 7   root    test -x /usr/sbin/anacron || ( cd /&& run-parts --report /etc/cron.weekly )
52 6 1 * *   root    test -x /usr/sbin/anacron || ( cd /&& run-parts --report /etc/cron.monthly )


Sintaxis básica crontab /cronjob

La estructura básica de sintaxis en la ejecución de crontab es la siguiente

minuto hora dia_del_mes mes dia_de_la_semana comando_a_ejecutar


Un ejemplo básico de uso de crontab, para ejecutar un URL a las 7 AM

0 7 * * * curl https://mox.cl


En cuyo caso, a las 7 AM ejecuta la función CURL para llamar al sitio web en cuestión (el asterísco representa cualquier número o, en este ejemplo, en cualquier día)

Otro ejemplo básico, para reiniciar la RAM de tu máquina virtual Debian /Ubuntu, puede ser así:

0 * * * * free -m


Conclusiones

Sin lugar a dudas la ejecución de cronjob te facilitará el funcionamiento de cualquier tarea automatizable de forma segura (ya que ocurre dentro de tu VPS). Puedes ejecutar tareas a partir de comandos directamente en tu servidor o ejecutar scripts que hayas realizado en otro lenguaje de programación. Además de ejecuciones en tu mismo servidor virtual, podrás ejecutar tareas externamente mediante CURL o WGET.

Cuando utilizas un Hosting con cPanel, podrás administrar estos comandos de manera más amigable mediante el módulo de Cron Jobs disponible en cPanel. O bien, si utilizas un VPS con cPanel o DirectAdmin, existen plataformas con templates que te permitirán la ejecución de estas tareas.

Cuando utilizas algún CMS como Prestashop o Wordpress, puedes instalar directamente algún módulo que te permita el uso de estas tareas de forma automática, como la generación y limpiezas de cachés.