Page 1 sur 1

Execution d'un script bash

Posté : 09 avr. 2008, 17:51
par snacksou
Bonjour à tous,

j'héberge chez moi un site (LAMP) sous debian sur un serveur. J'y ai également installé un serveur counter-strike source et un script permettant de lancer ce serveur avec divers paramètres. N'étant pas toujours devant un pc, j'aimerais que ma team puisse lancer ce script via mon site web. J'ai trouvé la fonction system mais lorsque je valide via le formulaire, j'ai une page avec les logs d'execution mais ça ne retourne pas sous l'interface d'adminisration. D'après ce site, il faudrait que je redirige la sortie vers un autre fichier ou un autre flux de sortie, mais je vois pas comment faire :?: .
Voici les lignes d'execution du script:
if (isset($_POST['map']) && isset($_POST['nbj']))
    {
      $map = $_POST['map'];
      $nbj = $_POST['nbj'];
      $line = system ("sh hlds/css_start.sh $nbj $map", $retval);
    }
Merci d'avance à vous 8-)

Posté : 09 avr. 2008, 18:25
par Calimero
Bonjour,

Ajoute un '&' après la ligne d'éxécution, comme ceci :
      $line = system ("sh hlds/css_start.sh $nbj $map &", $retval); 
Cela lancera la commande en tâche de fond, permettant ainsi à la fonction system() de rendre la main à php.

Posté : 09 avr. 2008, 18:43
par snacksou
Non rien à faire, il reste toujours bloqué sur la page des logs du lancement du serveur (en plus celui-ci ne marche pas j'ai l'impression que c'est un problème de droit sur le fichier du serveur alors qu'en étant loggué ça fonctionne...). Il me semble en plus que j'avais déjà essayé.

Merci quand même pour la réponse :wink:

Posté : 10 avr. 2008, 08:31
par titerm
Il est possible et meme probable que l'environnement avec lequel est lancé ton bash soit différent.
Entre autre, pas le meme $PATH et $LD_LIBRARY_PATH.

Dans ton script, assure toi que les commandes que tu utilises sont bien dans le PATH, sinon, met à jours le PATH en début de script ou appels tes commandes en absolu.

Pour lancé ton script, utilise la commande nohup, il protegera ton script du SIGCHILD.

enfin, redirige la sortie et l'erreur standard dans un log, ne serait ce que pour savoir si il y a eu un probleme ou pas

/bin/nohup /bin/sh hlds/css_start.sh $nbj $map > /tmp/ouput_log.txt 2>/tmp/output_err.txt &
ou si tu veux tout logger dans le meme fichier
/bin/nohup /bin/sh hlds/css_start.sh $nbj $map > /tmp/ouput_log.txt 2>&1 &

Posté : 14 avr. 2008, 20:21
par snacksou
Bonjour,

désolé pour le retour tardif, j'ai pas le net tout le temps :roll:

Grâce à tes conseils, j'arrive enfin à revenir sur la page d'administration après lancement du serveur 8-)

Il me reste encore cette histoire de $PATH et $LD_LIBRARY_PATH à régler, car le serveur ne veut toujours pas se lancer correctement.
Je sais que ce n'est (peut-etre) pas du ressort ni encore moins l'objectif de ce forum, mais je vous affiche quand même le log d'erreur, sait-on jamais (je comprendrais donc que personne me réponde):

Code : Tout sélectionner

cat /var/tmp/output_err.txt srcds_run: line 344: 5795 Segmentation fault $HL_CMD srcds_run: line 201: debug.cmds: Permission denied srcds_run: line 202: debug.cmds: Permission denied srcds_run: line 203: debug.cmds: Permission denied srcds_run: line 204: debug.cmds: Permission denied srcds_run: line 205: debug.log: Permission denied srcds_run: line 206: debug.log: Permission denied srcds_run: line 207: debug.log: Permission denied cat: hlds.5777.pid: No such file or directory srcds_run: line 222: debug.log: Permission denied srcds_run: line 223: debug.log: Permission denied rm: cannot remove `debug.cmds': No such file or directory srcds_run: line 344: 6187 Segmentation fault $HL_CMD srcds_run: line 201: debug.cmds: Permission denied srcds_run: line 202: debug.cmds: Permission denied srcds_run: line 203: debug.cmds: Permission denied srcds_run: line 204: debug.cmds: Permission denied srcds_run: line 205: debug.log: Permission denied srcds_run: line 206: debug.log: Permission denied srcds_run: line 207: debug.log: Permission denied cat: hlds.5777.pid: No such file or directory srcds_run: line 222: debug.log: Permission denied srcds_run: line 223: debug.log: Permission denied rm: cannot remove `debug.cmds': No such file or directory srcds_run: line 344: 6196 Segmentation fault $HL_CMD srcds_run: line 201: debug.cmds: Permission denied srcds_run: line 202: debug.cmds: Permission denied srcds_run: line 203: debug.cmds: Permission denied srcds_run: line 204: debug.cmds: Permission denied srcds_run: line 205: debug.log: Permission denied srcds_run: line 206: debug.log: Permission denied srcds_run: line 207: debug.log: Permission denied cat: hlds.5777.pid: No such file or directory srcds_run: line 222: debug.log: Permission denied srcds_run: line 223: debug.log: Permission denied rm: cannot remove `debug.cmds': No such file or directory srcds_run: line 344: 6203 Segmentation fault $HL_CMD srcds_run: line 201: debug.cmds: Permission denied srcds_run: line 202: debug.cmds: Permission denied srcds_run: line 203: debug.cmds: Permission denied srcds_run: line 204: debug.cmds: Permission denied srcds_run: line 205: debug.log: Permission denied srcds_run: line 206: debug.log: Permission denied srcds_run: line 207: debug.log: Permission denied cat: hlds.5777.pid: No such file or directory srcds_run: line 222: debug.log: Permission denied srcds_run: line 223: debug.log: Permission denied rm: cannot remove `debug.cmds': No such file or directory
si je trouve, je posterais, au cas ou ça puisse servir.

Encore merci, et bonne continuation à tous :wink: