Valora este artículo :
Este artículo le ha sido útil ?
Sí
No
Vous avez noté 0 étoile(s)
Procédure
El objetivo de una tarea cron es ejecutar automáticamente un script, un comando o un programa a horas determinadas.
Con"LWS cron job", puede programar un script en su sitio para que se ejecute en diferentes momentos. Por ejemplo, una vez a la semana, una vez al día, el día 8 de cada mes, etc.
A estas tareas se les aplica un tiempo de espera de 240s, lo que significa que si su script tarda más de 4 minutos en ejecutarse, se cerrará automáticamente pasados 4 minutos.
1. Vaya a la herramienta Cron Task
En primer lugar, conéctese a su panel de cliente LWS
A continuación, vaya a la gestión del servicio para el que desea crear una tarea cron.
Una vez en la gestión de tu servicio, busca el bloque "Base de datos y PHP" y haz clic en "Tareas cron".
2. Configurar la frecuencia de la tarea cron
Lo primero que debe configurar para su tarea cron es su periodicidad.
LWS ofrece una serie de preconfiguraciones que le permiten configurar esto en sólo 1 clic.
Para ello, basta con utilizar la primera lista de la parte superior del formulario y seleccionar uno de los parámetros propuestos. Esto rellenará automáticamente los campos para que coincidan con la periodicidad indicada en la lista que haya seleccionado.
Si la periodicidad que desea establecer no está propuesta en esta primera lista, no se preocupe, podemos configurar cada elemento.
Para cada elemento (minutos, horas, días, etc.) puede introducir los valores manualmente o utilizar el campo de lista que aparece a la derecha de cada campo.
Así, por ejemplo, si quiero que mi tarea comience todos los días a las 12:27, todo lo que tengo que hacer es seleccionar el número 27 en la lista adjunta al campo minuto y seleccionar 12:00 pm en la lista adjunta al campo hora.
Consejos
3. Configuración del campo de comandos
Existen tres formas de llamar a su script a través de la herramienta Cron Task:
La diferencia entre estas tres opciones radica principalmente en la forma en que ejecutan su script.
Una llamada Wget o Curl utiliza el protocolo HTTP, lo que significa que estará sujeta a las configuraciones y restricciones de Apache, como el tiempo de espera, que puede ser relativamente corto.
La llamada PHP, por otro lado, estará libre de las limitaciones que ya hemos discutido con los otros dos métodos. Piense en la llamada PHP como si fuera a través de una conexión SSH.
Así que usted podría preguntarse qué método elegir para configurar su tarea Cron. Mi respuesta sería que no hay diferencias reales en scripts básicos que se ejecutan rápidamente. Sin embargo, si su tarea CRON es bastante grande, con muchas acciones realizadas y por lo tanto un tiempo de ejecución un poco más largo, el método más adecuado será una llamada PHP. A diferencia de Curl o Wget, el tiempo de espera será mayor (4 min).
Vamos a ver cómo configurar una tarea cron para cada una de las llamadas mencionadas anteriormente. Tomaremos como ejemplo un sitio sencillo que llama a un script raíz.
Llamada cURL
En una llamada curl utilizando el protocolo HTTP, simplemente llamamos a la URL de nuestro archivo de la siguiente manera
curl https://www.mon-domaine.fr/cron.php
También podemos necesitar enviar parámetros a nuestro script. Para ello, basta con añadirlos de la siguiente manera:
curl -d "param1=valor1¶m2=valor2" https://www.mon-domaine.fr/cron.php
A continuación, podemos recuperar los valores de estos parámetros en el código de nuestro script POST.
Llamada Wget
Durante una llamada Wget, que también utiliza el protocolo HTTP, al igual que con la llamada cURL, también llamaremos a la URL de nuestro script. Esto dará :
wget "https://www.mon-domaine.fr/cron.php"
Si necesitamos pasar parámetros al script, con Wget no tendremos más remedio que pasar los parámetros en GET. He aquí como escribir el comando:
wget "https://www.mon-domaine.fr/cron.php?param1=value1¶m2=value2"
En el script, podemos recuperar estos dos parámetros usando GET.
Llamada PHP
En el caso de un sitio sencillo, imaginemos que el archivo que contiene mi script se llama cron.php
Basta con introducir el siguiente comando en la herramienta Cron Task:
php /htdocs/cron.php
Aquí, la versión de PHP utilizada para ejecutar su script será la 8.0 por defecto.
Si desea utilizar una versión específica de PHP, simplemente modifique ligeramente la llamada. Por ejemplo, si desea utilizar la versión 7.2 para ejecutar el script, este es el comando llamado :
php72 /htdocs/cron.php
También podemos necesitar pasar un argumento que luego será utilizado en nuestro script.
Por ejemplo, imaginemos que el objetivo de nuestro script es enviar un correo electrónico en función de un criterio que definamos, como el cumpleaños. Por lo tanto, podríamos querer pasar este criterio en la llamada. He aquí cómo hacerlo a través de la línea de comandos :
php72 /htdocs/cron.php type=aniversario
Casos particulares
También existen casos especiales en función de lo que utilice para su sitio.
Por ejemplo, en el caso de un sitio creado con el framework Cakephp, la configuración de la tarea CRON será un poco diferente porque se hará a través de un comando SHELL llamado por el sistema del framework.
Imaginemos que tenemos un sitio de comercio electrónico creado con el framework Cakephp y que queremos configurar un script que envíe un email al mejor cliente para ofrecerle un código promocional.
Vamos a crear un comando Cake que llamaremos SendCP, que contendrá el script que gestiona lo que queremos hacer. Así es como configuraremos la tarea Cron :
php72 /htdocs/Consola/cake.php SendCP
Llevaría mucho tiempo dar un ejemplo de cada caso, pero con lo que se ha dado aquí, ya tienes una buena base para utilizar la herramienta de tareas Cron.
Utilizando los distintos ejemplos, ahora sabemos cómo escribir nuestro comando para ;
4. Crear un archivo de registro
Ahora vamos a ver cómo crear un archivo de registro para que podamos ver lo que sucedió durante el script llamado por Cron.
Para ello, utilizaremos el siguiente ejemplo para nuestro script CRON.
Ejemplo de una función PHP echo para el archivo de registro
<?php /* Para que no tengas que preocuparte por la caché */ header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0"); header("Cache-Control: post-check=0, pre-check=0", false); header("Pragma: no-cache"); /* Escriba la fecha actual en el fichero, por ejemplo: 2023/01/19 12:24:01 */ /* PHP_EOL permite omitir una línea en el fichero */ echo date('Y/m/d h:i:s').PHP_EOL; /* Escriba la siguiente frase en el archivo de registro */ echo 'Grabando mi Cron'.PHP_EOL.PHP_EOL; ?>
Representación del archivo de registro después de lanzar el script a través de Cron Job
2023/01/19 02:57:01 Grabando mi Cron 2023/01/19 03:57:01 Grabando mi Cron 2023/01/19 04:57:01 Grabando mi Cron 2023/01/19 05:57:01 Grabando mi Cron 2023/01/19 06:57:01 Grabando mi Cron 2023/01/19 07:57:01 Grabando mi Cron 2023/01/19 08:57:01 Grabando mi Cron
Por lo tanto, lo que pongas en tu archivo de registro dependerá de ti y de lo que quieras controlar en tu script. Por ejemplo, podría ser una lista de acciones con el resultado de cada una.
Ejemplo de una llamada cURL con retorno en un archivo de registro
Para una llamada cURL, este es el comando a introducir en el campo "Comando":
curl https://www.mon-domaine.fr/cron.php >> /htdocs/logs/cron_curl.log
En este ejemplo, la respuesta de escritura (echo PHP) se enviará al archivo cron_curl.log de la carpeta logs. Si el archivo o carpeta no existe, se creará automáticamente.
Ejemplo de una llamada wget con feedback en un fichero log
Para una llamada Wget, éste es el comando a utilizar:
wget -O - -q https://www.mon-domaine.fr/cron.php >> /htdocs/logs/cron_wget.log
En este ejemplo, la retroalimentación de escritura (echo PHP) será enviada al archivo cron_wget.log en la carpeta logs. Si el archivo o carpeta no existe, se creará automáticamente.
Ejemplo de una llamada PHP con retroalimentación en un archivo de registro
Para una llamada PHO, este es el comando a utilizar:
php72 /htdocs/cron.php >> /htdocs/logs/cron_php.log
En este ejemplo, la retroalimentación de escritura (echo PHP) será enviada al archivo cron_php.log en la carpeta logs. Si el archivo o la carpeta no existen, se crearán automáticamente.
Una vez que haya creado sus tareas cron, puede encontrarlas directamente en el listado que aparece debajo del formulario de adición.
Aquí encontrará una lista con el comando registrado, la periodicidad y la opción de eliminar un cron o pausarlo.
Valora este artículo :
Este artículo le ha sido útil ?
Sí
No
0mn lectura
Multidominio - Poner varios dominios en el mismo servicio de alojamiento web
1mn lectura
¿Es posible eliminar la función antispam de RSpamD en el alojamiento compartido?
0mn lectura
¿Cómo puedo ver los correos electrónicos enviados mediante la función de correo PHP y bloqueados por SPAMASSASSIN?