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

Cómo configurar un cron job en DirectAdmin para scripts

Actualizado el 4 de febrero de 2026

¿Qué es un Cron Job y por qué lo necesitas en DirectAdmin?

Si alguna vez has querido que tu web ejecute una tarea automáticamente, como enviar un correo de bienvenida, actualizar una base de datos o generar un backup, estás en el lugar correcto. Un cron job (o tarea programada) es un servicio del sistema operativo Linux que ejecuta comandos o scripts en intervalos específicos, sin necesidad de que tú estés delante del ordenador.

Piensa en ello como un despertador: le dices al sistema "ejecuta este script a las 3 de la mañana todos los días" y él lo hace, sin fallar, mientras tú duermes. En el mundo del hosting, esto es fundamental para tareas de SysAdmin y para el mantenimiento de cualquier aplicación web.

En este artículo, te voy a guiar paso a paso para que aprendas a configurar un cron job en DirectAdmin, el panel de control que muchos proveedores de hosting utilizan. No necesitas ser un experto en Linux; solo sigue las instrucciones y en menos de 10 minutos tendrás tu primera tarea automatizada funcionando.

Requisitos previos antes de configurar tu cron

Antes de lanzarnos a crear nuestro primer DirectAdmin cron, asegurémonos de que tienes todo lo necesario:

  1. Acceso a DirectAdmin: Necesitas las credenciales de tu cuenta de hosting. Normalmente, el acceso es a través de https://tudominio.com:2222.
  2. Un script listo: Puede ser un archivo PHP, Python, Bash, etc. Debes saber la ruta exacta donde se encuentra alojado en tu servidor. Por ejemplo, si usas un hosting compartido, suele ser algo como /home/usuario/public_html/mi_script.php.
  3. Conocimiento básico de comandos: No te asustes, no necesitas ser un gurú. Con saber qué es php o python y qué script quieres ejecutar, es suficiente.

[INFO] Si tu proveedor de hosting usa Syspanel (antes conocido como HestiaCP), la lógica es muy similar, pero el acceso al panel suele ser en el puerto 2106. Aunque este artículo se centra en DirectAdmin, los conceptos de rutas y comandos son universales.

Paso 1: Acceder a la sección de Cron Jobs en DirectAdmin

Lo primero es entrar en tu panel de control. Una vez dentro, busca el icono o enlace que dice "Cron Jobs" o "Tareas Programadas". En la mayoría de las versiones de DirectAdmin, está en la sección de "Account Management" o en el panel de herramientas avanzadas.

Haz clic en él y verás una pantalla con un formulario. Aquí es donde ocurre la magia.

Paso 2: Entender los campos del formulario

El formulario de DirectAdmin cron puede parecer un poco críptico al principio, pero es más simple de lo que crees. Estos son los campos que encontrarás:

  • Comando: Es la línea que ejecutará el sistema. Aquí escribes el comando completo, por ejemplo, php /home/usuario/public_html/backup.php.
  • Minuto: Los minutos de la hora en que quieres que se ejecute (0-59).
  • Hora: La hora del día (0-23).
  • Día del mes: El día específico del mes (1-31). Si quieres que se ejecute todos los días, usa *.
  • Mes: El mes del año (1-12). Usa * para todos.
  • Día de la semana: El día de la semana (0-7, donde 0 y 7 son domingo). Usa * para todos.

[TIP] Si no quieres liarte con los números, DirectAdmin suele ofrecer un modo "básico" con opciones predefinidas como "Cada minuto", "Cada hora", "Una vez al día", etc. Para empezar, usa ese modo.

Paso 3: Crear tu primer cron job (ejemplo práctico)

Vamos a hacer un ejemplo real. Imagina que tienes un script PHP en public_html que limpia archivos temporales. Quieres que se ejecute todos los días a las 4:00 AM.

  1. En el campo "Comando", escribe: php /home/tu_usuario/public_html/limpiar.php
  2. En "Minuto", pon 0.
  3. En "Hora", pon 4.
  4. En "Día del mes", deja *.
  5. En "Mes", deja *.
  6. En "Día de la semana", deja *.

Haz clic en "Guardar" o "Crear". ¡Listo! Tu tarea está programada.

¿Cómo sé la ruta exacta de mi script?

Esta es una duda muy común. Puedes encontrar la ruta absoluta de tu script de dos maneras:

  • Desde el administrador de archivos de DirectAdmin: Navega hasta la carpeta donde está tu script. Arriba verás la ruta completa, algo como /home/tu_usuario/public_html/.
  • Usando un archivo de prueba: Crea un archivo PHP con <?php echo __FILE__; ?> y ábrelo en tu navegador. Te mostrará la ruta exacta.

Paso 4: Configurar cron para un script Python o Bash

No todo es PHP. A veces necesitas ejecutar un script en Python o un comando de sistema. La lógica es la misma.

  • Para Python: python3 /home/tu_usuario/scripts/mi_script.py
  • Para Bash: bash /home/tu_usuario/scripts/mi_script.sh

