Jump to content

Recommended Posts

Bonjour à tous,

 

Je voudrais automatiser les sitemaps de mes sites internet sur OVH en créant des tâches Cron.

 

Je comprend la démarche à suivre mais je pense que je ne saisi pas la bonne commande à exécuter.

 

Le rapport de mes tâches renvoie:

 

-------------------------==  Début  ==-------------------------

 

Status: 404 Not Found

X-Powered-By: PHP/5.4.30

Content-type: text/html

 

No input file specified.

 

-------------------------==   Fin   ==-------------------------

 

Je pense que ma configuration est mauvaise. Ci joint une copie d'écran de mon paramétrage dans OVH.

 

Merci d'avance

VINZ

post-833547-0-63875100-1410420680_thumb.png

Share this post


Link to post
Share on other sites

Bonjour Vinzer,

 

La tache cron n'est pas plutot du genre " modules/gsitemap/gsitemap-cron.php?token=123456789&id_shop=1 ", si tu te sers du module sitemap de Prestashop ?

Share this post


Link to post
Share on other sites

Bonjour Thierry,

Merci pour votre réponse rapide. 

Lorsque je renseigne cette commande, il m'est impossible de créer la tâche pour les raisons suivantes:

 

Les caractères acceptés pour les dossiers sont les lettres, les chiffres, et les caractères -_./ mais il est interdit d'accéder aux dossiers parents (utilisation de ..)

 

J'ai essayé avec "gsitemap-cron.php?token=123456789&id_shop=1 " mais c'est toujours la même erreur.

 

Merci

Share this post


Link to post
Share on other sites

123456789 => c'est pour l'exemple, tu as ta propre ligne dans la seconde partie du module sitemap si c'est lui que tu utilises :)

 

2. Automatiquement : Demandez à votre hébergeur de mettre en place une "tâche Cron" pour charger l'URL suivante à la fréquence de votre choix :  http://www.tonsite.com/modules/gsitemap/gsitemap-cron.php... URL pour le cron

Share this post


Link to post
Share on other sites

Voici en PJ mon paramétrage. Pouvez vous me valider ce paramétrage?

 

J'attends le log pour vérifier sa bonne éxécution et reviendrait vers vous.

 

Merci pour votre aide.

 

Bien à vous

 

Vinz

post-833547-0-98878500-1410440540_thumb.png

Share this post


Link to post
Share on other sites

Il semblerait que ça ne fonctionne pas...

Voici le log que je viens de recevoir:

 

" Vous avez demandé l'envoi des logs pour la tâche :

Numéro            : 106042
Heure de début    : 2014-09-11 15:20:02
Heure de fin      : 2014-09-11 15:20:02
Commande exécutée : /usr/local/bin/php.ORIG.5_4 -c /usr/local/lib/php.ini-2 /homez.566/intimatep/gsitemap-cron.php
Code de retour    : 65280

  L'utilisation de ce service est limitée à l'envoi de 10 emails.
Passée cette limite, vous pourrez le réactiver via votre Espace Client :

        https://www.ovh.com/managerv3/

Attention, la taille des logs envoyés est limitée à 50'000 caractères.

-------------------------==  Début  ==-------------------------

Status: 404 Not Found
X-Powered-By: PHP/5.4.30
Content-type: text/html

No input file specified.

-------------------------==   Fin   ==-------------------------

"

Share this post


Link to post
Share on other sites

Status: 404 Not Found : il ne semble pas trouver /homez.566/intimatep/gsitemap-cron.php. Pour moi c'est juste un problème de chemin, je ne me sers pas du module mais je ne pense pas que ce soit autre chose.

Share this post


Link to post
Share on other sites

Bonsoir,

Je déterre un peu ce topic pour aider ceux qui chercheraient encore une réponse.

 

Le module vous donne comme adresse :

 

http://votresite.com/modules/gsitemap/gsitemap-cron.php?token=*************&id_shop=1

 

et dans ovh il faut l'insérer comme cela :

 

www/modules/gsitemap/gsitemap-cron.php?token=*********&id_shop=1

Edited by Shido (see edit history)

Share this post


Link to post
Share on other sites

Bonsoir,

Je déterre un peu ce topic pour aider ceux qui chercheraient encore une réponse.

 

Le module vous donne comme adresse :

 

http://votresite.com/modules/gsitemap/gsitemap-cron.php?token=*************&id_shop=1

 

et dans ovh il faut l'insérer comme cela :

 

www/modules/gsitemap/gsitemap-cron.php?token=*********&id_shop=1

Bonjour à tous,

 

Pour ma part, impossible d'insérer la clé dans le chemin sur OVH, message d'erreur... Du fait j'essayes sans mais je ne sais pas si il ne va pas y avoir un soucis d'authentification.

 

Si quelqu'un a une solution, je suis preneur !

 

Merci et bonne journée :)

 

Manu

Share this post


Link to post
Share on other sites

Bonjour à tous,

 

je confirme ce que dis Wibleo, lorsque l'on insère l'url donnée par ps ou celle indiquée par Shido, ça ne marche pas, on ne peut même pas valider la création du cron.

Il indique: 

Les caractères acceptés pour les dossiers sont les lettres, les chiffres, et les caractères -_./ Par ailleurs, il est interdit d'accéder aux dossiers parents en utilisant ..

il a pas l'air d'apprécier les caractère du style "?"

 

