Para qué sirven
Una tarea cron ejecuta algo a una hora fija sin que nadie tenga que acordarse. En un hosting los usos habituales son: lanzar el cron de WordPress, generar respaldos de base de datos, limpiar archivos temporales, sincronizar catálogos con un proveedor o enviar reportes periódicos.
Crear una tarea
- Entra en Funciones Avanzadas.
- Abre Tareas Cron.
- Completa los campos de tiempo: minuto, hora, día del mes, mes y día de la semana.
- Escribe el comando a ejecutar.
- Guarda.
Entender los campos de tiempo
Cada campo acepta un número, un asterisco para todos los valores, o una lista. Estos ejemplos cubren casi todo lo que vas a necesitar:
| Frecuencia | Minuto | Hora | Día mes | Mes | Día semana |
|---|---|---|---|---|---|
| Cada 15 minutos | */15 | * | * | * | * |
| Cada hora en punto | 0 | * | * | * | * |
| Diario a las 3:30 | 30 | 3 | * | * | * |
| Los lunes a las 6:00 | 0 | 6 | * | * | 1 |
| El día 1 de cada mes | 0 | 4 | 1 | * | * |
El caso más frecuente: el cron de WordPress
Por defecto, WordPress lanza sus tareas internas cuando alguien visita el sitio. En sitios con poco tráfico eso significa que las publicaciones programadas no salen a tiempo y los respaldos no se ejecutan.
Primero, añade esta línea a wp-config.php, antes de la que pide dejar de editar:
define('DISABLE_WP_CRON', true); Después crea la tarea cron, cada 15 minutos:
*/15 * * * * wget -q -O /dev/null https://su-negocio.mx/wp-cron.php?doing_wp_cron
Ejecutar un script PHP propio
Usa la ruta absoluta, no la dirección web:
0 4 * * * /usr/local/bin/php /home/tu-usuario/domains/su-negocio.mx/public_html/tarea.php
La ruta exacta del intérprete de PHP puede variar en tu servidor. Si la tarea no se ejecuta, ese suele ser el motivo: consúltala por ticket antes de dar más vueltas.
Silencia la salida
Por defecto, cron envía por correo todo lo que el comando imprima en pantalla. Una tarea que corre cada 15 minutos generará cientos de mensajes por semana y acabarás ignorándolos, que es justo lo contrario de lo que buscabas. Añade esto al final para descartar la salida normal y conservar solo los errores:
>/dev/null 2>&1
Evita las horas pico
Programa los procesos pesados de madrugada. Una tarea que consume recursos a mediodía afecta al rendimiento de tu sitio y, en hosting compartido, al de todos.
Si la tarea no se ejecuta
- Revisa que la ruta al archivo sea absoluta y correcta.
- Comprueba los permisos del script.
- Recuerda que la hora es la del servidor, que puede no ser la tuya.
- Prueba el comando manualmente antes de programarlo.