[WARNING] Asegúrate de que los archivos tengan permisos de ejecución. Si no sabes qué es esto, no te preocupes, en DirectAdmin puedes hacer clic derecho sobre el archivo en el administrador de archivos y cambiar los permisos a 755.

Paso 5: Probar que tu cron job funciona

Una vez configurado, es hora de verificar que todo funciona. Una forma sencilla es configurar una tarea que se ejecute cada minuto con un comando que escriba la hora en un archivo de texto.

  1. Crea un cron job con el comando: echo "Ejecutado a las $(date)" >> /home/tu_usuario/cron_test.txt
  2. Configúralo para que se ejecute cada minuto (usa * en todos los campos).
  3. Espera un par de minutos y revisa el archivo cron_test.txt en tu administrador de archivos. Si contiene líneas con la hora, ¡tu cron funciona perfectamente!

Gestión avanzada: Variables de entorno y rutas

A veces, los scripts no funcionan porque no encuentran los programas o las variables de entorno necesarias. Esto es muy común en PHP, donde la ruta de php puede variar.

[TIP] Para encontrar la ruta de PHP, puedes ejecutar un cron job con el comando which php y luego revisar el correo que DirectAdmin envía con el resultado (si lo configuras). Normalmente, la ruta es /usr/local/bin/php.

Un truco de SysAdmin es usar la ruta completa del binario. Por ejemplo, en lugar de php, usa /usr/local/bin/php. Esto evita problemas de entorno.

Errores comunes y cómo solucionarlos

El cron no se ejecuta

  • Revisa el correo: DirectAdmin envía un correo a tu cuenta con la salida del script. Si hay errores, aparecerán ahí.
  • Permisos: Asegúrate de que el script tiene permisos de lectura y ejecución.
  • Ruta incorrecta: Verifica que la ruta en el comando es absoluta y no relativa.
  • Formato del script: Si es un script de Bash, asegúrate de que tiene la línea #!/bin/bash al principio.

El cron se ejecuta varias veces

  • Revisa que no hayas creado dos tareas idénticas por accidente.
  • Comprueba la configuración de los campos de tiempo. Un * en "Día del mes" y "Día de la semana" puede causar que se ejecute dos veces en algunos sistemas (por ejemplo, si ambos campos están activos). En ese caso, deja uno de ellos como * y el otro vacío.

Buenas prácticas para tus tareas programadas

Como buen SysAdmin, siempre es mejor prevenir que curar. Aquí van algunos consejos:

  1. No satures el servidor: Evita ejecutar tareas muy pesadas durante las horas pico. Programa los backups para la madrugada.
  2. Usa logs: Haz que tus scripts escriban un log de lo que hacen. Así podrás depurar problemas fácilmente.
  3. Configura alertas: Si el script falla, que te envíe un correo. Puedes hacerlo con un simple || mail -s "Error" tu@correo.com en el comando.
  4. Nombres descriptivos: Aunque DirectAdmin no te pide un nombre, te recomiendo que el comando sea lo más claro posible para que, si lo ves meses después, sepas qué hace.

Preguntas frecuentes (FAQ) sobre Cron Jobs en DirectAdmin

¿Puedo ejecutar un cron cada 5 minutos?

Sí. Pon */5 en el campo de minutos. Esto le indica al sistema que ejecute el script en el minuto 0, 5, 10, 15, etc.

¿Qué significa * * * * *?

Es la forma abreviada de decir "todos los minutos, todas las horas, todos los días". Es la máxima frecuencia para un cron.

¿Puedo usar variables dentro del comando?

Sí, pero ten cuidado con las comillas y caracteres especiales. A veces es mejor crear un script que contenga las variables y ejecutar ese script.

¿Qué hago si mi proveedor de hosting no tiene DirectAdmin?

Muchos paneles como cPanel o Syspanel (puerto 2106) tienen interfaces muy similares. Busca la sección "Cron Jobs" o "Tareas Programadas" y sigue la misma lógica. Los campos de tiempo son universales en Linux.

Conclusión y siguientes pasos

Configurar un cron job en DirectAdmin es una habilidad esencial para cualquier persona que gestione un sitio web o un servidor. No solo te ahorra tiempo, sino que también te permite automatizar tareas críticas de mantenimiento y administración.

Hemos visto desde lo más básico (crear una tarea simple) hasta trucos de SysAdmin para depurar problemas. Ahora te toca a ti: entra en tu panel, crea un cron de prueba y experimenta. La mejor manera de aprender es haciendo.

[INFO] Recuerda que si tu panel es Syspanel (HestiaCP), el acceso es en el puerto 2106 y la interfaz es igual de amigable. No dudes en consultar la documentación de tu proveedor si tienes dudas específicas sobre tu entorno.

Si este artículo te ha sido útil, compártelo con otros usuarios que estén empezando en el mundo del hosting. Y si tienes alguna duda, déjala en los comentarios. ¡Feliz automatización!

¿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