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

Cómo crear y configurar un cron job en DirectAdmin

Actualizado el 29 de octubre de 2025

¿Qué es un cron job y por qué te interesa?

Si alguna vez has querido que tu servidor haga algo por sí solo a una hora determinada —como enviar un correo, actualizar una base de datos, generar un backup o limpiar archivos temporales—, la solución se llama cron job. En términos sencillos, un cron job es una tarea programada que el sistema operativo ejecuta automáticamente en segundo plano. Piensa en ello como una alarma que se repite: cada vez que suena, tu servidor ejecuta un comando concreto.

Para que lo entiendas mejor: cuando hablamos de cron Linux, nos referimos al servicio estándar de todos los sistemas Unix que gestiona estas tareas. DirectAdmin, el panel de control que utilizas para administrar tu hosting, incluye una interfaz gráfica muy sencilla para crear y gestionar estos cron jobs sin necesidad de tocar la terminal.

La gran ventaja es que no necesitas ser un experto en Linux. Con la interfaz de DirectAdmin, puedes programar tareas en cuestión de minutos. En este artículo te voy a explicar paso a paso cómo crear y configurar un cron job en DirectAdmin, con ejemplos prácticos que podrás usar desde el primer día. Vamos a ello.


Acceso a la sección de Cron Jobs en DirectAdmin

Lo primero que debes hacer es entrar en tu panel de DirectAdmin. Una vez dentro, busca el icono o enlace llamado Cron Jobs (en la mayoría de las versiones está en la sección de "Advanced" o "Herramientas avanzadas"). Si no lo ves a primera vista, escribe "cron" en el buscador del panel.

Al hacer clic, se abrirá una página con dos partes bien diferenciadas:

  • La lista de cron jobs que ya tienes creados (si es que tienes alguno).
  • El formulario para crear uno nuevo.

En esa misma página verás un campo que dice "Command to run" (comando a ejecutar) y una serie de opciones para indicar cuándo quieres que se ejecute. No te asustes si ves asteriscos y números raros: te lo explico ahora mismo.


Anatomía de un cron job: los 5 campos temporales

Un cron job se define por 5 campos que indican la frecuencia de ejecución. Cada campo va separado por un espacio y, en la interfaz de DirectAdmin, los verás como desplegables o campos de texto. Son estos:

  • Minuto (0-59): el minuto exacto en el que quieres que se ejecute.
  • Hora (0-23): la hora del día (en formato 24 horas).
  • Día del mes (1-31): qué día del mes quieres que se ejecute.
  • Mes (1-12): qué mes del año.
  • Día de la semana (0-7): donde 0 y 7 son domingo, 1 es lunes, etc.

Si en un campo pones un asterisco *, significa "todos". Por ejemplo, si quieres que algo se ejecute todos los días a las 3 de la madrugada, usarías:

  • Minuto: 0
  • Hora: 3
  • Día del mes: *
  • Mes: *
  • Día de la semana: *

En DirectAdmin, normalmente tienes desplegables que te permiten elegir estos valores sin necesidad de escribir. Pero si prefieres el control total, también puedes escribir la expresión cron directamente.


Cómo crear tu primer cron job en DirectAdmin

Vamos a hacer un ejemplo práctico: queremos que cada día a las 2:00 AM se haga una copia de seguridad de nuestra base de datos. Sigue estos pasos:

Paso 1: Abre el formulario

En la página de Cron Jobs, haz clic en el botón "Create Cron Job" o "Add Cron Job" (según la versión). Se desplegará un formulario.

Paso 2: Define la frecuencia

En los desplegables de Minute, Hour, Day, Month y Weekday, selecciona:

  • Minute: 0
  • Hour: 2
  • Day: *
  • Month: *
  • Weekday: *

Esto significa: "todos los días a las 2:00 AM".

Paso 3: Escribe el comando

En el campo "Command to run", escribe el comando que quieras ejecutar. Para un backup de MySQL, por ejemplo:

mysqldump -u usuario -pcontraseña basededatos > /home/usuario/backups/backup_$(date +%Y%m%d).sql

Ojo: nunca pongas la contraseña directamente en el comando si puedes evitarlo, pero para un ejemplo simple vale. En producción, es mejor usar un archivo de configuración seguro.