Pareiln si quelqu'un a la solution je suis preneur.

 

Olivier

Share this post


Link to post
Share on other sites

Bonjour à tous,

 

je confirme ce que dis Wibleo, lorsque l'on insère l'url donnée par ps ou celle indiquée par Shido, ça ne marche pas, on ne peut même pas valider la création du cron.

Il indique: 

Les caractères acceptés pour les dossiers sont les lettres, les chiffres, et les caractères -_./ Par ailleurs, il est interdit d'accéder aux dossiers parents en utilisant ..

il a pas l'air d'apprécier les caractère du style "?"

 

Pareiln si quelqu'un a la solution je suis preneur.

 

Olivier

Bonjour,

 

J'ai deux solutions :

 

1/ Je suis passé par easycron, avec un compte gratuit c'est suffisant, même en mettant une fréquence rapprochée pour certaines tâches.

 

2/ Avec un fichier php qui lance la suite de tâches et une tâche cron OVH qui lance le fichier php en amont :)

#!/usr/local/bin/php
<?php
error_reporting(E_ALL);

$break_line = (php_sapi_name() == "cli") ? chr(13) : '<br/>';
$urls = array(
'http://votrenomdedomaine.com/dossieradminsurvotreftp/index.php?controller=AdminCronJobs&token=xxxxxxxxxxxxxxxfeeb'
);
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);
?>

Le lien est à récupérer directement depuis le module cronjob de mémoire, mais je ne suis plus sûr à 100%, étant donné que j'ai gardé la solution d'easycron. J'ai désinstallé ce module.

 

Puis ce fichier php a été placé sur le ftp à la racine dans un dossier à nommer comme bon vous semble, enfin l'url à appeler depuis OVH est celle du fichier php : votrenomdedomaine/votredossier/fichier.php

 

Bon courage :)

Edited by Wibleo (see edit history)
  • Like 1

Share this post


Link to post
Share on other sites

Bonjour,

 

J'ai deux solutions :

 

1/ Je suis passé par easycron, avec un compte gratuit c'est suffisant, même en mettant une fréquence rapprochée pour certaines tâches.

 

2/ Avec un fichier php qui lance la suite de tâches et une tâche cron OVH qui lance le fichier php en amont :)

 

#!/usr/local/bin/php
<?php
error_reporting(E_ALL);

$break_line = (php_sapi_name() == "cli") ? chr(13) : '<br/>';
$urls = array(
'http://votrenomdedomaine.com/dossieradminsurvotreftp/index.php?controller=AdminCronJobs&token=xxxxxxxxxxxxxxxfeeb'
Le lien est à récupérer directement depuis le module cronjob de mémoire, mais je ne suis plus sûr à 100%, étant donné que j'ai gardé la solution d'easycron. J'ai désinstallé ce module.

 

Puis ce fichier php a été placé sur le ftp à la racine dans un dossier à nommer comme bon vous semble, enfin l'url à appeler depuis OVH est celle du fichier php : votrenomdedomaine/votredossier/fichier.php

 

Bon courage :)

Bonjour wibleo,

Je reviens sur la solution 2 que tu proposais.

Le fichier php se lance correctement avec le Cron ovh mais il me renvoie ensuite une erreur:

Accès interdit à l url indiqué dans le fichier php (access forbiden ). J'imagine bien que c'est une histoire de permission mais je n'arrive pas à le résoudre. Aurais tu une idée par hasard ? Merci.

Share this post


Link to post
Share on other sites

Bonjour wibleo,

Je reviens sur la solution 2 que tu proposais.

Le fichier php se lance correctement avec le Cron ovh mais il me renvoie ensuite une erreur:

Accès interdit à l url indiqué dans le fichier php (access forbiden ). J'imagine bien que c'est une histoire de permission mais je n'arrive pas à le résoudre. Aurais tu une idée par hasard ? Merci.

 

Bonjour Nouvelle Vape,

 

Je ne peux pas t'aider vraiment, hormis un problème dans le code du fichier PHP, je ne vois pas ce qui peut bloquer. Personnellement, j'avais placé le dossier contenant le fichier PHP à la racine de l'hébergement, 1 niveau au dessus du dossier contenant le site complet et il avait comme nom un truc du genre _nomdudossier . Pour ce qui est des permissions, c'était en 705 sur le dossier et 604 sur le fichier PHP.

 

Enfin le code final est le suivant :

#!/usr/local/bin/php
<?php
error_reporting(E_ALL);

$break_line = (php_sapi_name() == "cli") ? chr(13) : '<br/>';
$urls = array(
'https://nomdedomaine.com/dossieradminprestashop/index.php?controller=AdminCronJobs&token=xxxxxxxxxxxxxxxxxxfeeb'
);
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 sachant que je suis en HTTPS dans mon lien car l'intégralité de mon site était en SSL.

 

Je n'utilise plus OVH, j'ai changé d'hébergeur car ce n'était pas assez stable, je suis maintenant chez Yoorshop et c'est le jour et la nuit :)

 

En espérant que tu trouve des pistes de réponses dans ce que je t'ai mis, je te souhaite bonnes recherches.

Share this post


Link to post
Share on other sites

Merci Wibleo, ce n'était pas un problème de permission.

J'ai finalement trouvé: mod_security bloquait l'exécution, j'ai du rajouter ça pour que ça fonctionne:

curl_setopt($ch,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13');

 

Enfin ça marche!

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More