#1 Le 05/05/2006, à 15:25
- Tribute2U

[Resolu] Script d'execution de commandes a distance
Bonjour ![]()
Je suis sur une machine A et j'aimerai arreter puis relancer un service sur une machine B via un script en shell.
Pour la connexion en root sur la machine B sans saisir de mot de passe a chaque foismc'est bon, j'ai suvi ce tuto http://www.prendreuncafe.com/blog/2005/ … ur-distant maintenant j'aimerai pouvoir arreter puis relancer le service, et c'est la que ca coince
Comment faire ?!?!?!? ![]()
Je ne sais pas s'il est possible d'avoir une commande de ce style : root@machineB:/etc/init.d/service start
J'ai deja tente de decomposer le mouvement :
#!/bin/sh
ssh root@B
/etc/init.d/service stop
sleep 5
/etc/init.d/service start
Mais l'arret et le redemarrage ne se font que quand je ferme la connexion entre A et B et vu que j'aimerai automatiser ce script grace a crontab, je ne sais pas comment gerer cela.
Tous vos conseils ou suggestions sont les bienvenus ![]()
Dernière modification par Tribute2U (Le 14/05/2006, à 17:18)
"Seul l'ignorant se fâche, le sage comprend."
"Autrefois, on s'instruisait pour soi-même. Aujourd'hui, c'est pour en imposer aux autres."
Hors ligne
#2 Le 05/05/2006, à 17:26
- bobuse

Re : [Resolu] Script d'execution de commandes a distance
man ssh :
ssh ... command
If command is specified, command is executed on the remote host instead of a login shell.
donc un truc du genre
ssh root@B '/etc/init.d/service stop && /etc/init.d/service start'devrait te convenir ![]()
Dernière modification par bobuse (Le 05/05/2006, à 17:27)
Hors ligne
#3 Le 14/05/2006, à 17:18
- Tribute2U

Re : [Resolu] Script d'execution de commandes a distance
En fait il faut au prealable creer des cles DSA sur les pc hebergants les services en question. J'ai suivi cette methode qui marche tres bien http://www.prendreuncafe.com/blog/2005/08/29/262-installer-sa-cle-ssh-sur-un-serveur-distant
Ensuite pour mes scripts,.j'ai fais comme ceci afin d'executer le script en tant que root et sans avoir a saisir le ;ot de passe
#!/bin/sh
ssh nom_machine -l root "sh /etc/init.d/process stop"
sleep 5
ssh nom_machine -l root "sh /etc/init.d/process start"
Voili voilou ![]()
"Seul l'ignorant se fâche, le sage comprend."
"Autrefois, on s'instruisait pour soi-même. Aujourd'hui, c'est pour en imposer aux autres."
Hors ligne