Generalidades
Puedes hacer que DreamHost configure automáticamente un cron job desde el panel, en la página Cron Jobs. Este artículo contiene los siguientes contenidos.
Cuando se crea un cron job en el panel, puedes asignarlo a un usuario SFTP o shell.
Sin embargo, solo los usuarios shell pueden crear y editar manualmente cron jobs en el servidor.
Los cron job se pueden crear en cualquier plan de alojamiento.
Crear un cron job en el panel
Este ejemplo ejecuta un solo archivo llamado script.php.
- Navega a la página Cron Jobs.
- La página Cron Jobs aparece:
- Haz clic en el botón Agregar nuevo Cron Job.
- Se abre la página Crear nuevo Cron Job :
- Para crear el cron, completa los siguientes campos:
- Usuario: En el menú desplegable, elige un usuario SFTP o shell existente en el que desea que se ejecute el cron job.
- Título: Asigna al cron job un nombre que recordarás.
- Salida le correo a: Ingresa una dirección de correo a la que te gustaría recibir la salida del cron job. También puedes dejar esto en blanco para no recibir correos.
- Comando a ejecutar: Ingresa el comando para correr.
El comando que ingresas generalmente debe primero especificar la ruta al programa que te gustaría usar para ejecutar el cron job. Consulta las 'Rutas a programas comunes' a continuación para ver ejemplos. Por ejemplo, supongamos que tiene un archivo PHP llamado script.php en tu directorio de dominios:
- /home/usuario/example.com/script.php
Para ejecutar este comando, debes incluir en ruta, la versión elegida de PHP seguida de un espacio, seguido de la ruta al archivo:
- /usr/local/php82/bin/php/home/usuario/example.com/script.php
- Usar bloqueo: Habilítalo si deseas evitar que el trabajo se ejecute más de una vez al tiempo.
- Cuándo ejecutarlo: En el menú desplegable, elige con qué frecuencia deseas que se corra este cron job.
El tiempo que elijas debe ser PDT/PST ya que esta es la zona horaria en la que está configurado tu servidor web. Para determinar la hora correcta, puedes iniciar sesión en tu servidor a través de SSH y correr la fecha del comando, o puedes consultar un sitio web que enumera esta información.
Minutos personalizados
Actualmente solo es posible agregar 12 minutos diferentes en una hora. Puedes organizarlos como desees, pero el cron job no puede ejecutarse más de 12 veces en una sola hora.
Los campos del 'Día de la Semana' y 'Día del Mes'
Cuando el campo del 'Día de la Semana' anula el 'Día del Mes'
El campo del 'Día de la Semana' anulará el campo del Dia del mes solo si el campo del Día del Mes está configurado para Todos los Días. Por ejemplo, la siguiente configuración solo correrá los Jueves.
Cuando el campo del 'Día de la Semana' NO anula el 'Día del Mes'
El campo del Día de la Semana NO anulará el campo del Día del Mes, si el campo del Día del Mes está configurado a día(s) específico(s). En ese caso correrán juntos.
En el ejemplo a continuación, el campo del Día de la Semana está configurado para correr los Jueves a las 3:44 pm. El campo del Día del Mes esta también ajustado para el 26 (que es un Miércoles). El cron job seguirá corriendo todos los Jueves, pero también el 26 de cada mes.
Ejecutar un cron job desde una URL con variables
Es común que una URL personalizada en tu sitio use variables. Por ejemplo:
https://example.com/script.php?firstname=john&lastname=doe
El problema es que las variables solo funcionan en un navegador web cuando se visita la URL. No funcionarán cuando se ejecuta la URL en el servidor. Hay dos formas de hacer que un cron job ejecute dicha URL.
Usar curl o wget
Cuando ejecutes curl o wget en una URL con variables, asegúrate de encerrar la URL entre comillas simples.
curl 'https://example.com/script.php?firstname=john&lastname=doe'
Así es como se vería en el panel.
Usar php.cgi
La otra opción es usar php.cgi en lugar de la ruta a PHP. Al crear la URL, debes cambiar el primer signo de pregunta ? por un espacio, y cada signo & después de eso en un espacio también. Por ejemplo:
Ruta al archivo original y URL
/home/username/example.com/script.php?firstname=john&lastname=doe
Ruta editada al archivo y URL
/home/username/example.com/script.php firstname=john lastname=doe
Finalmente, agrega la ruta al binario php.cgi.
/dh/cgi-system/php82.cgi /home/username/example.com/script.php firstname=john lastname=doe
Así es como se vería en el panel.
Rutas a programas comunes
A continuación se muestran las rutas a los programas comunes en el servidor. Esta es la ruta que agregarías antes del archivo que deseas ejecutar.
Programa | Camino |
---|---|
bash | /bin/bash |
java | /usr/bin/java |
perl | /usr/bin/perl |
php |
/usr/bin/php |
php-cgi | /dh/cgi-system/php80.cgi /dh/cgi-system/php81.cgi /dh/cgi-system/php82.cgi |
python | /usr/bin/python /usr/bin/python3 |
ruby | /usr/bin/ruby |