¿Qué es una tarea cron?

Si le resulta difícil recordar la ejecución de un script con regularidad o simplemente desea invertir su tiempo y energía en algo un poco más creativo, ya es hora de dar un buen uso a cron.

Sin embargo, antes de entrar en materia, probablemente querrás saber qué es cron, qué es exactamente una tarea cron y qué puede hacer por ti.

Cron es un programador de tareas basado en el tiempo en los sistemas operativos (OS’) tipo Unix y es una de las utilidades más útiles que encontrarás en ellos. Creado en los Laboratorios Bell de AT&T en 1975 y bautizado con el nombre de Chronos, una personificación griega del tiempo, cron no sólo ha recorrido un largo camino desde su creación inicial, sino que ha conseguido seguir siendo relevante hasta nuestros días.

Se utiliza habitualmente para automatizar tareas que se ejecutan en segundo plano en momentos específicos, como copias de seguridad programadas, monitorización del espacio en disco, gestión de tareas de mantenimiento del sistema, liberación de espacio en disco de archivos inútiles, envío de correos electrónicos masivos y mucho más. Todas estas diferentes tareas programadas (o trabajos) se conocen como trabajos cron.

Para ayudarte a empezar con los trabajos cron, aprenderemos cómo puedes configurarlos usando cPanel, Plesk y WordPress. Sin embargo, antes de eso, vamos a averiguar un poco más sobre cómo funciona un trabajo cron.

¿Para qué se utilizan las tareas cron?

Cron es esencialmente un demonio (un programa informático que se ejecuta como un proceso en segundo plano que sirve para varios propósitos) que detecta y ejecuta las tareas cron en fechas y horas especificadas, ya sea una tarea única o recurrente. Se ejecuta cada minuto durante el cual inspecciona un conjunto de directorios predefinidos en su sistema de archivos para determinar si los trabajos cron requieren ser ejecutados.

Para ejecutar un trabajo cron, se necesitan tres componentes, incluyendo un comando específico o un script que debe ser ejecutado, un comando que ejecuta el script en una base de tiempo específica (generalmente establecido en su panel de control), y una acción o una salida del script que dependería de lo que hace el script en cuestión.

Los Cron jobs se pueden programar para que se ejecuten varias veces al día o para que se ejecuten a horas y minutos específicos en días y meses concretos. Para hacer esto, usted utilizará crontabs, que es una lista de comandos que el sistema operativo utiliza para permitirle programar todo tipo de tareas que serán ejecutadas por las expresiones cron en el momento preestablecido.

Debemos tener en cuenta que la mayoría de los scripts que utilizan una tarea cron vendrán con instrucciones específicas, para que sepas qué hay que configurar y cómo.

Cómo configurar un trabajo cron usando cPanel

cPanel es la interfaz gráfica de usuario (GUI) basada en Linux más popular que existe y simplificará las tediosas tareas de gestión y supervisión de todos los aspectos de su sitio web o sitios web. Por lo tanto, si tiene el placer de utilizar este panel de control fácil de usar, así es como puede configurar un trabajo cron con él.

En primer lugar, vamos a empezar por iniciar sesión en su cPanel. Una vez que esté en el panel de control de cPanel, desplácese hacia abajo a la sección «Avanzada», busque «Cron Jobs» y haga clic en el icono.

Esto te llevará a la interfaz de trabajos cron donde puedes introducir tu dirección de correo electrónico para que la utilidad cron pueda enviarte correos electrónicos cada vez que uno de los trabajos cron produzca una salida – es una forma sencilla de hacer un seguimiento de cada trabajo y revisar los posibles errores.

Después de esto, querrá desplazarse hasta la sección «Configuración común» y configurar las especificaciones sobre los trabajos cron que desee añadir. Aquí puedes elegir el horario en el que quieres que se ejecute una tarea cron: una vez por minuto, una vez cada cinco minutos, una vez por hora, etc.

Una vez elegido el horario, el cuadro de texto de abajo se rellenará automáticamente, pero puedes modificarlo para que se ajuste a tus necesidades.

Por último, introduzca el comando que desea que el sistema ejecute en la sección «Comando», pulse en «Añadir nuevo trabajo cron» y enhorabuena, ha configurado un trabajo cron.

