Mettre en place Tache Cron via le CPanel

Discussion dans 'Hébergements Mutualisés' démarrée par Pierrick81, Jan 9, 2013.

  1. Pierrick81

    Pierrick81 New Member

    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. David77

    David77 Member

    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: Nov 12, 2013
  3. cornelius

    cornelius New Member

    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. David77

    David77 Member

    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 />
     
  5. pierre_kuhn

    pierre_kuhn New Member

    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
     
  6. David77

    David77 Member

    Merci, je ferai cet essaie dés la prochaine exécution ;)
     

Partager cette page