Paso 4: Activa el cron

Asegúrate de que la casilla "Active" esté marcada. Luego pulsa "Create" o "Save".

¡Listo! Ya tienes tu primer cron job DirectAdmin funcionando. A partir de ahora, cada día a las 2 de la mañana se ejecutará ese comando.


Ejemplos prácticos de cron jobs útiles

Aquí tienes algunos ejemplos que puedes copiar y adaptar a tus necesidades. Recuerda que el comando debe ser una sola línea.

1. Limpiar archivos temporales

find /home/tuusuario/tmp -type f -mtime +7 -exec rm {} \;

Esto borra archivos de la carpeta tmp que tengan más de 7 días. Perfecto para evitar que se llene el disco.

2. Enviar un correo de recordatorio

echo "Este es tu recordatorio diario" | mail -s "Recordatorio" tuemail@dominio.com

Programa esto a las 9:00 AM de lunes a viernes y tendrás tu recordatorio automático.

3. Actualizar un índice de búsqueda

Si usas WordPress o un CMS similar, puedes programar la ejecución de un script PHP que actualice los enlaces o el índice:

php /home/tuusuario/domains/tudominio.com/public_html/cron.php

4. Reiniciar un servicio

systemctl restart apache2

Ojo: este comando requiere permisos de root. En hosting compartido normalmente no podrás usarlo, pero en un VPS con DirectAdmin sí.


Programar tareas DirectAdmin con frecuencia personalizada

No siempre quieres que algo se ejecute todos los días. A veces necesitas que sea cada hora, cada 15 minutos, o solo los lunes. Aquí te dejo algunas combinaciones típicas:

Cada hora

  • Minuto: 0
  • Hora: *
  • Día: *
  • Mes: *
  • Semana: *

Cada 15 minutos

  • Minuto: */15
  • Hora: *
  • Día: *
  • Mes: *
  • Semana: *

El carácter / indica "cada X unidades". Así, */15 significa "cada 15 minutos".

Solo los lunes a las 6 de la tarde

  • Minuto: 0
  • Hora: 18
  • Día: *
  • Mes: *
  • Semana: 1

El primer día de cada mes a las 5 AM

  • Minuto: 0
  • Hora: 5
  • Día: 1
  • Mes: *
  • Semana: *

Errores comunes al configurar cron jobs (y cómo evitarlos)

Aunque DirectAdmin facilita mucho la tarea, es fácil equivocarse. Estos son los fallos más habituales:

1. Rutas incorrectas

Si usas php script.php y no especificas la ruta absoluta, el cron no encontrará el archivo. Siempre usa la ruta completa:

/usr/bin/php /home/usuario/domains/midominio.com/public_html/script.php

Para saber la ruta de PHP, ejecuta en terminal: which php.

2. Permisos de ejecución

El script que intentas ejecutar debe tener permisos de ejecución. En DirectAdmin, puedes ajustar los permisos desde el administrador de archivos. Marca que el archivo sea ejecutable (755 suele funcionar bien).

3. No redirigir la salida

Si el comando produce salida (por ejemplo, mensajes de error), estos se enviarán por correo al administrador. Si no quieres recibir correos, redirige la salida a un archivo o a /dev/null:

/usr/bin/php script.php > /dev/null 2>&1

4. Olvidar que el cron corre con tu usuario

En hosting compartido, los cron jobs se ejecutan con el usuario de tu cuenta, no con root. Por lo tanto, no podrás usar comandos que requieran privilegios de administrador.


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

Después de crear tu cron job, es normal querer comprobar que funciona. Tienes varias opciones:

1. Revisa el correo

DirectAdmin envía un correo al administrador con la salida del comando (a menos que la redirijas). Revisa tu bandeja de entrada para ver si hay errores.

2. Crea un log manual

Puedes hacer que el propio comando escriba un log:

echo "Ejecutado a las $(date)" >> /home/usuario/cron.log

Luego revisa ese archivo para confirmar.

3. Usa la lista de cron jobs

En la página principal de Cron Jobs de DirectAdmin, verás una lista con todos tus cron jobs y la fecha de la última ejecución. Si aparece "Never" o una fecha muy antigua, algo está fallando.


