Si tenés un sitio o manejás los de tus clientes, seguro conocés la sensación: siempre hay una tarea repetitiva que se come la mañana. Limpiar carpetas, mandar un informe, actualizar datos. Hacerlo a mano funciona hasta que un día se pasa por alto y aparece el problema.
Los cron jobs resuelven justo eso. En esta guía de nivel intermedio te muestro cómo crearlos en cPanel, cómo elegir una frecuencia razonable y cómo probarlos sin riesgos. Todo con pasos cortos y ejemplos que podés copiar.
Cron job: la alarma silenciosa que trabajá por tu web
Imagina que cada mañana tuvieras que entrar a tu panel para pulsar el mismo botón. Un cron job (o tarea programada) hace exactamente eso por ti: es una instrucción que se guarda una vez y se repite sola, en los horarios que definas, sin que nadie tenga que acordarse.
Por dentro funciona gracias a cron, un programa de Linux que mira el reloj todo el tiempo y dispara cada tarea cuando llega su momento. La buena noticia es que no hace falta escribir código desde cero: cPanel te ofrece un formulario guiado, y con entender cuatro datos ya podés usarlo: el comando, el horario, la frecuencia y el correo donde vas a recibir los avisos.
Si hoy repites tareas manuales en tu web, esta función es el atajo que estabas buscando para ganar tiempo y evitar olvidos.
Ejemplos concretos de qué podés dejar en piloto automático
Quizás pienses que esto es para programadores, pero los usos más frecuentes son bastante cotidianos:
- Publicaciones y avisos de WordPress: que las entradas agendadas salgan en su horario y los correos de tu tienda se envíen sin demoras.
- Orden en tus carpetas: eliminar de forma periódica archivos temporales o informes antiguos para no llenar el espacio de tu plan.
- Informes por correo: recibir un resumen semanal de pedidos o consultas sin entrar a revisar nada.
- Respaldos a medida: ejecutar un script que guarda lo que más te importa, en el horario que prefieras.
- Actualización de datos: cargar precios o stock desde un archivo cada cierto tiempo.
Una buena pista para decidir: cuando notes que repetís la misma acción con frecuencia, ahí hay una tarea esperando ser programada.
Preparativos: reuní estos datos antes de crear la tarea
Dedicar unos minutos a preparar el terreno evita errores y repeticiones. Antes de entrar a cPanel, asegurate de contar con lo siguiente:
- Tu usuario y contraseña de cPanel, para ingresar sin demoras.
- El nombre de usuario de la cuenta, que aparece dentro de las rutas, como /home/tuusuario/public_html/.
- La ubicación del archivo o script que querés ejecutar; la vas a ver en el Administrador de archivos.
- El horario ideal: pensá en qué momento del día tu web recibe menos visitas.
- Un respaldo actualizado de tu sitio y de tu base de datos.
No saltees el respaldo. Las tareas programadas hacen lo que les indicás, sin pedir confirmación, y tener una copia reciente te permite volver atrás con tranquilidad si algo no sale como esperabas.
Paso 1: encontrá «Tareas Cron» dentro de cPanel
Entrá a tu cPanel y recorre la pantalla principal hasta llegar al bloque Avanzado. Allí vas a ver el ícono Tareas Cron, que en otras versiones se muestra como Cron Jobs. Un atajo útil: escribe «cron» en el buscador superior y seleccioná el resultado.
La pantalla se divide en tres partes: primero, un campo para el correo de notificaciones; después, el formulario para agregar una tarea nueva; y por último, el listado de las tareas existentes, donde podés modificarlas o borrarlas cuando quieras.
No te preocupes si el listado aparece vacío al principio. Significa simplemente que todavía no programaste nada, y que tenés la hoja en blanco para empezar de forma ordenada.
Paso 2: definí dónde querés recibir las notificaciones
Arriba de todo vas a encontrar el campo Correo electrónico de Cron. Ahí indicás la casilla que recibirá el informe de cada ejecución. Elegí una que abras con frecuencia y guarda el cambio con el botón Actualizar el correo electrónico.
Durante las pruebas, estos mensajes son tu mejor aliado: te muestran el resultado de la tarea y, si algo salió mal, el detalle del error. Es como tener un asistente que te cuenta cómo le fue en cada intento.
Una vez que todo funcione correctamente, conviene apagar los avisos de esa tarea para evitar una bandeja saturada. Más abajo vas a aprender el truco para lograrlo. Mientras tanto, deja las notificaciones activas y revisá el correo cada vez que se ejecute la tarea.
Paso 3: aprendé a leer los cinco campos del horario
Toda tarea cron se define con cinco valores, siempre en el mismo orden:
- Minuto: de 0 a 59.
- Hora: de 0 a 23, con reloj de 24 horas.
- Día del mes: de 1 a 31.
- Mes: de 1 a 12.
- Día de la semana: de 0 a 6, empezando por el domingo.
El asterisco (*) equivale a «cualquiera». Por eso 15 2 * * * significa «a las 2:15 de la madrugada, cada día», mientras que 0 8 * * 5 se traduce como «los viernes a las 8:00». Para empezar sin dudas, usá el menú Configuración común de cPanel: elegís una frecuencia habitual y las casillas se rellenan automáticamente.
Paso 4: redacta el comando de la tarea
El campo Comando es donde le decís a tu cuenta qué hacer. Para lanzar un archivo PHP, el formato habitual es:
/usr/local/bin/php /home/tuusuario/public_html/script.php
Fijate en que tiene dos partes: el intérprete de PHP y la ruta completa del archivo. Cambiá tuusuario por el nombre de tu cuenta y script.php por tu archivo real. Cualquier letra mal escrita, o una mayúscula de más, hará que la tarea no encuentre el archivo, así que copiá la ruta tal como aparece en el Administrador de archivos.
Cuando ya estés seguro de que todo anda bien, podés evitar el exceso de correos agregando al final >/dev/null 2>&1. La tarea sigue corriendo con normalidad, pero sin avisarte en cada ejecución. Hacelo recién después de probarla, nunca antes.
Paso 5: hacé una prueba rápida antes del horario final
No esperés a la madrugada para averiguar si tu tarea funciona. Programá una ejecución para dentro de unos cinco minutos y aguardá. Luego comprueba: ¿llegó el aviso por correo?, ¿el script cumplió su función?, ¿hay algún error en el mensaje?
Si el resultado es correcto, volvé al listado, editá la tarea y dejala con el horario definitivo. Si hubo un fallo, no te asustes: las causas más frecuentes son una ruta con una letra equivocada, un archivo sin permisos de ejecución o una versión de PHP que no corresponde al script.
Este método de probar primero con un margen corto te ahorra días de incertidumbre. Es mucho más práctico corregir un detalle en cinco minutos que descubrir, una semana después, que la tarea jamás se ejecutó.
Caso real: un informe semanal que se envía solo todos los lunes
Pensá en un emprendedor de Córdoba que gestiona la web de su estudio contable, alojada en tudominio.com. Cada lunes a primera hora arma a mano un resumen de consultas recibidas. Con un script PHP que genera ese resumen y lo manda por correo, el trabajo se convierte en una tarea programada.
En Tareas Cron completa los campos así: minuto 0, hora 8, día del mes *, mes * y día de la semana 1. El comando sería /usr/local/bin/php /home/tuusuario/public_html/resumen.php. Mientras lo probás, dejá activo el correo de aviso; cuando funcione, sumá >/dev/null 2>&1 al final.
Si trabajás con varias cuentas, anotá en una planilla qué tarea corresponde a cada sitio y a qué hora corre. Escalonar los horarios, por ejemplo 8:00, 8:15 y 8:30, evita que varios procesos arranquen juntos. Y recordá: la hora de Argentina es UTC-3, así que ajustá según la zona que use tu cuenta.
Elegí la frecuencia justa para cuidar el rendimiento de tu web
Una tarea programada usa parte de los recursos de tu plan cada vez que corre, y la decisión de cuán seguido ocurre es completamente tuya. Si ponés una ejecución por minuto donde bastaba una por hora, sumás trabajo extra sin ganar nada a cambio. Antes de fijar el horario, preguntate: ¿qué tan actualizado necesito que esté este dato?
Estas reglas simples ayudan a decidir:
- Informes y limpiezas de carpetas: una ejecución diaria es más que suficiente.
- Procesos internos de WordPress: cada 15 a 30 minutos funciona bien.
- Tareas pesadas: sepáralas unos 10 o 15 minutos entre sí para que no se pisen.
- Procesos que manejan muchos archivos: déjalos para la madrugada, cuando hay menos visitas.
Con una buena planificación, tu sitio se mantiene rápido y tus tareas hacen su trabajo sin que nadie lo note.
Si algo no funciona: los fallos más frecuentes y su solución
Antes de rendirte, revisa estos casos, que explican casi todos los problemas:
- Mensaje «No such file or directory»: significa que la ruta del archivo no coincide. Copiala exactamente desde el Administrador de archivos.
- Mensaje «Permission denied»: faltan permisos. Ajustá los permisos del archivo; en scripts suele funcionar 644 o 755.
- No pasa nada: comprobá que los cinco campos de horario no tengan espacios sobrantes ni caracteres extraños.
- Hora equivocada: la zona horaria del servidor puede diferir de la tuya, así que calcula la diferencia.
- Bandeja saturada: silencia la salida con >/dev/null 2>&1 al final del comando.
Una recomendación valiosa: modificá una sola cosa a la vez y prueba de nuevo. Cuando cambiás varias a la vez, nunca sabés cuál fue la que resolvió el problema.
Lista de verificación para cerrar el trabajo con tranquilidad
Antes de cerrar el panel, marcá cada punto de esta lista y vas a quedar con todo bajo control:
- Cuento con un respaldo reciente de mi sitio y mi base de datos.
- La ruta del script está copiada tal cual figura en el Administrador de archivos.
- Ejecuté una prueba corta y el resultado fue el esperado.
- El horario elegido evita las horas de más visitas.
- Apagué las notificaciones solo cuando la tarea ya era confiable.
- Dejé escrito, en algún lugar seguro, qué hace cada tarea y cuándo se ejecuta.
Ese registro escrito es una pequeña costumbre con un gran valor: dentro de seis meses, cuando necesites cambiar algo, vas a saber de inmediato qué hacía cada tarea y por qué la creaste.
Cierre: menos tareas manuales, más tiempo para crecer
Ahora tenés el mapa completo: dónde está Tareas Cron, cómo se leen los horarios, cómo escribir un comando y qué revisar cuando algo falla. Lo único que falta es elegir tu primera rutina y programarla.
Te recomiendo empezar por algo de bajo riesgo, como un informe o una limpieza de archivos temporales, y probarlo con un margen de cinco minutos. Una vez que lo veas funcionar, vas a querer automatizar el resto. Cada minuto que le devolvés a tu agenda es un minuto que podés invertir en tus clientes y en tu propio negocio.
