Créez un wget CRON pour ouvrir un URL interne

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • Créez un wget CRON pour ouvrir un URL interne

    Bonjour,

    Pourriez vous m'apprendre a créer une commande WGET CRON qui permettrait l'ouverture d'un url interne (accès super utilisateur) et de programmer son exécution tout les X temps ?

    Merci !

    Julien

  • #2
    salut,7
    tu as quel type d'hebergement ?

    Commentaire


    • #3
      Salut ! Merci de ta réponse et désolé du temps de réponse..

      Je suis sur un hébergement mutualisé OVH.

      J'ai un petit peu avancer en testant deux trois choses mais cela ne marche pas encore.

      J'ai créé 4 fichiers bash et intégrer les ligne de codes suivantes :

      Code:
      #!/bin/bash
      0 * * * * wget -O - -q -t 1 "[B]URL[/B]"
      Code:
      #!/bin/bash
      0 * * * * /usr/bin/wget -O - -q -t 1 "[B]URL[/B]"
      Les deux autres fichiers bash sont les même codes sans les 0 * * * *.

      J'ai intégré et planifié les fichiers .bash dans les tâches CRON du manager OVH mais, chou blanc

      Merci de votre aide !



      Commentaire


      • #4
        Les tâches cron sous linux ne sont pas des scripts shell.
        Donc tu ne peux les créer comme tels.

        Sur un serveur dédié, tu entres crontab -e et ensuite la seconde ligne de ton fichier.

        Le truc, c'est que je n ais rien sous OVH, donc dur de te répondre.

        https://docs.ovh.com/fr/hosting/mutu...matisees-cron/

        tu a suivi cette doc ?
        La tout se fait dans l'interface.
        Tu ne peux que lancer une commande.

        ta commande:
        Code:
        /usr/bin/wget -O - -q -t 1 "[B]URL[/B]"
        et ensuite, tu n'as qu'a remplir.

        Personnellement j'utiliserait un script PHP, ce qui sera plus simple pour gérer les id. pour aller sur la page tu as curl

        Ce qui donnerais la commande :
        Code:
        php chemin\absolu\script.php
        Dernière édition par lefabdu51 à 06/07/2020, 09h57

        Commentaire


        • #5
          Bonjour et merci de tes réponses !

          Je viens de faire un tour sur le manager ovh mutualisé et il semble que les CRON peuvent se lancer uniquement via un script PHP ou autre mais pas en ligne de commande pure.

          J'ai essayé de saisir directement la commande mais il ne la valide pas.

          Du coup, je sens qu'il est nécessaire de passer avec un script PHP comme tu le dis pour simplifier la donne.

          De nouvelles questions se posent par mon manques de connaissances niveau PHP encore plus pour CURL..


          Comme je comprends aujourd'hui le système CRON avec un script PHP cela donnerait :

          1 - Créer un script PHP dans sa bonne syntaxe contenant la commande WGET

          2 - Uploader ce script PHP dans le répertoire www/cli

          3 - Exécuter le script PHP en créant un tâche CRON via le manager OVH mutualisé pointant sur le fichier PHP


          Pourrais tu m'aider à réaliser ce script PHP s'il te plaît ?

          J'ai réussi à mettre en place un CRON avec le script PHP Akeeba fournis dans le composant mais là je dois reconnaitre que même après plusieurs recherches sur ces script PHP / WGET pour ouvrir une URL en interne, je capte chou j'ai pas les bases..

          Merci en tout cas de m'avoir mis sur une nouvelle piste !



          Commentaire


          • #6
            Bonjour,

            Sur un site dont je m'occupe, les sauvegardes Akeeba que je lance en tâches cron utilisent un fichier PHP que j'ai placé hors du dossier du site (pas d'accès par URL) dans lequel c'est du code utilisant CURL que j'ai inséré, en suivant les instructions Akeeba. Si je ne me trompe, le code utilisant WGET ne fonctionnait pas.
            La tâche est ensuite créée en insérant non pas une adresse, mais le chemin vers ce fichier PHP.

            Mais il y a une chose que j'ai du mal à comprendre : tu dis vouloir lancer une action réservée au super administrateur. Joomla! ne saura jamais que le serveur déclenchant la tâche a ces droits.
            "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
            MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

            Commentaire


            • #7
              Bonjour ! Merci de ta réponse !

              Mais il y a une chose que j'ai du mal à comprendre : tu dis vouloir lancer une action réservée au super administrateur. Joomla! ne saura jamais que le serveur déclenchant la tâche a ces droits.
              C'est une question que je me pose toujours lol..

              L'URL qui doit s'ouvrir périodiquement est une action de CB Auto Action configuré avec un accès super administrateur pour son exécution. Quand je le fais manuellement, il faut que je sois logué en tant que super administrateur pour que cela fonctionne.

              C'est très important dans mon cas de figure que seul le super administrateur puisse activer cette action !

              Je me disais que puisque le CRON Akeeba fonctionne en interne (j'imagine alors avec les droits Super Admin) cela fonctionnerait de la même manière.

              Du moment que le script est activé en interne, cela lui donne le droit super Admin ?!! Je l'espère

              Sur un site dont je m'occupe, les sauvegardes Akeeba que je lance en tâches cron utilisent un fichier PHP que j'ai placé hors du dossier du site (pas d'accès par URL) dans lequel c'est du code utilisant CURL que j'ai inséré, en suivant les instructions Akeeba. Si je ne me trompe, le code utilisant WGET ne fonctionnait pas.
              La tâche est ensuite créée en insérant non pas une adresse, mais le chemin vers ce fichier PHP.
              Est ce que tu penses qu'il est plus judicieux de sortir le script PHP exécuter par le CRON de l'arborescence du site ?

              Merci !

              Commentaire


              • #8
                Akeeba ne permet cette fonctionnalité qu'en vérifiant que le "code secret" utilisé dans l'adresse de déclenchement de la sauvegarde est bien celui défini dans son paramétrage. C'est indépendant du statut de qui lance l'action.
                S'il y a une sécurisation du même type dans CB Auto Action, tu devrais pouvoir utiliser un script comparable à celui d'Akeeba.
                Et une tâche cron est lancée par le serveur, pas par un script interne au site, donc sans lien avec le droit d'accès interne à Joomla!, ce qui veut dire que si l'extension ne permet l'activation de la fonction que pour le super utilisateur, pour moi, ça ne peut pas fonctionner en tâche cron (mais je peux me tromper).

                Complément : si tu utilises l'URL donnée par Akeeba depuis un navigateur où tu n'es pas connecté, la sauvegarde sera lancée. Comme je l'ai dit, seul le code défini est indispensable.
                "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
                MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

                Commentaire


                • #9
                  Bonjour !

                  Je te remercie de ton analyse !

                  Je prends conscience que le fait d'exécuter cette action en tant que super administrateur peux être plus complexe que la simple intégration d'un script PHP lié à une tâche CRON.

                  Je vais de ce pas me renseigner auprès du support CB pour confirmer s'il existe un moyen par code secret ou autre d’exécuter cette action en tant que Super Admin par une tâche CRON.

                  Je n'ai pour l'instant rien vu de prévu pour cette effet dans les configurations CB... A voir !

                  Je tiens à jour le topic dès que j'ai la news.

                  Merci !

                  Commentaire


                  • #10
                    Bonjour !

                    Effectivement tu avais tapé dans le mille !


                    Pour réaliser un exécution CRON sur une CB Auto Action via son URL, il faut configuré l'exécution de l'action en Public et ajouter une condition avec une clé secrète à ajouter à la fin de l'URL.

                    Je viens de testé le nouveau URL avec la clé et cela fonctionne bien.

                    Du coup ce sera cette clé qui fera guise de pare-feu si l'url était amené à être découverte. Super news !


                    J'en reviens alors à l'ouverture de cette URL à des dates précises en CRON par l'exécution d'un script PHP (car le manager OVH CRON sur hebergeur mutualisé prends que cela).

                    J'ai fait des recherches sur la commande Wget et Crontab -e mais ne comprends pas totalement bien.

                    Wget serait pour des systèmes linux écrit en Shell ?

                    Crontab -e serait plus adapté dans mon cas pour une utilisation par scipt PHP sur le mutualisé ?

                    Je m'y perds un peu

                    Pouvez vous me partager vos connaissance à ce sujet s'il vous plait ?

                    Merci !

                    Commentaire


                    • #11
                      Bonjour,

                      Puisque tu utilises Akeeba backup, regarde les instructions exemple qui te montrent comment appeler ton URL, et teste.
                      Comme je l'ai dit précédemment, je ne crois pas avoir réussi à faire fonctionner un cron de sauvegarde externe Akeeba avec wget.

                      Sur le plan pratique, j'ai créé un fichier "bkp.php" contenant le code curl proposé par Akeeba, je l'ai placé dans un dossier au même niveau que "www" et saisi le chemin absolu dans la tâche cron OVH.
                      "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
                      MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

                      Commentaire


                      • #12
                        Puisque tu utilises Akeeba backup, regarde les instructions exemple qui te montrent comment appeler ton URL, et teste.
                        Je viens de parcourir les scripts Akeeba du dossier cli afin de trouver le script CURL mais sans succès..

                        Peux tu me donner le chemin et le nom du fichier concerné s'il te plait ?

                        Merci de tes infos ! Je vais dans un premier temps essayé de comprendre le script CURL et essayé de l'intégrer comme toi !
                        Dernière édition par Julien04 à 08/07/2020, 16h31

                        Commentaire


                        • #13
                          Je parle des scripts qui sont donnés dans la page des sauvegardes automatiques, depuis le panel d'administration Akeeba.
                          "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
                          MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

                          Commentaire


                          • #14
                            Ok merci !

                            Alors il semble que cela soit une commande proche de celle ci-dessus :

                            Code:
                            usr/local/bin/php [URL]
                            C'est en fait ce code que je dois mettre dans un script.php en la copiant telle quelle pour qu'il ouvre l'URL ?

                            Il ni a pas de syntaxe particulière à respecter comme <php>...</php> ?
                            Dernière édition par Julien04 à 08/07/2020, 17h15

                            Commentaire


                            • #15
                              non, c'est la commande a utiliser dans le manager ovh...

                              Commentaire

                              Annonce

                              Réduire
                              Aucune annonce pour le moment.

                              Partenaire de l'association

                              Réduire

                              Hébergeur Web PlanetHoster
                              Travaille ...
                              X