Mettre en place Tache Cron via le CPanel

Pierrick81

New Member
#1
Hello à tous,

J'ai eu une problématique que j'ai réussi à résoudre, je vous en fais donc part.
J'utilise Prestashop 1.5, et j'ai un module de Relance Client, que je souhaitais automatiser via une requête CRON qui était du type : PagesJaunes : Annuaire des professionnels et bonnes adresses

J'ai donc été sur le Cpanel pour ajouer une tache Cron, mais j'avais en permanence le message "No input file specified".
Il faut savoir que dans les taches Cron il ne faut pas :
1/ de chemin absolu
2/ de paramètre dans les URLs
3/ Il faut indiquer à la tache Cron le langage à utiliser.

Pour le premier problème :
Il faut utiliser le chemin suivant : /home/NOMDUTILISATEUR/public_html/modules/followup/

Pour le second, il faut suivre les infos du post : tache cron pour php avec parametre : Administration d'un site Web
J'en venais donc à utiliser l'url suivante :
/home/NOMDUTILISATEUR/public_html/modules/followup/cron.php PXXXXXXUDCYSEP
Ensuite je savais que dans la variable $argv[1], j'avais mon paramètre.

Il suffit ensuite de modifier le fichier cron.php, en ajoutant $secure_key=$argv[1], et de remplacer les $_GET['secure_key'] par $secure_key.

Pour le dernier point, il faut ajouter php5 devant la ligne, pour lui indiquer que le fichier est en PHP5

En résumé la ligne de la tache CRON doit être :
php5 /home/montrea1/public_html/modules/followup/cron.php PXXXXXXUDCYSEP

Bon courage à tous.

P.
 
#2
Pierrick81 je te remercie pour ce post qui date un peu mais tu viens sans le savoir de mettre fin à 2 jours de recherches intensives pour trouver une solution à ce problème pour lequel je n'avais pas eu de réponse sur le forum de PS.
Il y a juste un soucis avec l'url générée automatiquement dans ces emails, ça reprend le chemin absolu :(
Une petite modif des templates d'email et le tour est joué

Je vais essayer de l'adapter au module sitemap pour google maintenant, en sachant que ce dernier à 2 variable à passer :-/
 
Dernière édition:

cornelius

New Member
#3
Bonjour,

J'ai fait autrement pour utiliser les taches CRON correctement.

J'ai créé une page PHP cron.php que je mets sur mon espace d’hébergement.
Dans cette page, je lance mes URL par des fopen

PHP:
<?php
$handle = fopen("http://www.mondomaine.com/cron.php?secure_key=GXXROXXXXX", "r");
?>
Dans mon CPANEL, je mets comme commande :
Code:
/usr/local/bin/php -q /home/COMPTE/public_html/DOMAINE.COM/cron.php

Il est facile maintenant de rajouter des URL (ou autre function) dans le cron.php :)
 
#4
Bonjour,

J'ai voulu tester ta méthode cornelius avec un module prestashop.
Dans le fichier cron.php j'ai ça :
Code:
 <?php
$handle = fopen("http://monsite.fr/modules/gsitemap/gsitemap-cron.php?token=xxxxxxxxxxxxxxx&id_shop=y", "r");
?>
J'ai configuré la tache cron comme tu as mis, et aprés l'éxécution de cette tache je reçois un email vide du cPanel...

Est-ce normal ?

Normalement l'éxécution de la page via la navigateur retourne, dans le code html :
Code:
<xmp style="text-align: left;">1</xmp><br />
 

pierre_kuhn

Active Member
#5
Bonjour

Vous pouvez aussi faire directement

wget -O - -q 'http://www.domaine.fr/modules/cron.php?secure_key=ILOVEPH' --user-agent="PlanetHoster/CRON" > /dev/null 2>&1
 
Haut