¿Cómo crear un cron job?

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.

  1. Navega a la página Cron Jobs.
    La página Cron Jobs aparece:
  2. Haz clic en el botón Agregar nuevo Cron Job.
    Se abre la página Crear nuevo Cron Job :
  3. 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/php74/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.

es-panel-cron-job-create-03.png

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.

es-panel-cron-job-create-04.png

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.

es-panel-cron-job-create-05.png

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/php74.cgi /home/username/example.com/script.php firstname=john lastname=doe

Así es como se vería en el panel.

es-panel-cron-job-create-06.png

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
/usr/local/php72/bin/php
/usr/local/php73/bin/php
/usr/local/php74/bin/php
/usr/local/php80/bin/php

php-cgi /dh/cgi-system/php72.cgi
/dh/cgi-system/php73.cgi
/dh/cgi-system/php74.cgi
/dh/cgi-system/php80.cgi
python /usr/bin/python
/usr/bin/python3
ruby /usr/bin/ruby

Ver también

¿Este artículo ha respondido sus preguntas?

Última actualización el PST.

¿Aún no encuentra lo que busca?