Draai hetzelfde commando op al je servers
Gepubliceerd: Maandag 8 juni 2009
Auteur: Koen Vervloesem
Wie heel wat servers te beheren heeft, zal geregeld precies hetzelfde commando op al deze servers moeten uitvoeren. Van één voor één via ssh op elke server inloggen en hetzelfde commando intypen word je natuurlijk moe. De oplossing: pssh.
Pssh (Parallel SSH) is een collectie van handige tools om commando's tegelijk op verschillende servers te starten. Het zijn vijf Python-scripts:
* pssh: voert een commando op verschillende computers uit.
* pscp: kopieert een lokaal bestand naar verschillende computers.
* prsync: voert een rsync-commando uit op verschillende computers om directories te synchroniseren.
* pnuke: killt alle processen op verschillende computers die aan een bepaald patroon voldoen.
* pslurp: kopieert een bestand van verschillende computers naar de lokale computer.
De computers waarop de commando's uitgevoerd worden definieer je in een bestand hosts.cfg, waarin je op elke regel een hostnaam of IP-adres zet. Met optionele argumenten op de opdrachtregel kun je ook de gebruikersnaam, timeoutwaarde en SSH-opties doorgeven aan de commando's.
Om de scripts vlot te laten verlopen zorg je er uiteraard voor dat het inloggen op de servers niet vereist dat je een wachtwoord intypt. Dat kan door in te loggen via een SSH-sleutel en zonder passphrase, of nog beter via ssh-agent waardoor je slechts eenmaal het passphrase hoeft in te geven.
Bron: Techworld
De rubriek Tips & Tools biedt praktische informatie die IT-professionals in hun dagelijkse werk kunnen toepassen.
