IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Execution d'un script bash depuis une page PHP qui se trouve sur un autre serveur


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Novembre 2017
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Novembre 2017
    Messages : 124
    Par défaut Execution d'un script bash depuis une page PHP qui se trouve sur un autre serveur
    Bonjour
    Alors cette fois je n'ai pas de code à vous présenter tout simplement car je cherche à savoir comment m'y prendre

    L'objectif :

    -Depuis une page php sur le serveur A , j'appuie sur un bouton qui récupère une variable dans la base de donnée et qui exécute un script qui se trouve sur le serveur B avec pour variable dans ce script celle transmise par le serveur A.


    Avez vous des tutos ou autres me permettant de comprendre comment faire pour communiquer et transmettre une variable php dans un script bash avec un autre serveur ?
    Mon problème réside dans le fait que je n'arrive pas à exprimer ce que je souhaite facilement xD.

    Merci

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Si le serveur B a un serveur web aussi, tu peux lui envoyer une requête HTTP avec la variable en paramètre.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Novembre 2017
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Novembre 2017
    Messages : 124
    Par défaut
    Oui le serveur B à un serveur WEB.

  4. #4
    Membre confirmé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Novembre 2017
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Novembre 2017
    Messages : 124
    Par défaut
    Voici ce que j'ai fais pour mon premier test qui malheureusement n'est pas concluant, il doit y avoir une coquille quelque part.. :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    //Ici l'identfiant est récuperé depuis la bdd sans problème, testé et fonctionnel !
    <a href="reboot.php?identifiant=<?php echo $identifiant ?>">Reboot  !</a>

    Dans mon code sans bdd j'ai remplacé par :
    1 ère page ou l'on clique test.html :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    <a href="reboot.php?identifiant=user1">Reboot  !</a>
    2ème page, celle du reboot.php
    La variable est bien récupéré, le echo fonctionne.

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
    <?php
    if (isset($_GET['identifiant'])){ //Test recommandé
      ?>
      <p>Reboot SERVICE<?php echo ($_GET['identifiant']); ?> !</p>
      <?php exec('/var/www/base/scriptbash.sh'. $_GET['identifiant']);
    }else{
      echo "Variable manquantes";
    }
     
    ?>


    3ème : Le script bash :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    #!/bin/sh
    PATH=/bin/bash /etc/bash.bashrc
     
    export identifiant=$1
    service $identifiant-rtorrent restart
    Dans ce test les 3 fichiers sont sur le même serveur, j'ai ensuite ajouter l'utilisateur du serveur web www-data dans les sudoers comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    //nano /etc/sudoers
    www-data ALL=(ALL) NOPASSWD: /var/www/base/scriptbash.sh

    Malheureusement le script n'est pas executé..

  5. #5
    Membre chevronné
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2018
    Messages
    537
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Avril 2018
    Messages : 537
    Par défaut
    Bonsoir

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php exec('/var/www/base/scriptbash.sh '. $_GET['identifiant']); ?>
    Il manque un espace
    (c'est quoi le site en question ?)

  6. #6
    Membre confirmé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Novembre 2017
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Novembre 2017
    Messages : 124
    Par défaut
    Malgré l'espace cela ne résout pas le problème.

    Hein c'est quoi le rapport avec le site ?? C'est une page de reboot de mon rtorrent

Discussions similaires

  1. Réponses: 1
    Dernier message: 15/02/2009, 07h45
  2. Inclure un script bash dans une page php
    Par kazylax dans le forum Linux
    Réponses: 1
    Dernier message: 27/01/2009, 16h59
  3. Réponses: 4
    Dernier message: 14/12/2008, 10h14
  4. lancement d'un script bash depuis une page php (dans un terminal)
    Par klampke dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 26/11/2008, 02h41
  5. [Système] Executer un script CGI dans une page php
    Par RadicalBob dans le forum Langage
    Réponses: 1
    Dernier message: 25/04/2007, 17h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo