🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Cómo configurar un cron job en cPanel

Actualizado el 30 de enero de 2026

¿Qué es un cron job y por qué debería importarte?

Si alguna vez has querido que tu web haga cosas automáticamente, como enviar un correo cada mañana, actualizar una base de datos o generar un backup, entonces necesitas conocer los cron jobs. Un cron job es, en esencia, una tarea programada que tu servidor ejecuta en un momento específico, sin que tú tengas que hacer nada manualmente.

Piensa en ello como una alarma que le pones a tu servidor: "Oye, a las 3 de la madrugada, ejecuta este script". El sistema operativo (Linux) se encarga del resto. Para los usuarios de cPanel, configurar esto es sorprendentemente sencillo una vez que entiendes los conceptos básicos. En este artículo, te voy a guiar paso a paso para que puedas configurar cron en cPanel, incluso si nunca has tocado una línea de código en tu vida.


La interfaz de cPanel y el acceso a las tareas programadas

Lo primero que necesitas es acceder a tu panel de control. Normalmente, esto se hace escribiendo tudominio.com/cpanel en tu navegador. Una vez dentro, busca la sección "Trabajos Cron" o "Cron Jobs". Dependiendo de la versión de cPanel o del tema de tu proveedor de hosting, el icono puede variar, pero generalmente está en la categoría "Avanzado".

Al hacer clic, verás una interfaz que puede parecer un poco intimidante al principio, con campos como "Minuto", "Hora", "Día" y "Comando". No te preocupes, vamos a desglosarlo pieza por pieza. La buena noticia es que cPanel te ofrece una opción para principiantes: la configuración estándar con ajustes predefinidos (como "Una vez por día" o "Cada 5 minutos").

[INFO] Si tu hosting usa otro panel como Syspanel (antes conocido como HestiaCP), el acceso a las tareas programadas se hace desde el puerto 2106 (por ejemplo, tudominio.com:2106). Sin embargo, el concepto es el mismo: se trata de programar comandos en el sistema Linux.


Anatomía de un cron job: los 5 campos mágicos

Antes de lanzarnos a crear nuestro primer cron, es vital que entiendas la estructura básica. Un comando cron se divide en cinco campos de tiempo, seguidos del comando a ejecutar. Aquí tienes el desglose:

  1. Minuto (0-59): ¿En qué minuto de la hora quieres que se ejecute?
  2. Hora (0-23): ¿A qué hora del día? (0 es medianoche, 23 son las 11 PM).
  3. Día del mes (1-31): ¿En qué día del mes? (Usa * para todos los días).
  4. Mes (1-12): ¿En qué mes? (Usa * para todos los meses).
  5. Día de la semana (0-7): ¿Qué día de la semana? (0 y 7 son domingo, 1 es lunes, etc.).

Cada campo acepta números concretos, rangos (ej. 1-5 para lunes a viernes), listas (ej. 1,15 para los días 1 y 15) o asteriscos (*) que significan "todos los valores posibles".

Ejemplo práctico: Si quieres ejecutar una tarea todos los días a las 2:30 AM, escribirías:

30 2 * * *

Esto se traduce como: "cuando el minuto sea 30, la hora sea 2, cualquier día del mes, cualquier mes, cualquier día de la semana". Fácil, ¿verdad?


Cómo configurar tu primer cron job en cPanel (Paso a paso)

Vamos a lo que importa. Te voy a mostrar cómo configurar cron en cPanel para un caso de uso muy común: ejecutar un script PHP que limpia archivos temporales.

Paso 1: Localiza la ruta de tu script

Antes de escribir el comando, necesitas saber dónde está tu archivo. En cPanel, la ruta absoluta suele ser /home/tuusuario/public_html/. Si tu script se llama limpiar.php, la ruta completa sería /home/tuusuario/public_html/limpiar.php.

Paso 2: Rellena los campos de tiempo

En la sección "Agregar nuevo cron job", escribe la hora. Para este ejemplo, usaremos 0 3 * * * (todos los días a las 3 AM).

Paso 3: Escribe el comando

Aquí es donde la gente se confunde. No basta con poner la ruta del script. Necesitas usar el intérprete de PHP. El comando típico es:

/usr/bin/php /home/tuusuario/public_html/limpiar.php

[TIP] Si no estás seguro de si PHP está en /usr/bin/php, puedes ejecutar which php en el "Terminal" de cPanel (si está disponible) o preguntar a tu proveedor de hosting. En la mayoría de los casos, esta es la ruta correcta.

Paso 4: Haz clic en "Agregar tarea nueva"

¡Y listo! Ya tienes tu primer cron job cpanel funcionando. Verás que aparece en la lista de trabajos existentes con el formato 0 3 * * * /usr/bin/php /home/tuusuario/public_html/limpiar.php.


Errores comunes y cómo evitarlos (FAQ rápida)

P: Recibo un error "Permission denied" (Permiso denegado). ¿Qué hago?
R: Esto suele pasar porque el archivo no tiene permisos de ejecución. En el administrador de archivos de cPanel, haz clic derecho sobre el archivo y selecciona "Cambiar permisos". Ajusta a 755 para scripts PHP o 700 si sabes lo que haces.

P: Mi script corre, pero no hace nada.
R: Revisa los logs. En cPanel, puedes añadir >> /home/tuusuario/logs/cron.log 2>&1 al final de tu comando. Esto guardará cualquier error en un archivo. Por ejemplo:
/usr/bin/php /home/tuusuario/public_html/limpiar.php >> /home/tuusuario/logs/cron.log 2>&1

P: ¿Puedo usar una URL en lugar de una ruta de servidor?
R: Técnicamente puedes usar wget o curl para llamar a una URL, pero no es recomendable para tareas internas porque consume más recursos. Un ejemplo sería:
/usr/bin/curl --silent https://tudominio.com/limpiar.php
Sin embargo, la mejor práctica es usar la ruta del servidor.

P: ¿Qué significa "Configurar cron" para enviar correos?
R: cPanel tiene un sistema de correo. Puedes programar un cron para enviar un boletín usando un script PHP o Python que se conecte a la API de correo. El comando sería similar al anterior, pero apuntando a tu script de envío.


Automatizar tareas avanzadas: backups y mantenimiento de base de datos

Ahora que ya sabes lo básico, vamos a subir el nivel. Una de las tareas más útiles es automatizar tareas de respaldo. No quieres depender de que tu proveedor haga backups; puedes crear los tuyos.

Backup de archivos comprimidos

Imagina que quieres comprimir tu carpeta public_html a las 4 AM cada domingo. El comando sería:

0 4 * * 0 tar -czf /home/tuusuario/backups/web_$(date +\%Y\%m\%d).tar.gz /home/tuusuario/public_html

[WARNING] Ojo con el símbolo % en el comando. En cPanel, debes escaparlo con una barra invertida (\%) o el sistema lo interpretará como un salto de línea. Este es uno de los errores más comunes al configurar cron en cPanel.

Limpieza de caché de la base de datos

Si usas WordPress o un CMS similar, una tarea programada para optimizar la base de datos es genial. Puedes usar wp-cli si está instalado:

30 2 * * * /usr/local/bin/wp db optimize --path=/home/tuusuario/public_html

Enviar un ping de monitoreo

Si tienes un servicio externo que vigila que tu web esté viva, puedes usar curl para notificar:

*/5 * * * * /usr/bin/curl --silent https://tu-monitor.com/ping?token=abc123

Este comando se ejecuta cada 5 minutos (*/5 significa "cada cinco minutos").


Sintaxis avanzada: intervalos y rangos que debes conocer

Ya vimos los asteriscos, pero hay más trucos. Domina estos y serás un ninja de las tareas programadas cpanel.

Listas y rangos

  • 1,15 * * * * → Se ejecuta en el minuto 1 y en el minuto 15 de cada hora.
  • 0 9-18 * * * → Se ejecuta cada hora, de 9 AM a 6 PM.

Pasos

  • */10 * * * * → Cada 10 minutos.
  • 0 0 */2 * * → Cada 2 días a medianoche.

Combinaciones

  • 0 22 * * 1-5 → A las 10 PM de lunes a viernes.
  • 15,45 8 * * 1,3,5 → A las 8:15 y 8:45 los lunes, miércoles y viernes.

[TIP] Para no volverte loco calculando, usa un generador de cron en línea. Pero asegúrate de entender la salida antes de copiarla.


Seguridad: protege tus comandos y rutas

Un error de seguridad común es usar rutas con espacios o caracteres especiales sin escapar. Si tu carpeta se llama mi sitio, el comando fallará. Siempre usa la ruta absoluta y, si tiene espacios, escápala con \ o usa comillas simples.

Otro consejo: nunca pongas contraseñas en el comando del cron. Si necesitas pasar credenciales, hazlo mediante variables de entorno o un archivo de configuración que esté fuera de public_html.


Cómo verificar si tu cron job se está ejecutando

A veces configuras todo bien y no pasa nada. ¿Cómo saber si tu cron job cpanel se ejecutó? Aquí tienes tres métodos:

  1. Revisa el correo: cPanel envía un correo a tu cuenta principal con la salida del comando (si no está deshabilitado). Puedes verlo en "Cuentas de correo" o en el cliente de correo.
  2. Crea un archivo de log: Como mencioné antes, añade >> /ruta/al/log.txt 2>&1 a tu comando. Luego revisa ese archivo.
  3. Usa el botón "Ejecutar ahora": En la lista de trabajos cron de cPanel, a veces hay un icono para ejecutar la tarea manualmente. Si no lo hay, simplemente cambia la hora a un minuto en el futuro y espera.

Diferencias entre cPanel y Syspanel (HestiaCP)

Aunque este artículo se centra en cPanel, es bueno saber que si tu hosting usa Syspanel (el panel que antes se llamaba HestiaCP), el proceso es diferente. Accederás por el puerto 2106 (ejemplo: tudominio.com:2106) y la interfaz es más minimalista. En Syspanel, la opción se llama "Cron" y te permite elegir entre una lista de comandos predefinidos o escribir uno personalizado. La sintaxis del cron es la misma, pero la gestión de logs es un poco más manual. Si tienes dudas, revisa la documentación de tu proveedor.


Conclusión: la automatización es tu aliada

Configurar un cron job cpanel no es magia negra. Es una habilidad que te ahorrará horas de trabajo tedioso. Desde backups hasta envío de correos, las posibilidades son infinitas. Empieza con tareas simples, verifica que funcionan y ve aumentando la complejidad.

Recuerda siempre estos puntos clave:

  • Usa la ruta absoluta del servidor, no URLs.
  • Escapa los símbolos % en los comandos.
  • Redirige la salida a un archivo de log para depurar errores.
  • No tengas miedo de experimentar; puedes eliminar o editar un cron en cualquier momento desde cPanel.

La próxima vez que pienses "ojalá esto se hiciera solo", ya sabes cómo hacerlo. ¡Manos a la obra y a programar esas tareas!

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel