Configurar tareas cron en DirectAdmin: automatiza tareas
Una tarea cron ejecuta tareas automáticamente a horas programadas. En esta guía te explicamos cómo configurar tareas cron en DirectAdmin. Esto puede ayudarte a ahorrar tiempo y a garantizar que las tareas importantes se ejecuten con regularidad sin que tengas que ocuparte de ellas manualmente.
¿Qué es una tarea cron?
Una tarea cron (o cron task) es una tarea programada que se ejecuta automáticamente a determinadas horas. Puede ir desde copias de seguridad diarias de la base de datos hasta la generación de informes semanales. Estos son algunos ejemplos de tareas cron habituales:
- Copia de seguridad diaria de la base de datos
- Vaciar la caché cada hora
- Generar un informe semanal
- Ejecutar scripts periódicamente
Las tareas cron son especialmente útiles para desarrolladores web y administradores de sistemas, porque automatizan tareas repetitivas y así reducen la probabilidad de errores humanos.
Crear una tarea cron
Paso 1: Ve a Cron Jobs
- Inicia sesión en DirectAdmin
- Ve a Cron Jobs en el menú
- Verás una lista de las tareas cron existentes
Paso 2: Añadir una tarea cron nueva
- Haz clic en Add Cron Job o Añadir tarea cron
- Rellena el horario (consulta más abajo)
- Rellena el comando
- Haz clic en Add o Añadir
Configurar el horario
Una tarea cron usa 5 campos de tiempo:
| Campo | Rango | Significado |
|---|---|---|
| Minuto | 0-59 | En qué minuto |
| Hora | 0-23 | A qué hora |
| Día | 1-31 | Qué día del mes |
| Mes | 1-12 | En qué mes |
| Día de la semana | 0-7 | Qué día (0 y 7 = domingo) |
Horarios más utilizados
Estos son algunos de los horarios más utilizados para las tareas cron:
- Cada minuto:
* * * * * - Cada hora:
0* * * * - Cada 15 minutos:
*/15 * * * * - Cada día a las 3:00:
0 3 * * * - Cada lunes a las 9:00:
0 9* * 1 - De lunes a viernes a las 7:30:
30 7* * 1-5 - Primer día del mes:
0 0 1* *
Ejemplos de comandos
Estos son algunos ejemplos de comandos que puedes usar en tus tareas cron:
Ejecutar el cron de WordPress
/usr/local/bin/php /home/user/domains/example.nl/public_html/wp-cron.php
Ejecutar un script PHP
/usr/local/bin/php /home/user/domains/example.nl/public_html/scripts/backup.php
Copia de seguridad de la base de datos
/usr/bin/mysqldump -u user -p'wachtwoord' database > /home/user/backups/db-$(date +\%Y\%m\%d).sql
Llamar a una URL (webhook)
/usr/bin/wget -q -O /dev/null https://example.nl/cron-endpoint
Vaciar la caché
rm -rf /home/user/domains/example.nl/public_html/cache/*
Gestionar una tarea cron
Editar
- Ve a Cron Jobs
- Haz clic en la tarea cron
- Cambia el horario o el comando
- Haz clic en Save
Desactivar
- Añade
#al principio del comando - La tarea cron se omite, pero no se elimina
Eliminar
- Ve a Cron Jobs
- Selecciona la tarea cron
- Haz clic en Delete
Salida y registro
Enviar la salida a un archivo
0 3 * * * /usr/local/bin/php /path/to/script.php >> /home/user/logs/cron.log 2>&1
Ignorar la salida
0 3* * * /usr/local/bin/php /path/to/script.php > /dev/null 2>&1
>> bestand añade la salida a un archivo de registro, > /dev/null descarta la salida y 2>&1 envía también los mensajes de error al mismo lugar. Atención: en DirectAdmin introduces la hora en los cinco campos de tiempo; en el campo Command escribes solo la parte a partir de /usr/local/bin/php. Comprueba el archivo de registro después de la hora de ejecución programada para ver si todo ha ido bien.
Salida por correo electrónico
DirectAdmin puede enviar por correo electrónico la salida de una tarea cron. Puedes configurarlo en los ajustes de Cron Jobs. Esto puede ser útil para estar al tanto de posibles fallos o problemas que surjan al ejecutar la tarea cron.
WordPress y las tareas cron
De forma predeterminada, WordPress usa WP-Cron (wp-cron.php), que solo ejecuta las tareas programadas cuando un visitante entra en tu web. Con poco tráfico es poco fiable y con mucho tráfico supone una carga innecesaria. Por eso, sustitúyelo por una tarea cron real:
- En
wp-config.php, desactiva WP-Cron: - Añade una tarea cron real que se ejecute cada 15 minutos (minuto
*/15, el resto de campos de tiempo*) con este comando:
define('DISABLE_WP_CRON', true);
/usr/local/bin/php /home/user/domains/example.nl/public_html/wp-cron.php > /dev/null 2>&1
Problemas frecuentes
La tarea cron no funciona
Si tu tarea cron no funciona, estos son algunos pasos que puedes seguir para resolver el problema:
- Comprueba la ruta: asegúrate de usar rutas completas en tus comandos.
- Comprueba los permisos: si llamas a un script PHP a través de
/usr/local/bin/php, basta con el permiso de lectura (644). Solo un script de shell que ejecutas directamente necesita 755. - Comprueba la salida: redirige la salida a un archivo de registro para ver los posibles mensajes de error.
- Prueba manualmente: ejecuta el comando por SSH para ver si funciona.
Versión de PHP incorrecta
Si necesitas una versión concreta de PHP, especifícala en tu tarea cron:
/usr/local/php81/bin/php /path/to/script.php
La ruta /usr/local/bin/php usa la versión de PHP predeterminada del servidor. Las versiones adicionales de PHP se encuentran en DirectAdmin en /usr/local/phpXX/bin/php, por ejemplo /usr/local/php81/bin/php para PHP 8.1. Elige la misma versión que usa tu web.
Comando no encontrado
Usa siempre rutas completas (por ejemplo, /usr/bin/wget en lugar de wget). Así evitas los errores "command not found".
Consejos
- Prueba primero manualmente: ejecuta el comando por SSH antes de crear la tarea cron para asegurarte de que funciona.
- Usa el registro: redirige la salida a un archivo de registro para poder diagnosticar los problemas fácilmente.
- No con demasiada frecuencia: evita las tareas cron que se ejecutan cada minuto salvo que sea absolutamente necesario. Pueden sobrecargar innecesariamente los recursos del servidor.
- Prueba los scripts de copia de seguridad: comprueba con regularidad que tus copias de seguridad funcionan de verdad y que puedes restaurarlas.
- Usa rutas completas: así evitas errores habituales y tus tareas cron son más fiables.
- Reparte las tareas pesadas: programa las tareas cron pesadas a horas distintas, para que no se ejecuten a la vez ni carguen innecesariamente el servidor.
Consejos sobre la sintaxis de cron
La sintaxis de cron puede resultar confusa. Estas son algunas herramientas útiles:
Crontab Guru
Usa crontab.guru para verificar el horario de tu tarea cron. Introduce el horario y verás al instante cuándo se ejecuta la tarea.
Caracteres especiales
- * = cualquier valor
- , = lista de valores (por ejemplo, 1,3,5)
- - = rango (por ejemplo, 1-5)
- / = intervalo de valores (por ejemplo,
*/15= cada 15)
¿Necesitas ayuda?
Estamos a tu disposición. ¿Te has encontrado con algún problema o tienes preguntas? Nuestro equipo de soporte te ayudará encantado de forma personal. Envíanos un mensaje a través del sistema de tickets: normalmente respondemos en unas pocas horas y buscamos la solución contigo.
¿Buscas hosting WordPress? Consulta nuestra oferta.
A 0 de 0 personas les ha resultado útil