¿Qué es un cron job y para qué sirve?

Un cron job es una tarea que se programa para que se ejecute en un momento o intervalo específico. Los cron jobs se utilizan normalmente para automatizar tareas repetitivas, como la ejecución de una copia de seguridad, el envío de notificaciones por correo electrónico o la subida de una base de datos a un sitio web. Sin embargo, también pueden utilizarse para tareas más complejas, como la ejecución de una serie de comandos o scripts personalizados.

¿Cómo funciona un cron job?

Las cron jobs se suelen configurar mediante un archivo crontab (tabla cron). Este archivo contiene una lista de instrucciones y comandos, los cuales especifican una tarea que debe ejecutarse en un momento o intervalo determinado. Cuando el cron job se activa, la tarea se ejecuta en segundo plano.

Sintaxis de las cron jobs

Las cron jobs tienen una sintaxis específica, que se define en el archivo de configuración de la cron. Este archivo suele estar ubicado en /etc/crontab o /etc/cron.d/.

El archivo crontab contiene seis columnas de información, cada una separada por un espacio:

Minuto (0-59)

Hora (0-23)

Día del mes (1-31)

Mes del año (1-12)

Día de la semana (0-6, con 0=Domingo)

Comandos a ejecutar

A continuación, le mostramos un ejemplo de cron que ejecuta una secuencia de comandos para realizar una copia de seguridad todos los domingos a las 2:00 am:

0 2 * * 0 /ruta/para/backup.sh

Esta tarea cron ejecutará el script backup.sh cada domingo a las 2:00 am. El archivo de configuración de la tarea cron suele editarse con un editor de texto, como vi o nano.

Las tareas cron también pueden crearse y gestionarse mediante herramientas de interfaz gráfica de usuario (GUI) de cualquier sistema operativo Linux o Windows.

Permisos de las cron jobs

Los cron jobs suelen ser propiedad del usuario root o administrador y sólo pueden ser ejecutados por éste. Sin embargo, los cron jobs también pueden ser ejecutados por un usuario no root / no administrador, siempre que éste tenga los permisos adecuados.

Para establecer los permisos de una cron, utilice el comando chmod:

chmod u+x /ruta/al/script.sh

Esto dará al usuario permisos de ejecución para el archivo script.sh.

Las cron jobs también pueden configurarse para que se ejecuten con privilegios elevados, utilizando el comando sudo. Por ejemplo, para permitir que un trabajo cron ejecute un script como usuario root, utilice la siguiente sintaxis:

sudo crontab -e

Esto abrirá el archivo de configuración de cron para editarlo. A continuación, añada la siguiente línea al archivo:

0 2 * * 0 /ruta/al/script.sh

Esta cron ejecutará el archivo script.sh como usuario root cada domingo a las 2:00 am.

¿Cómo crear un cron job?

La creación de una cron job se realiza normalmente con el comando crontab. Este comando permite crear, editar y ver las cron job.

Para crear una cron job, deberá utilizar el comando crontab seguido del indicador -e. Esta bandera le indica a crontab que abra un editor para que pueda añadir su cron job.

Una vez que haya abierto el editor, tendrá que especificar la hora y el intervalo en que desea que se ejecute la cron job. Esto se hace añadiendo una línea al archivo crontab con el siguiente formato:

minuto hora día del mes mes día de la semana comando

Por ejemplo, la siguiente cron job ejecutaría el comando mybackup.sh todos los domingos a las 12:00 am:

0 0 * * 0 /ruta/para/mibackup.sh

También puede utilizar el comodín del asterisco (*) para especificar que una cron job debe ejecutarse en determinados intervalos. Por ejemplo, la siguiente cron ejecutaría el comando mybackup.sh cada minuto:

* * * * * /ruta/para/mibackup.sh

Una vez que haya añadido la cron al archivo crontab, deberá guardar y cerrar el archivo. La cron job se encargará del resto.

¿Cómo editar o eliminar un cron job?

Si alguna vez necesita editar o eliminar una tarea cron, puede volver a utilizar el comando crontab con la bandera -e. Esto abrirá el archivo crontab en el editor para que puedas hacer cambios. Cuando haya terminado, simplemente guarde y cierre el archivo y la tarea cron se actualizará.

Eliminar una tarea cron es igual de fácil. Simplemente abra el archivo crontab en el editor y elimine la línea que corresponde al trabajo cron que desea eliminar. Guarde y cierre el archivo y la tarea cron se eliminará.

¿Cómo puedo ver mis cron jobs?

Para ver sus tareas cronpuede utilizar el comando crontab con la bandera -l. Esto listará todos los trabajos cron que están actualmente configurados.

Si desea ver las tareas cron para un usuario específico, puede utilizar el indicador -u seguido del nombre de usuario. Por ejemplo, el siguiente comando mostrará las tareas cron para el usuario root:

crontab -u root -l

Y eso es todo lo que hay que hacer con las tareas cron Utilizando las tareas cron puedes automatizar tareas repetitivas y hacer tu vida un poco más fácil. Sólo recuerda usar el comando crontab para crear, editar y eliminar tus trabajos cron.

Conclusión

Las Cron jobs son tareas automatizadas que suelen ser ejecutadas por el usuario root / administrador. Estas tareas pueden ser cualquier cosa, desde la ejecución de scripts de copia de seguridad hasta la actualización de una caché.

Estas cron jobs pueden ejecutarse en segundo plano una vez se da clic para que inicien.

Esperamos este artículo le haya sido de ayuda para entender que son las cron jobs, para que serven y como se usan.

Comenta lo que quieras

Unete a la charla
Solo ingresa tu email