Pages : 1
#1 Le 21/10/2008, à 15:59
- n3o51
Projet script bash
Bonjour a tous ,voila j'ai une petit question.Je dispose d'une machine distante qui heberge un server TCE (True combat elite)
Dans celle ci j'ai creer un script start et stop Etadmin (Permet de gerer les servers de jeu)
Dans mon script sur mon PC j'aimerai pour me connecter en ssh et lancer ces deux script mais jusque la ca ne fonctionne pas voici les lignes de mon script:
#!/bin/sh
# Connection en SSH
ssh user@ip_machine_distante
# la principale fonction :)
function ETADMIN {
SAV=$(zenity --list --checklist --width=400 --height=350 --title "=== Menu ETadmin ===" --text="Veuillez sélectionnez les informations demandés:" \
--column="Selection" --column="Categories" \
FALSE "Demarrer etadmin sur tout les servers" \
FALSE "Arretter etadmin sur tout les servers " )
}
# On lance le script sur la machine et on creer un fichiers demarrage
#
echo "$ETADMIN" | grep "Demarrer etadmin sur tout les servers" >/dev/null
if [ "$?" = 0 ] ; then
./start_all_etadmin > demarrage
if [ "${PIPESTATUS[0]}" != "0" ]; then
zenity --error --title="Une erreur est survenue" --text="probleme au lancement du script "
fi
fi
J'aimerais aussi savoir si quelqu'un peut m'expliquer comment recuper le fichiers demarrage créer et l'afficher sur mon pc via zenity ?
Dernière modification par n3o51 (Le 21/10/2008, à 16:00)
Welcome to the real world
________________________________
Hors ligne
#2 Le 21/10/2008, à 16:27
- redisded
Re : Projet script bash
Salut n3o,
Pour ce qui est de récupérer le fichier de log, tu peut regarder du coté de scp qui permet de copier des fichiers entre 2 machines via ssh; une fois celui-ci rapatrié sur ta machine, tu n'a plus qu'a l'envoyer vers une fenetre zenity.
Pour le fait que ton script ne fonctionne pas, il faudrait nous en dire un peu plus comme par exemple résultat de bash -x.
Tu devra aussi sans doute fournir ton mot de passe pour te connecter à la machine distante, ce qui n'apparait pas dans ton script.
Hors ligne
#3 Le 21/10/2008, à 16:41
- n3o51
Re : Projet script bash
Yo redisded bon j'ai pas de mot de passe c'est authentification par clé .Vissiblement quand je lance le script avec bash -x rien ne ce passe la fenetre zenity n'apparait pas par contre la connection au server ce fait
Welcome to the real world
________________________________
Hors ligne
#4 Le 21/10/2008, à 16:45
- redisded
Re : Projet script bash
en fait je pense que zenity ne s'affiche pas car tu le lance une fois que tu es connécté sur ta machine distante.
Essai de mettre en premier la fenetre zenity pour la recup des infos, et ensuite seulement tu lance la connection en ssh.
Tu n'a meme pas besoin de rentrer ton mdp utilisateur sur la machine distante ?
Hors ligne
#5 Le 21/10/2008, à 16:53
- n3o51
Re : Projet script bash
je rentre seulement le phassphrase
Welcome to the real world
________________________________
Hors ligne
#6 Le 21/10/2008, à 17:20
- n3o51
Re : Projet script bash
+ zenity --list --checklist --width=400 --height=350 --title '=== Menu ETadmin ===' '--text=Veuillez sélectionnez les informations demandés:' --column=Selection --column=Categories FALSE 'Demarrer etadmin sur tout les servers' FALSE 'Arretter etadmin sur tout les servers '
Arretter etadmin sur tout les servers
+ case $SAV in
LE SCRIPT :
#!/bin/bash
zenity --list --checklist --width=400 --height=350 --title "=== Menu ETadmin ===" --text="Veuillez sélectionnez les informations demandés:" \
--column="Selection" --column="Categories" \
FALSE "Demarrer etadmin sur tout les servers" \
FALSE "Arretter etadmin sur tout les servers "
case $SAV in
1)
ssh user@ip ./start_all_etadmin
;;
2)
ssh user@ip ./stop_all_etadmin
;;
esac
Dernière modification par n3o51 (Le 21/10/2008, à 17:21)
Welcome to the real world
________________________________
Hors ligne
#7 Le 21/10/2008, à 18:51
- redisded
Re : Projet script bash
Le case ne reconnait ni 1 ni 2 car ce qui est rempli dans la variable est par défaut le contenu de la premiere colonne donc dans ton cas : "Demarrer etadmin sur tout les servers" ou "Arretter etadmin sur tout les servers " . Dans l'exemple qui suit, jai rajouté une colonne qui sera invisible dans la fenetre zenity (--hide-column=2) dans laquelle il y aura soit 1 soit 2. De cette maniere, c'est bien un de ces deux nombres qui sera envoyé dans ta variable, et ton script devrait se poursuivre.
#!/bin/bash
zenity --list --checklist --width=400 --height=350 --title "=== Menu ETadmin ===" --text="Veuillez sélectionnez les informations demandés:" \
--column="Selection" --column="" --hide-column=2 --column="Categories" \
FALSE 1 "Demarrer etadmin sur tout les servers" \
FALSE 2 "Arretter etadmin sur tout les servers "
case $SAV in
1)
ssh user@ip ./start_all_etadmin
;;
2)
ssh user@ip ./stop_all_etadmin
;;
esac
Hors ligne
#8 Le 21/10/2008, à 20:04
- n3o51
Re : Projet script bash
Merci mais bon marche toujours pas j'ai fait deux script un stop un start et puis voila
Welcome to the real world
________________________________
Hors ligne
Pages : 1