Zugriff auf viele Server optimieren

skee

Mitglied
Hallo,

Ich bastel gerade ein Bash-Script, welches auf knapp 2000 Server per scp zugreif, dort eine Datei abholt und entsprechend weiterverarbeitet.
Aktuell ist es so, dass die Servernamen zeilenweise in einer Datei stehen. Dort werden sie nacheinender mit einer Schleife ausgelesen und dann wird nach jeder Zeile die scp-Verbindung hergestellt.
Das Script lief jetzt noch nicht über alle Maschinen, aber ich sehe schon, dass ich pro Maschine ca 1 Sekunde brauche. Also ingesamt knapp 33 Minuten pro Durchlauf.

Ich würde die Geschwindigkeit jetzt gerne irgendwie optimieren, so dass ich das Script möglichst oft laufen lassen kann.
Das Einzige was mir so einfallen würde:
Die 2000 Servenamen auf zB 10 Dateien aufteilen und 10 Instanzen des Scriptes starten, wobei halt jede Instanz eine Datei ausliest.
Wäre das möglich und würde das dann auch was bringen?

Vielleicht fällt ja hier jemandem noch was ein. Wär für jede Hilfe dankbar...

Danke
Skee
 
2000 Server? Wow! Botnet? ;)

Eine Idee waere die Tasks im Hintergrund laufen zu lassen.

Also z.B. so
Bash:
scp user@server:pfad/datei lokalerpfad/lokaledatei &
Dadurch ist das Script ratzfatz abgearbeitet, und die eigentliche Arbeit findet parallel im Hintergrund statt, und nicht seriell wie im aktuellen Modell.
 
Hmm, gute Idee.

Aber, wenn ich das richtig verstehe, würde der ratzfatz 2000 scp-Prozesse starten.
Da würd ich aber recht schnell den Server killen,oder?^^

Aber, ich werds mal probieren und berichten

Danke
Skee
 
Naja, scp braucht nicht viel Power denk ich, und die Prozesse sind auch schnell abgearbeitet, wie Du ja bereits bei der seriellen Verarbeitung siehst.

Wie viel Last dabei nun wirklich anfaellt und ob der Rechner das verkraftet muesstest Du halt testen.
 
Zurück