Aunque la sintaxis para CPANEL es común, y de hecho podemos recurrir la documentación de Cron Jobs en CPANEL, es posible que algunos hosting tengan alguna configuración diferente.
Así que vamos a ver una forma rápida para comprobarlo.
Lo que vamos a hacer es crear una tarea CRON que llamará a un archivo PHP, el cual comprobará que existe un archivo en el directorio del hosting.
Nuestra tarea CRON en nuestro cpanel será esta:
php /home/miusuario/public_html/test.php
De forma que nuestra tarea CRON ejecutará el archivo test.php (donde pone miusuario, hemos de poner nuestro usuario de cpanel; la ruta adecuada para cada usuario suele aparecer en la sección de Cron Jobs)
Y el contenido del archivo test.php será el siguiente:
<?php
// the message
$msg = “La tarea CRON php /home/miusuario/public_html/test.php FUNCIONA !! “;
$filename = ‘test2.txt’;
$t = time();
$ft = (filemtime($filename));
$td = (($t – $ft)/60);
if ((file_exists($filename)) and $td > 5) {
mail(“MICORREO@gmail.com”,”Alert”,$msg);
}
?>
Hemos de corregir la línea donde pone MICORREO y poner nuestro correo real …
También hemos de crear el archivo test2.txt, que es el que la tarea Cron se encargará de comprobar que existe.. (en este caso en la raíz de nuestro espacio FTP; si queremos crearlo en otro subdirectorio, hemos de modificar la ruta consecuentemente).
Este código php se encarga de revisar que existe el archivo /home/miusuario/public_html/test2.txt , y en caso afirmativo, nos envía un correo a la dirección que conste en la línea:
mail("MICORREO@gmail.com","Alert",$msg);
Con el asunto: Alert
Y el contenido del mensaje será:
La tarea CRON php /home/miusuario/public_html/test.php FUNCIONA !!
Ahora veremos realmente si funciona:
Y además, como el propio CPANEL nos permite configurar un correo electrónico donde recibir los resultados de las tareas Cron, pues hemos recibido el correo de Cron mostrando la info genérica acerca del proceso cron ejecutado:
X-Powered-By: PHP/5.6.38
Content-type: text/html; charset=UTF-8
Como ya sabemos, CPANEL nos permite configurar una dirección de mail donde recibir el resultado de las Cron Jobs, y se puede configurar en la sección Trabajos de Cron / Correo electrónico cron
Si no quisiéramos recibir estos mails, en nuestra tarea cron pondríamos esto al final:
/dev/null 2>&1
o sea:
php /home/miusuario/public_html/test.php /dev/null 2>&1
Enviar un correo electrónico con la salida cada vez que se ejecute un trabajo cron