Cómo configurar un trabajo cron usando Plesk

Plesk es una plataforma de alojamiento web con un panel de control que permite al administrador configurar sitios web, cuentas de correo electrónico, DNS y bases de datos a través de un navegador web.

Aunque Plesk y cPanel tienen el mismo propósito, difieren en lo que respecta a la interfaz gráfica de usuario y a los servidores que soportan. La interfaz intuitiva de cPanel es más fácil de usar, pero el panel de control basado en web sólo es compatible con servidores Linux. Por otro lado, Plesk es compatible con servidores Windows y Linux.

Al igual que en el caso de cPanel, para configurar una tarea cron con Plesk deberá iniciar sesión y hacer clic en el botón «Tareas programadas» en la sección derecha del panel de control.

Allí verá una opción para añadir, eliminar y actualizar tareas, pero también una sección de «Configuración» que deberá visitar primero y establecer una zona horaria correcta. Después de esto, haz clic en «Añadir tarea» y añade cualquier especificación sobre el trabajo cron que quieras ejecutar, incluyendo intervalos de tiempo, notificaciones, una descripción, e introduce el comando real. Eso es todo, el trabajo cron ha sido configurado.

La única pequeña diferencia entre la configuración de las tareas cron usando cPanel y Plesk es que con este último el icono no dice «tareas cron».

Cómo configurar una tarea cron de WordPress

Si desea configurar una tarea cron para su sitio web de WordPress, el primer paso es instalar y activar uno de los plugins de tareas cron (como WP Crontrol, Easycron y Advanced Cron Manager), que encontrará dentro de la biblioteca de plugins de WordPress.org. Esto es parte del sistema cron propio de WordPress que le permite establecer y realizar todo tipo de tareas programadas.

La forma más sencilla de hacerlo es abrir el panel de control de WordPress, ir a «Plugins» y hacer clic en «Añadir nuevo». Una vez que encuentre el plugin de tareas programadas que desea utilizar, haga clic en «Instalar ahora», espere un par de segundos a que termine la instalación y luego pulse en «Activar».

Aconsejamos utilizar el plugin WP Crontrol ya que es el más sencillo de utilizar y no es probable que confunda a los usuarios menos experimentados – también es gratuito.

Una vez que este plugin está configurado y activado puedes ir a «Herramientas» donde ahora verás los botones «Eventos Cron» y «Acciones programadas», así que vamos a hacer clic en el primero. Se abrirá una nueva sección en la que podrás ver tus eventos cron y programados activos, así como añadir otros nuevos.

Para añadir un nuevo evento tendrá que pinchar en «Añadir Evento Cron», introducir un nombre de gancho, añadir argumentos opcionales (usando el array codificado JSON), elegir intervalos de tiempo, y luego pinchar en «Añadir Evento». Alternativamente, puedes ir a «Add PHP Cron Event» y añadir tu código PHP, después de lo cual todo funciona igual que en el ejemplo anterior.

¿Cuáles son los beneficios de un trabajo cron?

La posibilidad de configurar trabajos programados automáticamente no sólo supone un ahorro de tiempo, sino que también es una forma excelente de asegurarse de que no se olvida de las tareas críticas. Además, el uso de las tareas cron te dará un control total sobre los trabajos que se ejecutan, ya que puedes elegir la hora exacta en la que se ejecutarán.

Por ejemplo, si está ejecutando un sitio de membresía en el que las cuentas tienen fechas de vencimiento, puede utilizar las tareas cron para desactivar o eliminar las cuentas vencidas a intervalos regulares, lo que le dará algo de tiempo libre para concentrarse en tareas más importantes.

Además, como las tareas cron no ocupan memoria en tu sistema cuando no se están ejecutando, no habrá ralentizaciones inesperadas. Si una tarea cron no se ejecuta a la hora programada por cualquier motivo, se volverá a iniciar automáticamente cuando llegue el siguiente intervalo programado.

Elección de una tarea cron

Las tareas cron son extremadamente efectivas para automatizar tareas repetitivas y su configuración no es demasiado complicada, independientemente de si utiliza cPanel, Plesk o WordPress.

Así que, ahora que has configurado tu primera tarea cron es hora de que te tomes un descanso mientras dejas que haga todas esas tediosas tareas por ti.