Qué son los cronjobs o tareas cron

Por Felipe

Publicado en:

Los cronjobs o tareas cron son trabajos programados que se ejecutan de forma automática en un servidor Linux a la hora indicada, sin que nadie tenga que lanzarlos manualmente. Sirven para automatizar copias de seguridad, limpiezas, actualizaciones o cualquier script, y son una herramienta cotidiana para administradores web y de sistemas.

Qué es un cron y sus beneficios

Cuando se trabaja en el sistema operativo Linux es necesario realizar tareas que se ejecuten de forma automática, sin tener que dar la orden en el momento exacto en el que deben realizarse. Las tareas cron sirven para programar copias de seguridad, hacer actualizaciones automáticas del sistema operativo o ejecutar scripts para llevar a cabo cualquier acción que se considere oportuna. Por eso los cronjobs son utilizados habitualmente por los administradores web y de sistemas en muchas de sus tareas del día a día.

Un cron es, en esencia, un administrador de tareas que se ejecuta en Linux para realizar una acción. Las tareas cron se ejecutan siempre en segundo plano, sin interferir en otros procesos que se estén ejecutando, y se lanzan en el momento determinado que se haya programado. Su principal beneficio es evidente: liberan al administrador de tareas repetitivas y garantizan que se realicen siempre, a la hora prevista, aunque nadie esté pendiente.

Qué son los cronjobs

Las tareas cron o cronjobs consisten en la programación de scripts para que se ejecuten de forma automática bajo un entorno Linux. Para gestionarlos se abre una terminal de Linux y se introduce el comando crontab -e. Al hacerlo se muestra el contenido del archivo y las distintas tareas que contiene; editando este archivo se pueden añadir, cambiar o eliminar cronjobs de la lista de tareas pendientes.

Qué es crontab

Cada usuario del sistema tiene su propio archivo crontab, con las tareas que debe realizar. Estos archivos se dividen principalmente en dos partes. La primera es el temporizador de la programación, donde se indica cuándo debe ejecutarse la tarea: se puede expresar en minutos, hora, día del mes, mes o día de la semana. La segunda es el comando, que indica la tarea concreta que debe llevar a cabo el sistema.

Cómo se escribe la sintaxis de una tarea cron

Una línea de crontab se compone de cinco campos de tiempo seguidos del comando que se quiere ejecutar. Esos cinco campos representan, en este orden, el minuto, la hora, el día del mes, el mes y el día de la semana. Por ejemplo, la línea 0 4 * * * /scripts/backup.sh ejecutaría el script de copia de seguridad todos los días a las cuatro de la madrugada. El asterisco actúa como comodín y significa cualquier valor.

Además de los cinco campos, existen atajos que facilitan las programaciones más habituales, como @daily, @weekly o @monthly, que ejecutan la tarea una vez al día, a la semana o al mes respectivamente. Conviene revisar bien cada campo antes de guardar, ya que un error en la sintaxis puede hacer que la tarea no se ejecute o lo haga en un momento equivocado.

Cuáles son las utilidades de las tareas cron

Utilizar cronjobs es algo habitual para los administradores de sitios web, ya que permite automatizar muchas de las tareas rutinarias que deben realizarse en los servidores. Estas son algunas de las más frecuentes en un servidor web.

Programar copias de seguridad

Para una página web o un eCommerce es fundamental disponer de copias de seguridad. Añadiendo la tarea correspondiente al crontab se puede realizar un backup del sitio web todos los días a las cuatro de la mañana de forma automática, sin depender de que nadie se acuerde de hacerlo. Así, ante cualquier incidencia, siempre se dispone de una copia reciente para restaurar.

Tareas de limpieza

Es habitual programar tareas cron para realizar limpiezas en la base de datos, las cookies o los archivos temporales, entre otros. Por ejemplo, para ejecutar la limpieza el primer día de cada mes de forma automatizada se puede utilizar el comando @monthly /scripts/cleanup.sh. Otra utilidad de limpieza muy común consiste en eliminar archivos y directorios vacíos o temporales que, con el tiempo, ocupan espacio innecesariamente.

Otras tareas habituales

Más allá de copias y limpiezas, las tareas cron se emplean para enviar correos de forma programada, sincronizar datos con otros servicios, generar informes periódicos o lanzar las tareas internas de un gestor de contenidos. En WordPress, por ejemplo, existe un sistema propio llamado WP-Cron que depende de las visitas a la web; sustituirlo por un cron real del servidor hace que estas tareas se ejecuten de forma más fiable y puntual.

Cómo crear tareas cron

Cuando se contratan los servicios de un proveedor de alojamiento web se accede a un panel de control, normalmente cPanel, desde el que es posible crear una tarea cron para automatizar de forma periódica una acción, como ejecutar una copia de seguridad del sitio. Este método resulta mucho más cómodo que editar el archivo a mano, porque el panel guía el proceso campo a campo.

Para quienes no se encargan de la administración de un sitio web, pero necesitan programar cronjobs, también es posible apoyarse en herramientas online que facilitan la creación de la sintaxis correcta que debe añadirse al archivo crontab. De este modo, aunque las tareas cron sean una herramienta propia de administradores web y de sistemas, cualquier usuario puede configurarlas con un poco de práctica.

Si quieres programar tus propias tareas automáticas, conviene elegir un plan de hosting que incluya acceso a cron desde el panel de control. Los planes de HostingPlus, empresa con experiencia en alojamiento web desde 2004, ofrecen gestión de tareas cron desde un sistema de autogestión sin necesidad de llamadas telefónicas, además de copias de seguridad, discos NVMe y tecnología LiteSpeed. Incluyen SSL y migración, con soporte 24/7 en español para ayudarte a configurar tus primeras tareas.

Preguntas frecuentes

¿Qué diferencia hay entre un cron y un cronjob?

El cron es el servicio del sistema Linux que se encarga de ejecutar tareas programadas, mientras que un cronjob es cada una de esas tareas concretas que se programan dentro del crontab. Dicho de otro modo, el cron es el motor y el cronjob es el trabajo que ejecuta.

¿Necesito conocimientos de Linux para usar tareas cron?

No es imprescindible. Aunque tradicionalmente se gestionan desde la terminal con el comando crontab, la mayoría de los alojamientos ofrecen un panel como cPanel que permite crear tareas cron rellenando unos campos, sin escribir comandos manualmente.

¿Cada cuánto tiempo se puede ejecutar una tarea cron?

La frecuencia mínima habitual es de un minuto, y a partir de ahí se puede programar cualquier intervalo: cada hora, cada día, semanal o mensual. Conviene no abusar de ejecuciones demasiado frecuentes para no sobrecargar el servidor de forma innecesaria.

¿Tu web necesita un hosting que vuele?

Hosting en España con soporte real en español, migración gratis, SSL incluido y 30 días de garantía. Sin líos y sin costes ocultos.

Ver planes de hosting →