PcLanDofficiel Posted August 29, 2015 Share Posted August 29, 2015 (edited) bonjour tout le monde je pense avoir un soucis avec mon prestashop ou j'ai ma configurer les tache cron sur mon prestashop j'ai sa elle se sont jamais lancé et dans mon manager ovh j'ai sa : j'ai fait un truc qu'il faillais pas ou quoi ? merci de votre aide Edited September 2, 2015 by PcLanDofficiel (see edit history) Link to comment Share on other sites More sharing options...
cinevente.com Posted September 1, 2015 Share Posted September 1, 2015 Bonjour PCLanDOfficiel, il y a 2 fois la même image, aussi difficile de voir ce qu'il y a dans le manager OVH. Par curiosité, est-ce que votre serveur OVH est un mutualisé ou un dédié ? (si c'est un mutualisé, le cron depuis prestashop ne marche pas, il faut tout faire à la main depuis le manager OVH) Cordialement Link to comment Share on other sites More sharing options...
PcLanDofficiel Posted September 2, 2015 Author Share Posted September 2, 2015 image modifier chef , merci de ta réponse quand même Link to comment Share on other sites More sharing options...
PcLanDofficiel Posted September 2, 2015 Author Share Posted September 2, 2015 alors oui chez OVH c'est un Mutualisée Link to comment Share on other sites More sharing options...
MICKAEL BLANCHARD Posted September 2, 2015 Share Posted September 2, 2015 (edited) Bonjour,Je suis également chez OVH je les ai contacté si j'exécute mes tache cron directement via le Back office de mon hébergement ceci fonctionne. Le problème que je rencontre c'est que via le panel OVH je ne peux pas indiqué des tache avec des caractère spéciaux or pour exécuter mes tache de mon module Amazon j'ai le sigle "&". Quand je veux utiliser le module de Prestashop : Tache planifié.Les taches s'installe bien mais ne s'exécute : JamaisAvez vous une solution ? Je pense que mon problème est identique au tiens : PcLanDofficiel Merci . Edited September 2, 2015 by MICKAEL BLANCHARD (see edit history) Link to comment Share on other sites More sharing options...
PcLanDofficiel Posted September 2, 2015 Author Share Posted September 2, 2015 (edited) ben voila ,(bonjour à toi au passage) oui j'ai le même soucis que toi , impossible de l'intégrée comme il y a un token a chaque tache et que OVH n'en veux pas c'est trés trés dur la solution c'est quoi , laisser prestashop ou les deux ovh et prestashop ??? cordialement http://shop.pcland-officiel.fr Edited September 2, 2015 by PcLanDofficiel (see edit history) Link to comment Share on other sites More sharing options...
Mediacom87 Posted September 2, 2015 Share Posted September 2, 2015 Bonjour, pourquoi retrouve t on les même tâches cron sur PrestaShop et OVH ? Soit vous les mettez sur OVH soit sur PrestaShop, pas les 2. Ensuite utilisez vous le mode basique de cronjob ou le mode avancés ? Link to comment Share on other sites More sharing options...
PcLanDofficiel Posted September 2, 2015 Author Share Posted September 2, 2015 ah d'accord, ben sur ovh elle s'execute mais pas dans prestashop j'aurai penser le contraire , comment forcer la mise a jours de cron , (l'actualiser tout suite quoi ) faut vraiment attendre une heure ? Link to comment Share on other sites More sharing options...
cinevente.com Posted September 2, 2015 Share Posted September 2, 2015 (edited) Même problème pour moi, impossible de mettre des caractères spéciaux. Pour contourner ca, j'utilise un .php qui appelle la tache à caractère spéciaux, et c'est ce .php que j'appelle en cron. Petit exemple de script pour refaire la sitemap en cron. RebouildSitemap.php (qui est appelé par le cron ovh) <?php echo 'La requête démarre ';$url = 'http://votresite/modules/blabla?token=xxx&id_shop=1';// Création d'un gestionnaire curl$ch = curl_init($url);curl_setopt($ch, CURLOPT_TIMEOUT, 600);curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 60);curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);// Exécution$data = curl_exec($ch);echo $data;// Vérification si une erreur est survenueif(!curl_errno($ch)){ $info = curl_getinfo($ch); echo 'La requête a mis ' . $info['total_time'] . ' secondes à être envoyée à ' . $info['url'];}// Fermeture du gestionnairecurl_close($ch); echo 'Fini';?> Edited September 2, 2015 by cinevente.com (see edit history) 1 Link to comment Share on other sites More sharing options...
cinevente.com Posted September 2, 2015 Share Posted September 2, 2015 (edited) ah d'accord, ben sur ovh elle s'execute mais pas dans prestashop j'aurai penser le contraire , comment forcer la mise a jours de cron , (l'actualiser tout suite quoi ) faut vraiment attendre une heure ? En fait, sur un mutu, tu n'as pas accès au cron en dehors de l'interface de ton manager. Donc Prestashop croit qu'il a ajouté les taches crons, mais OVH les ignore, donc elles ne tournent pas. Je n'ai pas trouvé de moyen de forcer l'exécution immédiate. De plus, sur les OVH mutu, tu ne choisis pas la minute d'exécution dans une heure, donc parfois ca tourne à Xh55, pour peu que tu coches à Xh02, ca tournera à X+1h55, ca fait parfois long quand tu testes une correction. Pour moi l'avantage de passer par un script php intermédiaire (en dehors de pouvoir utiliser des caractères spéciaux dans l'url), c'est que tu peux aussi lancer directement à la main en tapant ton chemin du php directement dans un navigateur. En retour, le souci, c'est les timeout. Les taches cron sur mutu ne timeout pas (enfin je n'ai rien qui prenne plus d'une heure à tourner), alors que lancées en direct dans le navigateur, c'est 5 minutes maximum, ca empêche donc de voir d'éventuelles traces sur les trucs un peu longs. Et ca force à bricoler une version par tranches pour debugger. L'autre élément auquel il faut faire attention quand on utilise un .php d'indirection pour appeler une url, c'est les tokens d'url. Parfois une mise à jour de module ou une désinstallation/réinstallation, et le token change. Si on oublie de le changer dans son .php, il tourne dans le vide, le traitement n'est pas fait et il n'y a pas d'avertissement. Edited September 2, 2015 by cinevente.com (see edit history) Link to comment Share on other sites More sharing options...
PcLanDofficiel Posted September 2, 2015 Author Share Posted September 2, 2015 moi la j'ai laisse tache cron dans mon back office de de prestashop mais c'est toujours pas exécuter Link to comment Share on other sites More sharing options...
cinevente.com Posted September 2, 2015 Share Posted September 2, 2015 moi la j'ai laisse tache cron dans mon back office de de prestashop mais c'est toujours pas exécuter Comme expliqué au dessus, sur un mutu, les taches cron dans le BO Prestashop ne seront jamais exécutées, car tu n'as pas accès au cron de ton serveur mutu. Le seul moyen d'y toucher, c'est le manager OVH. Link to comment Share on other sites More sharing options...
PcLanDofficiel Posted September 2, 2015 Author Share Posted September 2, 2015 ah ben oui mais les caractères je peux pas les mettre sur ovh je peux faire comment ? Link to comment Share on other sites More sharing options...
cinevente.com Posted September 2, 2015 Share Posted September 2, 2015 ah ben oui mais les caractères je peux pas les mettre sur ovh je peux faire comment ? Je donne la solution sur cette page (post #8). Link to comment Share on other sites More sharing options...
PcLanDofficiel Posted September 2, 2015 Author Share Posted September 2, 2015 alors si j'ai bien suivi je fait un .php avce sa dedans <?php echo 'La requête démarre ';$url = 'http://votresite/mod...n=xxx&id_shop=1'; la ici je met tout les tache cron ????// Création d'un gestionnaire curl$ch = curl_init($url);curl_setopt($ch, CURLOPT_TIMEOUT, 600);curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 60);curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);// Exécution$data = curl_exec($ch);echo $data;// Vérification si une erreur est survenueif(!curl_errno($ch)){ $info = curl_getinfo($ch); echo 'La requête a mis ' . $info['total_time'] . ' secondes à être envoyée à ' . $info['url'];}// Fermeture du gestionnairecurl_close($ch); echo 'Fini';?> Link to comment Share on other sites More sharing options...
cinevente.com Posted September 2, 2015 Share Posted September 2, 2015 Je ne connais pas le contenu de tes scripts .php appelés dans le manager ovh. (je viens de voir que tu as changé l'image dans le post originel). Il est fort possible qu'ils fonctionnent. Le problème de ma solution, c'est que ca va être compliqué à mettre en place pour toi si tu ne comprends pas ce qui se passe, ca ne marchera pas avec le multi-boutique, et ca ne marchera plus dès que quelque chose changera. Mais sinon, dans $url, tu ne mets pas toutes les taches cron, tu mets l'url d'une seule tache, et il te faut faire un .php par tache. Exemple, ton propre gsitemap.php serait comme ca : <?php echo 'La requête démarre ';$url = 'http://shop.pcland-officiel.fr/modules/gsitemap/gsitemap-cron.php?token=05aa4ce684&idshop=1';// Création d'un gestionnaire curl$ch = curl_init($url);curl_setopt($ch, CURLOPT_TIMEOUT, 600);curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 60);curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);// Exécution$data = curl_exec($ch);echo $data;// Vérification si une erreur est survenueif(!curl_errno($ch)){ $info = curl_getinfo($ch); echo 'La requête a mis ' . $info['total_time'] . ' secondes à être envoyée à ' . $info['url'];}// Fermeture du gestionnairecurl_close($ch); echo 'Fini';?> et c'est lui que tu appeleras dans le manager OVH pour la tache cron de rebuild du sitemap. Si tu fonctionnes comme cela, crée un nouveau répertoire pour centraliser tous tes .php au même endroit (n'oublie pas de mettre un index.php dedans pour que les gens ne puissent pas voir le contenu du répertoire). Link to comment Share on other sites More sharing options...
PcLanDofficiel Posted September 2, 2015 Author Share Posted September 2, 2015 donc c'est bien se qu'il me sembler un part tache, par contre je le met dans le répertoire de ma boutique , ou dans le dossier WWW ??? Link to comment Share on other sites More sharing options...
cinevente.com Posted September 2, 2015 Share Posted September 2, 2015 Personnellement, j'ai créé un répertoire spécial juste pour ca, sous le répertoire module. Avec un index.php dedans pour que les autres ne puissent pas lister le contenu (reprendre celui d'un module). Link to comment Share on other sites More sharing options...
PcLanDofficiel Posted September 2, 2015 Author Share Posted September 2, 2015 tu as mis quoi dans ton index.php ? et tes tache s’exécute dans prestashop ? tu vois l'heure a la quel et bouge et tout ? Link to comment Share on other sites More sharing options...
cinevente.com Posted September 2, 2015 Share Posted September 2, 2015 Pour index.php, tu recopies n'importe lequel du répertoire d'un autre module, par exemple celui d'un autre module, ca évite qu'on puisse lister le contenu de ton répertoire. Oui, mes taches s'exécutent, mais tu n'as pas vraiment de remontées directes. Pour ca, il faut ajouter des logs, ou un envoi de mail. Par contre, quand ca plante, j'ai un mail ovh qui m'est remonté. Link to comment Share on other sites More sharing options...
PcLanDofficiel Posted September 2, 2015 Author Share Posted September 2, 2015 donc dans mon backoffice elle resterons toujours en "jamais" pourquoi moi j'ai une date et heure sur l'une de mes tache cron ? sa que j'arrive pas a comprendre !!! qu'est qu'il est plus sur ? le script ? manager OVH et backoffice de prestashop ? je suis un peux perdu avec tout sa Link to comment Share on other sites More sharing options...
cinevente.com Posted September 2, 2015 Share Posted September 2, 2015 Pour ma part, quand j'ai vu que ca ne marchait pas, j'ai abandonné directement les cron dans le backoffice de Prestashop (surtout que c'est clair que ca ne peut pas marcher si tu es sur un mutu OVH). Pourquoi ca marque que ca a tourné ? Je ne sais pas. Peut-être que c'est le lancement de la tache elle-même lors de l'installation du module, ca peut être n'importe quoi. L'important c'est : est-ce que ca tourne tous les jours ? Regarde la date de ton fichier sitemap en ftp, mets la tache (c'est la plus simple à faire) en cron dans OVH, regarde si ca tourne en regardant la date de modif de ton fichier sitemap, si c'est bon, pragmatisme, bascule toutes tes taches en cron OVH avec des fichiers .php et passe à autre chose ^^ Link to comment Share on other sites More sharing options...
Draganne Posted September 3, 2015 Share Posted September 3, 2015 J'ai pris le module Crontab pour prestashop et tout fonctionne très bien. Je suis aussi chez OVH en mutualisé. Link to comment Share on other sites More sharing options...
MICKAEL BLANCHARD Posted September 4, 2015 Share Posted September 4, 2015 Crontab pour Prestashop? Quelle version? quelle version de prestashop? Link to comment Share on other sites More sharing options...
Draganne Posted September 4, 2015 Share Posted September 4, 2015 Crontab pour prestashop v1.4.0.0 - par Samdha Je suis sur Prestashop 1.6.1.1 Link to comment Share on other sites More sharing options...
MICKAEL BLANCHARD Posted September 4, 2015 Share Posted September 4, 2015 Merci pour votre réponses.Avez vous fait des manipulations suite à l'installation ? Comment avez vous configurer votre module? Quelle méthode utiliser vous? Merci d'avance pour votre réponses. Link to comment Share on other sites More sharing options...
Draganne Posted September 4, 2015 Share Posted September 4, 2015 Je l'ai simplement installé et mis les adresses CRON de ce que je voulais et demandé en méthode que cela se fasses en Méthode : Fréquentation du serveur. Link to comment Share on other sites More sharing options...
Mediacom87 Posted September 4, 2015 Share Posted September 4, 2015 Bonjour, le module en question est disponible directement et gratuitement ici : http://www.prestatoolbox.fr/modules-gratuits/115-crontab.html Link to comment Share on other sites More sharing options...
Eolia Posted September 24, 2015 Share Posted September 24, 2015 (edited) Bon, si vous voulez la solution qui marche pour les mutu ovh: Allez dans le module cronJob de Prestashop et rentrez vos urls Choisissez le mode avancé et copiez l'adresse de l'url Créez un fichier appelé "cron.php" à la racine de votre shop Dans celui-ci vous mettez: #!/usr/local/bin/php <?php error_reporting(E_ALL); $break_line = (php_sapi_name() == "cli") ? chr(13) : '<br/>'; $urls = array( 'http://www.votre_site/adminXXXX/index.php?controller=AdminCronJobs&token=a0c6f12c14a4a96b3937e7fda7182ebe' ); echo $break_line.'Cron Report of '.date('Y-m-d H:i:s').$break_line.$break_line; foreach($urls as $key => $url) { $output .= $break_line.'Job '.($key + 1).' : '; $ch = curl_init($url); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, 0); if($data = curl_exec($ch)) { echo $break_line; $output .= 'Ok'; } else $output .= 'Failed'; curl_close($ch); } die($output); ?> en remplaçant évidemment 'http://www.votre_site/adminXXXX/index.php?controller=AdminCronJobs&token=a0c6f12c14a4a96b3937e7fda7182ebe' par l'url indiquée dans le module. Mettez toutes vos tâches en exécution: tous les jours, tous les mois, toutes les semaines et toutes les heuresCela vous permettra de le faire fonctionner quelque soit l'horaire choisi dans le cron OVH Dans votre panel OVH, tâches planifiées créez une nouvelle tâche: Adresse (dépend de la structure de votre ftp) : Si votre boutique est dans www www/cron.php Si vous êtes dans un sous-répertoire www/votre_répertoire/cron.phpSi vous êtes dans un répertoire adjacent à www votre_repertoire/cron.php Nom de la tache: cron Prestashop Version php : 5.4 Log par email (si vous en voulez) Fréquence: Tous les jours et cochez au moins une heure par jour Et Validez Votre script sera exécuté ainsi régulièrement Vous pouvez tester en mode http en allant à l'url: http://votre_boutique.com/cron.php Edited September 27, 2015 by Eolia (see edit history) 3 Link to comment Share on other sites More sharing options...
Wibleo Posted September 26, 2015 Share Posted September 26, 2015 (edited) Bon, si vous voulez la solution qui marche pour les mutu ovh: Allez dans le module cronTab de Prestashop et rentrez vos urls Choisissez le mode avancé et copiez l'adresse de l'url Créez un fichier appelé "cron.php" à la racine de votre shop Dans celui-ci vous mettez: #!/usr/local/bin/php <?php error_reporting(E_ALL); $break_line = (php_sapi_name() == "cli") ? chr(13) : '<br/>'; $urls = array( 'http://www.votre_site/adminXXXX/index.php?controller=AdminCronJobs&token=a0c6f12c14a4a96b3937e7fda7182ebe' ); echo $break_line.'Cron Report of '.date('Y-m-d H:i:s').$break_line.$break_line; foreach($urls as $key => $url) { $output .= $break_line.'Job '.($key + 1).' : '; $ch = curl_init($url); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, 0); if($data = curl_exec($ch)) { echo $break_line; $output .= 'Ok'; } else $output .= 'Failed'; curl_close($ch); } die($output); ?> en remplaçant évidemment 'http://www.votre_site/adminXXXX/index.php?controller=AdminCronJobs&token=a0c6f12c14a4a96b3937e7fda7182ebe' par l'url indiquée dans le module. Mettez toutes vos tâches en exécution: tous les jours, tous les mois, toutes les semaines et toutes les heures Cela vous permettra de le faire fonctionner quelque soit l'horaire choisi dans le cron OVH Dans votre panel OVH, tâches planifiées créez une nouvelle tâche: Adresse (dépend de la structure de votre ftp) : Si votre boutique est dans www www/cron.php Si vous êtes dans un sous-répertoire www/votre_répertoire/cron.php Si vous êtes dans un répertoire adjacent à www votre_repertoire/cron.php Nom de la tache: cron Prestashop Version php : 5.4 Log par email (si vous en voulez) Fréquence: Tous les jours et cochez au moins une heure par jour Et Validez Votre script sera exécuté ainsi régulièrement Vous pouvez tester en mode http en allant à l'url: http://votre_boutique.com/cron.php Bonjour ! Un grand merci Elolia, encore une fois tu me sauve ! C'est exactement ce que je recherchais depuis 3 mois ! Ca fonctionne parfaitement. (Petit rectificatif, le module d'origine prestashop où mettre en place ta solution est CronJob et non Crontab) Bon WE à toi. Edited September 26, 2015 by Wibleo (see edit history) Link to comment Share on other sites More sharing options...
Eolia Posted September 27, 2015 Share Posted September 27, 2015 C'est corrigé^^ 1 Link to comment Share on other sites More sharing options...
Akira34 Posted September 28, 2015 Share Posted September 28, 2015 Salut Je bute aussi sur un probleme avec les tache Cron Je suis sur un dedie, donc j'utilise directement le Cron du systeme. Je pense que je dois avoir un probleme de syntaxe dans /etc/crontab, j'ai ca par exemple pour la reconstruction de l'index de recherche: 30 4 * * * root wget -q http://www.monsite.com/monadmin/searchcron.php?full=1&token=ToKen > /dev/null 2> /var/log/cron.log Mis a part de me creer un fichier dans /root dont le nom est searchcron.php?full={numero dordre} a chaque execution, je ne vois pas trop le resultat. D'ailleur, je ne comprends pas pourquoi cela cree un fichier. De plus je n'ai pas non plus de trace dans cron.log Si l'un de vous a une idee je suis preneur Car pour l'instant je le fait a la main .... quand j'y pense (c'est pas top ca) Cordialement Hugues Link to comment Share on other sites More sharing options...
axel31 Posted February 6, 2016 Share Posted February 6, 2016 Bon, si vous voulez la solution qui marche pour les mutu ovh: Allez dans le module cronJob de Prestashop et rentrez vos urls Choisissez le mode avancé et copiez l'adresse de l'url Créez un fichier appelé "cron.php" à la racine de votre shop Dans celui-ci vous mettez: #!/usr/local/bin/php <?php error_reporting(E_ALL); $break_line = (php_sapi_name() == "cli") ? chr(13) : '<br/>'; $urls = array( 'http://www.votre_site/adminXXXX/index.php?controller=AdminCronJobs&token=a0c6f12c14a4a96b3937e7fda7182ebe' ); echo $break_line.'Cron Report of '.date('Y-m-d H:i:s').$break_line.$break_line; foreach($urls as $key => $url) { $output .= $break_line.'Job '.($key + 1).' : '; $ch = curl_init($url); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, 0); if($data = curl_exec($ch)) { echo $break_line; $output .= 'Ok'; } else $output .= 'Failed'; curl_close($ch); } die($output); ?> en remplaçant évidemment 'http://www.votre_site/adminXXXX/index.php?controller=AdminCronJobs&token=a0c6f12c14a4a96b3937e7fda7182ebe' par l'url indiquée dans le module. Mettez toutes vos tâches en exécution: tous les jours, tous les mois, toutes les semaines et toutes les heures Cela vous permettra de le faire fonctionner quelque soit l'horaire choisi dans le cron OVH Dans votre panel OVH, tâches planifiées créez une nouvelle tâche: Adresse (dépend de la structure de votre ftp) : Si votre boutique est dans www www/cron.php Si vous êtes dans un sous-répertoire www/votre_répertoire/cron.php Si vous êtes dans un répertoire adjacent à www votre_repertoire/cron.php Nom de la tache: cron Prestashop Version php : 5.4 Log par email (si vous en voulez) Fréquence: Tous les jours et cochez au moins une heure par jour Et Validez Votre script sera exécuté ainsi régulièrement Vous pouvez tester en mode http en allant à l'url: http://votre_boutique.com/cron.php Ça a l'air de bien fonctionner chez moi. Merci Link to comment Share on other sites More sharing options...
PcLanDofficiel Posted February 8, 2016 Author Share Posted February 8, 2016 bonjour tout le monde , je vais testé un peux le cron.php pour voir, ceci dit ne fonctionne pas pour une Multi-boutique ? je me trompe ? les URLs son différentes ce qui fais que les tâches cron peuvent pas être mis en plus Link to comment Share on other sites More sharing options...
Vincent67 Posted June 16, 2016 Share Posted June 16, 2016 Je remonte un peu le sujet désolé mais ayant des soucis d’exécution de tache cron, je me permet donc de poser cette question : Est-ce que l'astuce ce Eolia marche aussi pour les serveurs 1&1 ? Je ne vois pas de commentaire précis dans le fichier cron.php qui ferait qu'il soit spécifique à OVH mais je préfère poser la question avant de me lancer dans d'autre test. Merci de votre réponse. Link to comment Share on other sites More sharing options...
Eolia Posted June 16, 2016 Share Posted June 16, 2016 Ca marche pour tous les serveurs. Le post a été écrit pour les utilisateurs OVH car ce service n'est pas compatible sur leur hébergement avec les tâches cron de Prestashop Link to comment Share on other sites More sharing options...
pinkxana Posted June 25, 2016 Share Posted June 25, 2016 (edited) Bon, si vous voulez la solution qui marche pour les mutu ovh: Allez dans le module cronJob de Prestashop et rentrez vos urls Choisissez le mode avancé et copiez l'adresse de l'url Créez un fichier appelé "cron.php" à la racine de votre shop Dans celui-ci vous mettez: #!/usr/local/bin/php <?php error_reporting(E_ALL); $break_line = (php_sapi_name() == "cli") ? chr(13) : '<br/>'; $urls = array( 'http://www.votre_site/adminXXXX/index.php?controller=AdminCronJobs&token=a0c6f12c14a4a96b3937e7fda7182ebe' ); echo $break_line.'Cron Report of '.date('Y-m-d H:i:s').$break_line.$break_line; foreach($urls as $key => $url) { $output .= $break_line.'Job '.($key + 1).' : '; $ch = curl_init($url); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, 0); if($data = curl_exec($ch)) { echo $break_line; $output .= 'Ok'; } else $output .= 'Failed'; curl_close($ch); } die($output); ?> en remplaçant évidemment 'http://www.votre_site/adminXXXX/index.php?controller=AdminCronJobs&token=a0c6f12c14a4a96b3937e7fda7182ebe' par l'url indiquée dans le module. Mettez toutes vos tâches en exécution: tous les jours, tous les mois, toutes les semaines et toutes les heuresCela vous permettra de le faire fonctionner quelque soit l'horaire choisi dans le cron OVH Dans votre panel OVH, tâches planifiées créez une nouvelle tâche: Adresse (dépend de la structure de votre ftp) : Si votre boutique est dans www www/cron.php Si vous êtes dans un sous-répertoire www/votre_répertoire/cron.phpSi vous êtes dans un répertoire adjacent à www votre_repertoire/cron.php Nom de la tache: cron Prestashop Version php : 5.4 Log par email (si vous en voulez) Fréquence: Tous les jours et cochez au moins une heure par jour Et Validez Votre script sera exécuté ainsi régulièrement Vous pouvez tester en mode http en allant à l'url: http://votre_boutique.com/cron.php Merci beaucoup je cherchais la solution depuis longtempppppssssssssssssss....très longtemps. Par contre mes tache qui une heure precise pour s’exécute, ne sont exécute . Une petite aide sup serai bienvenue svp MERCI Edited June 25, 2016 by pinkxana (see edit history) Link to comment Share on other sites More sharing options...
pilou92 Posted July 4, 2016 Share Posted July 4, 2016 Un grand merci Eolia ! Question alakon : si j'ai plusieurs tâches cron à éxécuter, je créée un fichier cronX.php pour chaque tâche ou je peux ajouter les URLs dans le même fichier cron.php d'origine ? Car dans ce cas, j'ai un message d'erreur à l'éxécution du cron.php. Link to comment Share on other sites More sharing options...
Eolia Posted July 4, 2016 Share Posted July 4, 2016 Un grand merci Eolia ! Question alakon : si j'ai plusieurs tâches cron à éxécuter, je créée un fichier cronX.php pour chaque tâche ou je peux ajouter les URLs dans le même fichier cron.php d'origine ? Car dans ce cas, j'ai un message d'erreur à l'éxécution du cron.php. Oui question à la con^^ Avec ce script, appelez l'url du module cron de Prestashop, rien d'autre Dans le module cron de Prestashop, mettez autant d'urls que vous voulez Link to comment Share on other sites More sharing options...
pilou92 Posted July 5, 2016 Share Posted July 5, 2016 Question à la con, mais réponse intelligente. Merci ! Link to comment Share on other sites More sharing options...
MICKAEL BLANCHARD Posted November 16, 2016 Share Posted November 16, 2016 Bonjour,Votre fichier fonctionne mais j'ai un retour : Job 1 : FailedEst ce normal? Merci d'avance Link to comment Share on other sites More sharing options...
MICKAEL BLANCHARD Posted November 20, 2016 Share Posted November 20, 2016 Désolé de vous relancer mais auriez vous une solution a m'apporter .. Merci beaucoup par avance. Link to comment Share on other sites More sharing options...
Eolia Posted November 20, 2016 Share Posted November 20, 2016 Le module cronjobs est activé ? Si oui, voyez-vous la date de la dernière exécution des tâches cron ? Link to comment Share on other sites More sharing options...
MICKAEL BLANCHARD Posted November 20, 2016 Share Posted November 20, 2016 (edited) Merci pour votre réponse. La date n'est pas bonne car je lance la commande cron directement avec le lien fournis sur le module pour exécuter manuellement mes tâches cron tous les jours soit aujourd'hui. Mais les tâches ne s’exécute plus automatiquement depuis 15 jours a peu près.Avec le lien direct ça fonctionne mais pas avec le fichier cron.php qui me répond : Job 1 failedLe module est bien activée. Merci beaucoup en tout cas Edited November 20, 2016 by MICKAEL BLANCHARD (see edit history) Link to comment Share on other sites More sharing options...
Eolia Posted November 20, 2016 Share Posted November 20, 2016 Ok, donc si vous n'avez rien modifié de votre côté il faut ouvrir un ticket auprès d'OVH Link to comment Share on other sites More sharing options...
MICKAEL BLANCHARD Posted November 20, 2016 Share Posted November 20, 2016 Çà peux venir d'une MAJ de prestashop? J'ai ouvert également un ticket sur le support OVHMerci bonne soirée Link to comment Share on other sites More sharing options...
MICKAEL BLANCHARD Posted December 3, 2016 Share Posted December 3, 2016 Bonjour,Suite à l'ouverture du Ticket OVH le problème a été résolu #!/usr/local/bin/php Cron Report of 2016-12-03 13:11:35 cronjobs_prestashop Job 1 : Ok Le fichier /cron.php est bien exécuté mais les tâche cron ne sont pas lancées ... Si je prend le lien manuellement et l'execute la tâche s'execute avec succès.Avez vous une idée du problème?Cordialement Link to comment Share on other sites More sharing options...
MICKAEL BLANCHARD Posted December 7, 2016 Share Posted December 7, 2016 (edited) Bonjour,Je vous apporte un élément supplémentaire mes tâches cron son bien exécutées mais rien la synchronisation ne ce passe pas et manuellement tout fonctionne.. Avez vous une idée? Merci d'avance. Edited December 7, 2016 by MICKAEL BLANCHARD (see edit history) Link to comment Share on other sites More sharing options...
Fred Posted December 19, 2017 Share Posted December 19, 2017 Le 24/09/2015 à 9:09 AM, Eolia a dit : Bon, si vous voulez la solution qui marche pour les mutu ovh: Bonjour, J'ai testé sur mon navigateur et j'obtiens : Notice: Undefined variable: output in /home/monsite/www/cron.php on line 12 cronjobs_prestashop Une piste où chercher ? Link to comment Share on other sites More sharing options...
Eolia Posted December 20, 2017 Share Posted December 20, 2017 Utilisez la dernière version du script^^ https://aide.prestashop.click/topic/27/pourquoi-le-module-cronjob-ne-fonctionne-t-il-pas-avec-les-mutus-ovh-/2 Link to comment Share on other sites More sharing options...
Lyn&Or Bijoux Posted March 12, 2018 Share Posted March 12, 2018 Un grand merci Eolia! Je cherchais comment faire depuis des semaines et ovh n'avait pas su me répondre! C'est efficace, et enfin, tout se synchronise tout seul... Bonne journée Marilyne Link to comment Share on other sites More sharing options...
Eolia Posted March 12, 2018 Share Posted March 12, 2018 1 Link to comment Share on other sites More sharing options...
Webmaster PDB Posted June 4, 2019 Share Posted June 4, 2019 Bonjour Eolia, Je me permets de relancer le topic car je voudrais savoir si cette méthode est toujours fonctionnelle ? (PS 1.7) Je profite pour signaler que le lien vers la deuxième version du script ne marche plus.. Merci en avance ! Link to comment Share on other sites More sharing options...
Eolia Posted June 4, 2019 Share Posted June 4, 2019 Aucune idée pour les 1.7, ca dépend surtout du module cronjobs donc à priori je dirais oui. Le forum du 2nd lien a été fermé car nous avons eu l'interdiction d'utiliser le nom Prestashop dans le domaine. Link to comment Share on other sites More sharing options...
INIGO Bérengère Posted August 5, 2019 Share Posted August 5, 2019 Bonjour Eolia, Tout d'abord merci pour ton aide !! Je viens d'utiliser ta méthode pour ma mise à jour des stocks de mon site. Comment puis-je savoir si tout est correctement configuré ? Car comme tu l'as expliqué, lorsque je vais sur http://monsite/cron.php, tout est ok. Dans ovh, j'ai programmé à 9, 10 et 11h l'exécution de la tache mais pour le moment je ne vois pas mes stocks changer... je veux donc être sure que tout est bien correctement configuré !! Merci :) Bérengère Link to comment Share on other sites More sharing options...
Eolia Posted August 5, 2019 Share Posted August 5, 2019 (edited) Voici la solution qui fonctionne et vous permet d'utiliser le module natif. Allez dans le module cronJob de Prestashop et rentrez vos urls Choisissez le mode avancé et copiez l'adresse de l'url. Créez un fichier appelé "cron.php" à la racine de l'admin de votre shop Dans celui-ci vous mettez: <?php /* ** Changez cette variable en true ou false pour que le cron ** affiche quelque chose - ceci apparaît dans les log de la ** console */ $verbose = true; /* ** Remplacez l'url http ou https://.... avec celle présente ** sur l'écran de configuration du module cronjobs ** après avoir activé le mode avancé */ $cronjob_url = 'https://www.votre_site/adminXXXX/index.php?controller=AdminCronJobs&token=a0c6f12c14a4a96b3937e7fda7182ebe'; /************************************** ** Ne rien modifier après cette ligne ** ***************************************/ error_reporting(E_ALL); $break_line = (php_sapi_name() == "cli") ? PHP_EOL : '<br/> '; $output = $verbose ? $break_line.'Cron Report of '.date('c').$break_line.$break_line : ''; $cronjob_url = trim($cronjob_url); $ch = curl_init($cronjob_url); curl_setopt($ch, CURLOPT_URL, $cronjob_url); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:53.0) Gecko/20100101 Firefox/53.0'); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); $data = curl_exec($ch); if ($verbose) { if($data) $output .= 'Ok'.$break_line.$data; else $output .= 'Failed'; } curl_close($ch); die($output); en remplaçant évidemment 'http://www.votre_sit...937e7fda7182ebe' par l'url indiquée dans le module. Mettez toutes vos tâches en exécution: réglez les heures, jours, correspondant à leur usage. Dans votre panel OVH, tâches planifiées créez une nouvelle tâche: Adresse (dépend de la structure de votre ftp) : Si votre boutique est dans www, www/votre_repertoire_admin/cron.php Si vous êtes dans un sous-répertoire, www/votre_répertoire_prestashop/votre_repertoire_admin/cron.php Si vous êtes dans un répertoire adjacent à www, votre_répertoire_prestashop/votre_repertoire_admin/cron.php Nom de la tache: cron Prestashop Version php : 5.4 Log par email (si vous en voulez) Fréquence: Tous les jours et toutes les heures du jour Validez Votre script sera exécuté toutes les heures et déclenchera les tâches planifiées dans cronjobs. Vous pouvez tester en mode http en allant à l'url: http://votre_boutique.com/adminXXX/cron.php Si votre site est en https, modifiez l'url en conséquence. Passez le paramètre $verbose à true comme expliqué en commentaire et dans votre OVH cochez "Log par email" (si vous en voulez) Dans votre module cron vous avez également la date et l'heure de la dernière exécution des scripts. Edited August 5, 2019 by Eolia (see edit history) 1 Link to comment Share on other sites More sharing options...
INIGO Bérengère Posted August 5, 2019 Share Posted August 5, 2019 Alors je viens de regarder j'ai bien une dernière date d'exécution à 10h08 dans mon module mais mes stocks ne sont pas actualisés, j'imagine que j'ai peut être un souci dans l'url de ma tache cron... dans le module me donnant l'url (capture ci-joint) j'ai "2 options" si je puis dire, je ne vois pas bien quelle est la différence entre les deux, je n'ai pas de configuration spécifique ? ou bien la configuration spécifique correspond au mode avancé ? Par contre aucun mail recu, pourtant j'ai bien inscrit mon adresse mail lors de la programmation de ma tache sur ovh, bizarre ! Link to comment Share on other sites More sharing options...
INIGO Bérengère Posted August 5, 2019 Share Posted August 5, 2019 Siiiiii ça a fonctionné !!!! Encore merci !! Link to comment Share on other sites More sharing options...
Ableson Posted August 8, 2019 Share Posted August 8, 2019 Pour certains utilisateurs, ils n'ont pas cron sur le serveur ou le serveur limite l'utilisation de cron. Dans ces cas, EasyCron est une option. Pour ceux qui ne savent pas utiliser crontab, EasyCron est une excellente alternative Link to comment Share on other sites More sharing options...
PsychoZzzorD Posted March 15, 2021 Share Posted March 15, 2021 Bonjour à tous, Merci beaucoup pour cette explication très précise Eolia. Saurais-tu me dire si le CRON peut être traiter avec php 5.6 ? Car c'est la plus ancienne version à laquelle j'ai accèssur le serveur mutualisé. Cordialement Link to comment Share on other sites More sharing options...
Eolia Posted March 15, 2021 Share Posted March 15, 2021 Tout à fait, et même en PHP7 normalement. C'est juste une redirection avec ajout de paramètres. Link to comment Share on other sites More sharing options...
PsychoZzzorD Posted March 15, 2021 Share Posted March 15, 2021 Merci beaucoup de ta réponse rapide ! Je vais mettre php 7 alors. Merci encore Link to comment Share on other sites More sharing options...
Yann - Prestaplugins Posted March 16, 2021 Share Posted March 16, 2021 (edited) Salut @Eolia, J'ai galéré tout l'après-midi pour mettre en place le module de CRON prestashop d'une 1.6.2 en place sur OVH, offre perf2014x1. Je viens de tomber sur ton script, je le test en direct, en l'appelant depuis le SSH OVH : Contenu du fichier : <?php /* ** Changez cette variable en true ou false pour que le cron ** affiche quelque chose - ceci apparaît dans les log de la ** console */ $verbose = true; /* ** Remplacez l'url http ou https://.... avec celle présente ** sur l'écran de configuration du module cronjobs ** après avoir activé le mode avancé */ $cronjob_url = 'https://www.prestaplugins.com'; /************************************** ** Ne rien modifier après cette ligne ** ***************************************/ error_reporting(E_ALL); $break_line = (php_sapi_name() == "cli") ? PHP_EOL : '<br/> '; $output = $verbose ? $break_line.'Cron Report of '.date('c').$break_line.$break_line : ''; $cronjob_url = trim($cronjob_url); $ch = curl_init($cronjob_url); curl_setopt($ch, CURLOPT_URL, $cronjob_url); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:53.0) Gecko/20100101 Firefox/53.0'); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); $data = curl_exec($ch); if ($verbose) { if($data) $output .= 'Ok'.$break_line.$data; else $output .= 'Failed'; } curl_close($ch); die($output); Je l'appelle comme ça depuis la console SSH OVH :usr/local/php5.6/bin/php /homez.230/*******/www3/cron_ovh2.php et j'obtiens : Failed Une idée du soucis please ? Edited March 16, 2021 by Yann - Prestaplugins (see edit history) Link to comment Share on other sites More sharing options...
Yann - Prestaplugins Posted March 16, 2021 Share Posted March 16, 2021 Bon après de multiples tests, il semblerait que cela fonctionne une fois branché en CRON sur OVH... par contre en SSH pas du tout... Ils doivent donner des droits d'executer curl au CRON qu'ils ne donnent pas au SSH... Les batards ! Link to comment Share on other sites More sharing options...
Eolia Posted March 16, 2021 Share Posted March 16, 2021 Le cron n'a jamais fonctionné en SSH chez OVH^^ Si tu as d'autres serveurs ailleurs que chez OVH tu peux mettre la tâche cron dessus qui appelle directement le module. Link to comment Share on other sites More sharing options...
jepot Posted May 17, 2022 Share Posted May 17, 2022 On 9/24/2015 at 9:09 AM, Eolia said: Bon, si vous voulez la solution qui marche pour les mutu ovh: Allez dans le module cronJob de Prestashop et rentrez vos urls Choisissez le mode avancé et copiez l'adresse de l'url Créez un fichier appelé "cron.php" à la racine de votre shop Dans celui-ci vous mettez: #!/usr/local/bin/php <?php error_reporting(E_ALL); $break_line = (php_sapi_name() == "cli") ? chr(13) : '<br/>'; $urls = array( 'http://www.votre_site/adminXXXX/index.php?controller=AdminCronJobs&token=a0c6f12c14a4a96b3937e7fda7182ebe' ); echo $break_line.'Cron Report of '.date('Y-m-d H:i:s').$break_line.$break_line; foreach($urls as $key => $url) { $output .= $break_line.'Job '.($key + 1).' : '; $ch = curl_init($url); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, 0); if($data = curl_exec($ch)) { echo $break_line; $output .= 'Ok'; } else $output .= 'Failed'; curl_close($ch); } die($output); ?> en remplaçant évidemment 'http://www.votre_site/adminXXXX/index.php?controller=AdminCronJobs&token=a0c6f12c14a4a96b3937e7fda7182ebe' par l'url indiquée dans le module. Mettez toutes vos tâches en exécution: tous les jours, tous les mois, toutes les semaines et toutes les heures Cela vous permettra de le faire fonctionner quelque soit l'horaire choisi dans le cron OVH Dans votre panel OVH, tâches planifiées créez une nouvelle tâche: Adresse (dépend de la structure de votre ftp) : Si votre boutique est dans www www/cron.php Si vous êtes dans un sous-répertoire www/votre_répertoire/cron.php Si vous êtes dans un répertoire adjacent à www votre_repertoire/cron.php Nom de la tache: cron Prestashop Version php : 5.4 Log par email (si vous en voulez) Fréquence: Tous les jours et cochez au moins une heure par jour Et Validez Votre script sera exécuté ainsi régulièrement Vous pouvez tester en mode http en allant à l'url: http://votre_boutique.com/cron.php Bonjour, J'ai mis en place votre script, mais pas encore la tache planifiée sur le panel OVH, j'ai utilisé uniquement le mode "test" http://votre_boutique.com/cron.php Je n'arrive seulement à faire fonctionner les taches que si je mets "toutes les heures" j'ai mis des heures précises et le lendemain j'ai relancé http://votre_boutique.com/cron.php rien ne s'est lancé, est-ce normal ? Est-ce qu'en mettant la tache planifiée sur le panel OVH, les heures précises seront bien prises en compte ? Merci d'avance pour votre aide ! Link to comment Share on other sites More sharing options...
Eolia Posted May 17, 2022 Share Posted May 17, 2022 OVH n'en a rien à faire de l'heure, d'ailleurs elle n'est pas paramétrable chez eux. Si vous enregistrez la tache cron OVH à 17h18 elle s'effectuera toutes les heures/18min. Donc si vous avez des urls de cron à 23h00 dans le module, elles s'effectueront à 23h18, etc... Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now