Cómo crear una tarea programada (cron) en DirectAdmin
Programa un comando con minuto, hora y el resto de los campos, y decide si el resultado llega por correo.
Una tarea cron ejecuta un comando en tu cuenta a la hora que indiques: un script PHP, una revisión o una limpieza. En el panel está en Funciones Avanzadas > Trabajo Cron.
Mira las tareas
La pantalla Trabajo Cron lista Minuto, Hora, Día del mes, Mes, Día de la Semana y Comando. Si todavía no hay tareas, dice No hay elementos para mostrar.
Arriba están CREAR TRABAJO DE CRON y ENVIAR TODOS LOS RESULTADOS DE CRON AL E-MAIL. El segundo define el correo que recibe la salida de las tareas que sí envían correo.
Crea la tarea
En Crear trabajo de cron la pantalla muestra la Hora actual de la cuenta para que no calcules el horario a ciegas.
Los cinco campos, de izquierda a derecha, son los del cron habitual:
- Minuto. En el ejemplo,
0: al minuto 0. - Hora.
3: a las 3. - Día del mes.
*: todos los días del mes. - Mes.
*: todos los meses. - Día de la Semana.
*: todos los días de la semana.
Con eso, el panel resume Trabajo Cron se ejecutará: En 03:00 AM. Es todos los días a las 3:00 de la madrugada. * significa “todos” en ese campo.
Comando es lo que se ejecuta. El ejemplo del formulario es:
/usr/local/bin/php /home/demouser/domains/demouser.directadmin.com/public_html/cron.php
Cámbialo por tu script. La ruta del archivo tiene que ser la de tu cuenta, no la de demouser. La ves en el administrador de archivos, dentro de domains / tudominio.cl / public_html. El ejemplo usa /usr/local/bin/php como programa PHP. Si el comando no corre, confirma esa ruta con soporte: no tiene por qué ser la misma en todos los planes.
Ejecutar en @reinicio corre el comando cuando el servidor arranca. En un sitio normal déjalo sin marcar.
IMPEDIR E-MAIL evita que la salida de esta tarea se envíe por correo. CREAR la guarda. Si no marcas IMPEDIR E-MAIL, la salida puede llegar al correo definido en ENVIAR TODOS LOS RESULTADOS DE CRON AL E-MAIL.
Cómo se escriben los horarios
Bajo el formulario, Explicación resume la sintaxis. Los valores válidos son los números del campo y *.
- Una lista usa comas:
1,2,3son los minutos 1, 2 y 3. - Un rango usa un guion:
5-7son los minutos 5 a 7. - Un intervalo usa un asterisco, una barra y el salto:
*/2es cada 2 minutos. - Se pueden mezclar. El ejemplo del panel,
1,5,11-15,30-59/2, son los minutos 1, 5, del 11 al 15, y cada 2 minutos entre el 30 y el 59.
Otros ejemplos útiles con la misma regla: 0 * * * * es cada hora en punto, y 0 0 * * * es todos los días a medianoche. 0 0 * * 0 es el domingo a medianoche, porque el día de la semana 0 es domingo.
Ejemplo de comandos Cron, en la misma pantalla, muestra tres formas. Sustituye el dominio y la ruta por los tuyos:
php /home/usuario/domains/tudominio.cl/public_html/script.php
curl --silent http://www.tudominio.cl/cron.php > /dev/null
wget -O /dev/null http://www.tudominio.cl/cron.php
La primera llama a PHP con el archivo. curl y wget abren una dirección del sitio y tiran la respuesta (> /dev/null y -O /dev/null). Úsalas solo si esa URL está hecha para correr sola. Una URL pública que modifica datos puede ejecutarla cualquiera que la conozca.
Consejos
- Prueba el comando a mano, o con un horario cercano a la Hora actual, antes de dejarlo a las 3:00. Así ves el error en el momento.
- Un script que depende de una directiva PHP se ajusta en Configuración PHP, no en el cron.
- No pongas claves dentro del comando si puedes evitarlo: queda guardado en la tarea. Si el script necesita una clave, déjala en un archivo fuera de
public_html. - Si la tarea no aparece en la lista después de CREAR, o el correo de resultados llega vacío y el script no hizo su trabajo, escríbele a soporte con el comando y el horario, sin pegar contraseñas.