Si usted quiere ejecutar scripts en una base programada, tenga en cuenta lo siguiente:
De acuerdo con nuestras políticas de uso, se prohíbe ejecutar tareas cron con intervalos de menos de 15 minutos, o configurar más de 5 tareas cron simultáneas.
Si usted no agrega >/dev/null 2>&1
al final del comando, el servidor enviará una notificación de correo electrónico cada vez que se ejecuta una tarea cron. Aunque esto puede ser útil para propósitos de prueba y supervisión, si no se atienden, estos correos pueden recargar las cuentas especificadas en el campo Cron email
. Si el correo es una de sus cuentas de cPanel, entonces puede haber problemas con el uso de disco e inodos.
Nota: si el script no genera ninguna salida, es posible que la notificación de correo electrónico tampoco se envíe; sin embargo, la tarea programada de cron podría estar funcionando.
Para configurar una tarea cron
inicie sesión en cPanel y seleccione Trabajos de cron bajo la sección "Avanzada":
Para añadir una nueva tarea o trabajo cron llene los campos en la sección "Añadir nuevo trabajo de cron":
El formato general para una tarea de cron es como sigue:
[Ruta al entorno] [Ruta al script] [Parámetros del script]
Por ejemplo, si usted desea ejecutar un script PHP que está ubicado en el directorio public_html
, el comando que debe usar será similar al siguiente:
/usr/local/bin/php /home/usuariocPanel/publichtml/nombredel_script.php
Si necesita usar una ruta relativa, entonces divida los comandos distintos con punto y coma ;
:
cd /home/YourcPuser/publichtml/; /usr/local/bin/php nombredel_script.php
Para ejecutar scripts en Python y Perl no es necesario usar una ruta completa al entorno. La directiva para el intérprete del lenguaje será suficiente en servidores compartidos:
python /home/usuariocPanel/publichtml/nombredelscript.py
perl /home/usuariocPanel/publichtml/nombredelscript.pl
De forma alternativa, puede simplemente usar solicitudes curl en el comando de la tarea cron para los mismos propósitos:
curl “http://yourdomain.com/script.php?argument1=arg1&argument2=arg2”
curl “http://yourdomain.com/script.py”
curl “http://yourdomain.com/script.pl”
Sin embargo, a diferencia del primer método, los trabajos cron basados en curl funcionarán solamente si las direcciones URL especificadas en las solicitudes curl son resueltas. Por ejemplo: si los registros DNS para el dominio son correctos y están en funcionamiento.
También puede verificar si un comando cron es ejecutado correctamente corriéndolo en la línea de comandos a través de SSH.
Usaremos un script simple de multiplicación con parámetros externos como ejemplo:
Script de multiplicación simple: scriptejemplo.php
<?php
if ($GET) {
// se pasan los parámetros en casos de acceso basado en HTTP
$argumento1 = $GET['arg1'];
$argumento2 = $_GET['arg2'];
} else {
// se pasan los argumentos en CLI a través del arreglo argv[]
$argumento1 = $argv[1];
$argumento2 = $argv[2];
}
$resultado = $argumento1 * $argumento2;
echo " $argumento1 x $argumento2 = $resultado \n ";
?>
Añadimos nuestro script a nuestro directorio public_html
y haremos algunas pruebas para observar su ejecución.
Comencemos con la ejecución vía navegador. Para hacerlo, usaremos nuestro dominio seguido del nombre del script y la directiva ?
asignando valores aleatorios a nuestro script.
Para obtener el mismo resultado a través de una tarea cron, usaremos este comando agregando los parámetros después de ruta donde se encuentra el script:
/usr/local/bin/php /home/ejemplo/public_html/scriptejemplo.php 3 5
Obtendremos entonces el mismo resultado a través de una notificación en nuestro correo electrónico.
Desde la línea de comandos, puede usar el comando cron o una solicitud CURL para obtener el mismo resultado:
/usr/local/bin/php /home/ejemplo/public_html/scriptejemplo.php 3 5
5 x 3 = 15
Para hacerlo a través de CURL:
curl "http://www.ejemplo.cl/scriptejemplo.php?arg1=5&arg2=3"
5 x 3 = 15
Para complementar la información aquí presentada puede consultar los siguientes recursos. Aunque este material es provisto esperando que sea útil, tenga en cuenta que no podemos certificar su actualidad o precisión.
Para más información sobre el uso de CURL consulte su documentación oficial.