Partage
  • Partager sur Facebook
  • Partager sur Twitter

Exécuter un script bash en différé avec PHP

Sujet résolu
    15 mai 2015 à 10:00:46

    Bonjour à tous,

    Je travail sur un site web exécutant php 5.5 sur un LINUX centos (<=>redhat).

    J'ai besoin d’exécuter un script bash pour mettre la BDD à jour automatiquement (1 fois par semaine).

    Le script est un "while" qui boucle à l’infini. A l'intérieur de celui ci il y a un sleep de 7 jours. Il met la base de données à jours en accédant à une page spécifique du site web via "curl".

    A la base je lançai le script en arrière plan avec "nohup", ça marchais nickel. Mais j'ai besoin de faire en sort que le script se lance à une heure précise (par exemple minuit).

    Du coup je fais la même chose mais avec la commande "at". En ligne de commande ça marche nickel ... Quand j’exécute la même ligne de commande avec PHP, le script se met bien dans la fils d'attente (je le voie en faisant "atq" via php). Mais au moment où il doit se lancer il disparaît de la fils d'attente et il ne s’exécute pas...

    Vous avez une idée d'où cela pourrait bien venir ?

    Merci pour votre aide :)

    • Partager sur Facebook
    • Partager sur Twitter
      15 mai 2015 à 14:29:37

      salut,

      ça a l'air d'être du grand n'importe quoi. :/

      php pour exécuter un shell en arrière plan avec un "timer" de 7 jours pour mettre à jour une BDD...
      php possède une librairie pour interagir avec une BDD!

      la programmation de tâches ponctuelles s'effectue avec at.
      la programmation de tâches régulières s'effectue avec cron.

      -
      Edité par dantonq 15 mai 2015 à 14:32:28

      • Partager sur Facebook
      • Partager sur Twitter

      Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique

        18 mai 2015 à 9:24:50

        dantonq a écrit:

        salut,

        ça a l'air d'être du grand n'importe quoi. :/

        php pour exécuter un shell en arrière plan avec un "timer" de 7 jours pour mettre à jour une BDD...
        php possède une librairie pour interagir avec une BDD!

        la programmation de tâches ponctuelles s'effectue avec at.
        la programmation de tâches régulières s'effectue avec cron.

        -
        Edité par dantonq le 15 mai 2015 à 14:32:28

        Bien sur que PHP possède la library pour faire cela ... Mais le problème étant que je doit mettre à jours le BDD ponctuellement sans qu'un utilisateur doit accède manuellement à une page web.

        Je ne voie pas comment faire pour effectuer cet tâche directement avec PHP ...

        • Partager sur Facebook
        • Partager sur Twitter
          18 mai 2015 à 9:28:25

          millman a écrit:

          Il y a cron ou les systemd timer pour faire ça.

          Je suis entrain de pencher sur cron justement. Je connaissais pas mais c'est super pratique en tout cas ;)

          Merci.

          -
          Edité par jordanroi3 18 mai 2015 à 9:43:22

          • Partager sur Facebook
          • Partager sur Twitter
            18 mai 2015 à 10:08:55

            Exécuter un script bash en différé avec PHP

            sans qu'un utilisateur doit accède manuellement à une page web

            pourquoi utiliser PHP alors ?
            (cette question ne demande pas de réponse)

            cron sera parfait, lis la page man man 5 crontab.

            • Partager sur Facebook
            • Partager sur Twitter

            Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique

              18 mai 2015 à 14:14:43

              J'ai réussis à mettre en place ce système avec cron. Ca marche très bien je suis entrain d'effectuer des tests

              Merci :-)

              -
              Edité par jordanroi3 18 mai 2015 à 14:14:58

              • Partager sur Facebook
              • Partager sur Twitter

              Exécuter un script bash en différé avec PHP

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown