Qué es una Tarea Cron y cómo crear un Cron Job en cPanel

Qué es una Tarea Cron y cómo crear un Cron Job en cPanel

Las Tareas Cron o Cron Jobs son en Linux quienes se encargan de ejecutar las famosas tareas programadas en segundo plano tales como actualizaciones del sistema operativo, realizar limpiezas o la supervisión del espacio en disco disponible, programar copias de seguridad, o correr scripts con funciones específicas establecidas por el administrador del equipo, repitiendo el proceso una y otra vez según se le haya configurado. Idealmente, las Tareas Cron son perfectas para una computadora que funciona las 24 horas del día, 7 días a la semana, como lo es un servidor.

Si bien las Tareas Cron son utilizados principalmente por los administradores de sistema, también resultan extremadamente útiles para los desarrolladores de sitios y aplicaciones web, tanto para programar una copia de respaldo de una base de datos, como para hacer una limpieza de usuarios registrados, o programar el envío de novedades a sus suscriptores.

El uso de Tareas Cron o Cron Jobs tiene destino infinitos y lo mejor de todo es que son muy fáciles de configurar en tu hosting con cPanel. Veamos un poco más de qué va esto de las tareas programadas de Linux.

 

¿Cómo funcionan las Tareas Cron o Cron Jobs y qué es el Crontab?

El servicio de Cron (o demonio de Cron, como se le llaman a los servicios de Linux – “demonio” -) se ubica en /etc/rc.d/ o /etc/init.d dependiendo de la distribución de Linux que el servidor tenga instalada. Las Tareas Cron se ejecutan en segundo plano y son las encargadas de revisar cada minuto la tabla de tareas llamada “Crontab”, en búsqueda de cosas para hacer, y que se deban cumplirse a la hora pautada. Como usuario del sistema, podemos agregar a esta tabla comandos o scripts para automatizar algunos procesos que necesitemos.

Crontab es un archivo de texto que guarda una lista de comandos a ejecutar en un tiempo especificado por el usuario, y verificará constantemente la fecha y hora en que se debe correr el script o el comando, realizándolo en segundo plano cuando toque. Cada usuario de Linux puede tener su propia tabla de tareas Crontab y esta no es la excepción de quienes tienen un plan de hosting.

Afortunadamente si tu hosting tiene panel de control cPanel, no tendrás que preocuparte por su creación ya que este cuenta con un asistente muy fácil de usar, de forma que puedas crear tus tareas programadas en tan solo un minuto.

 

La estructura de Crontab

Te explicamos aquí cómo es la sintaxis de la tabla de Cron o Crontab para que puedas entenderla. Crontab tiene cinco campos de tiempo, cada campo está representado por un asterisco, para determinar la fecha y hora de un determinado conjunto de tareas para realizar repetidamente.

  • Minuto: el primer asterisco es el minuto de la hora en que se ejecutará el comando, que va de 0 a 59.
  • Hora: a qué hora se ejecutará el comando, que va de 0 a 23.
  • Día del mes: establece en qué día del mes desea que se ejecute el comando, que va del 1 al 31.
  • Mes: en qué mes se ejecutará el comando especificado, que va de 1 a 12.
  • Día de la semana: determina en qué día de la semana desea ejecutar un comando, que va de 0 a 7.

 

La sintaxis soporta comodines como el asterisco (*), que quiere decir “todos”. Por ejemplo, si tenemos 5 asteriscos antes del comando a ejecutar, la tarea correrá todos los minutos, de todas las horas, de todos los días del mes, de todos los meses, y de todas las semanas. También es posible establecer intervalos, doble ejecución y demás, pero no ahondaremos tan en detalle ya que verás que crear una Tarea Cron es mucho más fácil con cPanel.

 

tarea cron ejemplo crontab cpanel

 

 

Cómo crear una Tarea Cron o Cron Job en cPanel

Desde luego que los desarrolladores de cPanel pensaron en ti y como te comentábamos en el párrafo anterior, es muy fácil crear una rutina. Si no cuentas con panel de control cPanel, es probable que tu proveedor de hosting tenga un panel de control web para que puedas generarlas, aunque puede que no sea tan simple.

¡TIP! Si aún no te decides por un proveedor de hosting, te recomendamos seleccionar uno que ofrezca cPanel. Esto te garantizará facilidad de uso, respaldo y seguridad ya que tiene un altísimo porcentaje de penetración en el mercado de alojamiento web. En WNPower elegimos ofrecer hosting con cPanel y le agregamos muchísimas herramientas adicionales 😉 .

 

PASO 1: ingresa a cPanel

Para crear una nueva tarea, primero inicia sesión dentro de tu panel de control cPanel.

crear tarea cron job en cpanel

 

 

PASO 2: ve a la utilidad de Tareas Cron

Una vez que te encuentres dentro de cPanel, busca el apartado Avanzada e ingresa a la opción Tareas de Cron o Cron Jobs.

 

 

PASO 3: configura las notificaciones

Si activas las Tareas Cron, cPanel te enviará obligatoriamente una notificación por correo electrónico cada vez que se ejecute.

  • Si deseas recibir una notificación cada vez que se ejecute la tarea especificada, ingresa tu dirección de correo electrónico.

  • Si por el contrario, NO deseas recibir una notificación cada vez que una Tarea Cron se ejecute, deberás agregar “>/dev/null 2>&1” al final del comando como te lo mostramos en este ejemplo:
    /usr/local/bin/php -q wp-cron.php >/dev/null 2>&1

    Te recomendamos no dejar esto al azar, ya que si lo dejas por defecto podría saturar la casilla de correo predeterminada de tu plan de hosting.

 

 

PASO 4: crea la nueva Tarea Cron

En este ejemplo vamos a configurar una Tarea Cron o Cron Job para que se ejecute 2 veces al día. Gracias a cPanel no necesitarás tener conocimientos en programación ya que podrás seleccionar la frecuencia desde sus menúes desplegable ya preconfigurados.

En el menú desplegable Configuración común están preseteadas las configuraciones utilizadas por más del 90% de los desarrolladores y administradores de sitios web.

Luego, en el campo de texto Comando, ingresa el comando que desees correr. Recuerda especificar correctamente el path del script a correr como figura dentro del Administrador de Archivos. Es decir, si por ejemplo, estás creando una tarea cron que corre en un subdominio, deberás ingresar un path que se parecerá a este “/home/usuario-cpanel/subdominio/wp-cron.php”.

💡 ¡TIP! Tambien podría ocurrir que necesites correr un comando que requiera de un PHP más viejo o más actualizado que el actual. Es por eso que te detallamos más abajo cómo llamar a otras versiones de PHP dentro del comando.

 

crear tarea cron cpanel

 

Al finalizar, presiona el botón Añadir nuevo trabajo de Cron. Si todo va bien, verás la confirmación de que la Tarea Cron se ha añadido.

tareas cron ok al crear

 

 

Cómo eliminar una Tarea Cron o Cron Job en cPanel

Si deseas volver atrás o eliminar una Tarea Cron en cPanel, encuentra en el apartado Trabajos de cron actuales todas las que hayas creado anteriormente. Para deshacerte de una de ellas, haz clic en el ícono de la papelera que encontrarás a la derecha de cada comando.

 

eliminar tarea cron cpanel

 

Cómo utilizar otras versiones de PHP para la tarea que necesitas correr

Si la tarea que necesitas correr necesita de una versión en específico, entonces reemplaza este string:

/usr/local/bin/php

Por este otro:

/opt/cpanel/ea-php81/root/usr/bin/php

En este ejemplo forzamos a ejecutar la tarea con el intérprete de PHP 8.1, pero si cambias el número “81” por otra versión, estarás llamando al que necesites mientras esté disponible en el sistema. Por ejemplo, si queres llamar a PHP 7.4, deberás escribir el número “74” (sin comillas, claro).

 

¡Esperamos haber podido ayudarte! Si quedó alguna duda, contacta con nuestro Centro de Soporte Técnico para poder darte una mano.

Y si estás buscando hosting con Tareas Cron para tu sitio web, en WNPower tenemos el alojamiento perfecto para tu site o app, más completo y simple de usar de toda la región 🙂