Cron jobs y seguridad: lo que debes saber

Programar tareas servidor conlleva ciertos riesgos si no se hace bien. Aquí van algunos consejos:

  • No uses contraseñas en texto plano dentro de los comandos. Mejor crea un archivo de configuración con permisos restringidos.
  • Limita los permisos de los scripts que ejecutes. Si un script es vulnerable, un atacante podría aprovecharlo.
  • No programes tareas innecesarias. Cada cron job consume recursos del servidor. Si tienes 50 tareas ejecutándose cada minuto, notarás lentitud.

Diferencias entre DirectAdmin y otros paneles

Si has usado otros paneles como cPanel o Syspanel (antes llamado HestiaCP), notarás que DirectAdmin es bastante similar, pero con algunas diferencias:

  • En Syspanel, el puerto de acceso es el 2106, y la interfaz de cron jobs está en "Scheduled Tasks" o "Cron Jobs" dentro del apartado de servidor. El concepto es el mismo, pero la disposición cambia.
  • DirectAdmin es más ligero y suele ser más rápido que otros paneles, lo que se agradece en servidores con pocos recursos.

En cualquier caso, la lógica de los 5 campos es universal. Si aprendes a configurar cron jobs en DirectAdmin, podrás hacerlo en cualquier otro panel.


Preguntas frecuentes (FAQ)

¿Puedo crear cron jobs si tengo hosting compartido?

Sí, DirectAdmin lo permite en casi todos los planes de hosting compartido. Sin embargo, algunos comandos (como reiniciar servicios) estarán bloqueados por seguridad.

¿Qué pasa si mi script tarda más que el intervalo del cron?

Si tu cron se ejecuta cada minuto pero el script tarda 2 minutos, se solaparán varias ejecuciones. Para evitarlo, usa un mecanismo de bloqueo, como crear un archivo temporal que impida la doble ejecución.

¿Puedo pausar un cron job sin borrarlo?

Sí, en la lista de cron jobs de DirectAdmin tienes la opción de desactivarlo temporalmente. Simplemente desmarca la casilla "Active" y guarda los cambios.

¿Cómo elimino un cron job?

Ve a la lista de cron jobs, localiza el que quieras borrar y haz clic en el icono de la papelera o en "Delete". Confirma la acción y listo.

¿Necesito saber programar para usar cron jobs?

No, puedes usar comandos básicos como copiar archivos, enviar correos o ejecutar scripts PHP. Con un poco de práctica, te sentirás cómodo.


Conclusión y recomendaciones finales

Crear y configurar un cron job en DirectAdmin es una habilidad esencial para cualquier persona que administre un sitio web o un servidor. Te permite automatizar tareas servidor que de otro modo tendrías que hacer manualmente, ahorrándote tiempo y evitando errores humanos.

Mi recomendación es que empieces con algo sencillo, como un recordatorio por correo o la limpieza de archivos temporales. Una vez que veas lo fácil que es, te animarás a probar cosas más complejas, como backups automáticos o la actualización de tu CMS.

Recuerda siempre probar tus comandos manualmente antes de programarlos en un cron. Así te asegurarás de que funcionan correctamente y evitarás sorpresas desagradables.

Si tienes dudas, no dudes en consultar la documentación oficial de DirectAdmin o pedir ayuda en tu proveedor de hosting. La comunidad de usuarios es muy activa y siempre hay alguien dispuesto a echar una mano.

[TIP]: Empieza con un cron que se ejecute cada 5 minutos mientras estás probando. Así verás resultados rápidamente sin esperar al día siguiente.

[WARNING]: Ten mucho cuidado con los comandos que borran archivos. Un error en la ruta podría eliminar datos importantes. Siempre usa rutas absolutas y comprueba dos veces antes de guardar.

[INFO]: Si tu proveedor de hosting usa Syspanel (puerto 2106), el proceso es muy similar. Solo cambia la interfaz, pero los conceptos de cron Linux son idénticos.

Ahora ya sabes todo lo necesario para dominar los cron jobs en DirectAdmin. ¡Manos a la obra y automatiza tu servidor!

¿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