Rebooter plusieurs serveurs d'après un fichier texte
3 réponses
guytou77
Bonjour à tous,
Chaque jour au boulot je reboote une dizaine de serveurs. Je le reboote
manuellement un à un.
Les noms de serveurs à rebooter me sont fournis dans un fichier texte
(.txt).
Est-ce possible de créer un script SHELL qui va lire le fichier texte en
question et rebooter automatiquement les serveurs qui s'y trouvent?
Comment s'y prendre?
Par avance merci.
Guy
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Marc Lasson
guytou77 wrote:
Bonjour à tous, Salut,
Chaque jour au boulot je reboote une dizaine de serveurs. Je le reboote manuellement un à un. Les noms de serveurs à rebooter me sont fournis dans un fichier texte (.txt).
En utilisant ssh, c'est facile.
Supposons que le fichier est passé en argument (ou son contenu via la sortie standard) et que chacune de ses lignes contiennent un et un seul nom de domaine.
Le script suivant doit faire l'affaire: -- Début du script -- #!/bin/sh for hostname in $(cat $1) ; do ssh $hostname reboot done -- Fin du script --
Biensûr il faut que l'utilisateur qui lance le script possède les droits pour lancer le reboot sur la machine distante (pour changer de login, utilisez l'option -l de ssh).
Pour ne pas avoir besoin de taper à chaque fois le mot de passe il peut être nécessaire de déployer une authentification par clef public (C'est expliqué là: <http://sial.org/howto/openssh/publickey-auth/>).
-- Marc Lasson.
guytou77 wrote:
Bonjour à tous,
Salut,
Chaque jour au boulot je reboote une dizaine de serveurs. Je le reboote
manuellement un à un.
Les noms de serveurs à rebooter me sont fournis dans un fichier texte
(.txt).
En utilisant ssh, c'est facile.
Supposons que le fichier est passé en argument (ou son contenu via la
sortie standard) et que chacune de ses lignes contiennent un et un seul
nom de domaine.
Le script suivant doit faire l'affaire:
-- Début du script --
#!/bin/sh
for hostname in $(cat $1) ; do
ssh $hostname reboot
done
-- Fin du script --
Biensûr il faut que l'utilisateur qui lance le script possède les droits
pour lancer le reboot sur la machine distante (pour changer de login,
utilisez l'option -l de ssh).
Pour ne pas avoir besoin de taper à chaque fois le mot de passe il peut
être nécessaire de déployer une authentification par clef public (C'est
expliqué là: <http://sial.org/howto/openssh/publickey-auth/>).
Chaque jour au boulot je reboote une dizaine de serveurs. Je le reboote manuellement un à un. Les noms de serveurs à rebooter me sont fournis dans un fichier texte (.txt).
En utilisant ssh, c'est facile.
Supposons que le fichier est passé en argument (ou son contenu via la sortie standard) et que chacune de ses lignes contiennent un et un seul nom de domaine.
Le script suivant doit faire l'affaire: -- Début du script -- #!/bin/sh for hostname in $(cat $1) ; do ssh $hostname reboot done -- Fin du script --
Biensûr il faut que l'utilisateur qui lance le script possède les droits pour lancer le reboot sur la machine distante (pour changer de login, utilisez l'option -l de ssh).
Pour ne pas avoir besoin de taper à chaque fois le mot de passe il peut être nécessaire de déployer une authentification par clef public (C'est expliqué là: <http://sial.org/howto/openssh/publickey-auth/>).
-- Marc Lasson.
Kevin Denis
Le 29-08-2005, guytou77 a écrit :
Chaque jour au boulot je reboote une dizaine de serveurs. Je le reboote manuellement un à un. Les noms de serveurs à rebooter me sont fournis dans un fichier texte (.txt). Est-ce possible de créer un script SHELL qui va lire le fichier texte en question et rebooter automatiquement les serveurs qui s'y trouvent? Comment s'y prendre? Par avance merci.
Un genre de:
for serveur in `cat fichier_texte.txt` do ssh -l root $serveur /sbin/reboot done
Mais ca depend de tellement de facteur -comment est ecrit le fichier texte -comment rebootes tu les serveurs -la conf des authorized_keys de ssh etc.. -- Kevin
Le 29-08-2005, guytou77 <mapasa59@wanadoo.fr> a écrit :
Chaque jour au boulot je reboote une dizaine de serveurs. Je le reboote
manuellement un à un.
Les noms de serveurs à rebooter me sont fournis dans un fichier texte
(.txt).
Est-ce possible de créer un script SHELL qui va lire le fichier texte en
question et rebooter automatiquement les serveurs qui s'y trouvent?
Comment s'y prendre?
Par avance merci.
Un genre de:
for serveur in `cat fichier_texte.txt`
do
ssh -l root $serveur /sbin/reboot
done
Mais ca depend de tellement de facteur
-comment est ecrit le fichier texte
-comment rebootes tu les serveurs
-la conf des authorized_keys de ssh
etc..
--
Kevin
Chaque jour au boulot je reboote une dizaine de serveurs. Je le reboote manuellement un à un. Les noms de serveurs à rebooter me sont fournis dans un fichier texte (.txt). Est-ce possible de créer un script SHELL qui va lire le fichier texte en question et rebooter automatiquement les serveurs qui s'y trouvent? Comment s'y prendre? Par avance merci.
Un genre de:
for serveur in `cat fichier_texte.txt` do ssh -l root $serveur /sbin/reboot done
Mais ca depend de tellement de facteur -comment est ecrit le fichier texte -comment rebootes tu les serveurs -la conf des authorized_keys de ssh etc.. -- Kevin
guytou77
Bonjour à Tous, Merci à Marc Lasson pour son éclairage. J'attends toujours d'autres pistes pour mieux cerner le problème. Merci par avance!! GUY
"Marc Lasson" a écrit dans le message de news: 43132dee$0$30677$
guytou77 wrote:
Bonjour à tous, Salut,
Chaque jour au boulot je reboote une dizaine de serveurs. Je le reboote manuellement un à un. Les noms de serveurs à rebooter me sont fournis dans un fichier texte (.txt).
En utilisant ssh, c'est facile.
Supposons que le fichier est passé en argument (ou son contenu via la sortie standard) et que chacune de ses lignes contiennent un et un seul nom de domaine.
Le script suivant doit faire l'affaire: -- Début du script -- #!/bin/sh for hostname in $(cat $1) ; do ssh $hostname reboot done -- Fin du script --
Biensûr il faut que l'utilisateur qui lance le script possède les droits pour lancer le reboot sur la machine distante (pour changer de login, utilisez l'option -l de ssh).
Pour ne pas avoir besoin de taper à chaque fois le mot de passe il peut être nécessaire de déployer une authentification par clef public (C'est expliqué là: <http://sial.org/howto/openssh/publickey-auth/>).
-- Marc Lasson.
Bonjour à Tous,
Merci à Marc Lasson pour son éclairage.
J'attends toujours d'autres pistes pour mieux cerner le problème.
Merci par avance!!
GUY
"Marc Lasson" <invalid@invalid> a écrit dans le message de news:
43132dee$0$30677$626a14ce@news.free.fr...
guytou77 wrote:
Bonjour à tous,
Salut,
Chaque jour au boulot je reboote une dizaine de serveurs. Je le reboote
manuellement un à un.
Les noms de serveurs à rebooter me sont fournis dans un fichier texte
(.txt).
En utilisant ssh, c'est facile.
Supposons que le fichier est passé en argument (ou son contenu via la
sortie standard) et que chacune de ses lignes contiennent un et un seul
nom de domaine.
Le script suivant doit faire l'affaire:
-- Début du script --
#!/bin/sh
for hostname in $(cat $1) ; do
ssh $hostname reboot
done
-- Fin du script --
Biensûr il faut que l'utilisateur qui lance le script possède les droits
pour lancer le reboot sur la machine distante (pour changer de login,
utilisez l'option -l de ssh).
Pour ne pas avoir besoin de taper à chaque fois le mot de passe il peut
être nécessaire de déployer une authentification par clef public (C'est
expliqué là: <http://sial.org/howto/openssh/publickey-auth/>).
Bonjour à Tous, Merci à Marc Lasson pour son éclairage. J'attends toujours d'autres pistes pour mieux cerner le problème. Merci par avance!! GUY
"Marc Lasson" a écrit dans le message de news: 43132dee$0$30677$
guytou77 wrote:
Bonjour à tous, Salut,
Chaque jour au boulot je reboote une dizaine de serveurs. Je le reboote manuellement un à un. Les noms de serveurs à rebooter me sont fournis dans un fichier texte (.txt).
En utilisant ssh, c'est facile.
Supposons que le fichier est passé en argument (ou son contenu via la sortie standard) et que chacune de ses lignes contiennent un et un seul nom de domaine.
Le script suivant doit faire l'affaire: -- Début du script -- #!/bin/sh for hostname in $(cat $1) ; do ssh $hostname reboot done -- Fin du script --
Biensûr il faut que l'utilisateur qui lance le script possède les droits pour lancer le reboot sur la machine distante (pour changer de login, utilisez l'option -l de ssh).
Pour ne pas avoir besoin de taper à chaque fois le mot de passe il peut être nécessaire de déployer une authentification par clef public (C'est expliqué là: <http://sial.org/howto/openssh/publickey-auth/>).