#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