Sådan bruges parallel ssh (PSSH) til at udføre ssh parallelt på en række Linux / Unix / BSD servere

For nylig er jeg kommet over et dejligt lille nifty værktøj kaldet pssh til at køre en enkelt kommando på flere Linux / UNIX / BSD servere. Du kan nemt øge din produktivitet med dette SSH værktøj.

Mere om pssh

pssh er et kommandolinjeværktøj til udførelse af ssh parallelt på nogle værter. Det specialiteter omfatter:

  1. Afsendelse af input til alle processer
  2. Indtastning af en adgangskode til ssh
  3. Gemmer output til filer
  4. IT / sysadmin tager automatisering, såsom patching-servere
  5. Timing ud og mere

Lad os se, hvordan du installerer og bruger pssh på Linux og Unix-lignende system.

pssh-velkomst

Installation

Du kan installere pssh som i din Linux- og Unix-variant. Når pakken er installeret, kan du få parallelle versioner af opensh-værktøjerne. Inkluderet i installationen:

  1. Parallel ssh (pssh kommando)
  2. Parallel scp (pscp kommando)
  3. Parallel rsync (prsync kommando)
  4. Parallel nuke (pnuke kommando)
  5. Parallel slurp (plaep kommando)

Installer pssh på Debian / Ubuntu Linux

Indtast følgende apt-get kommando/apt kommando at installere pssh:
$ sudo apt install pssh
OR
$ sudo apt-get install pssh
Prøveudgange:

Fig. 01: Installation af pssh på Debian / Ubuntu Linux

Fig. 01: Installation af pssh på Debian / Ubuntu Linux

Installer pssh på Apple MacOS X

Indtast følgende bryg-kommando:
$ bryginstallation pssh
Prøveudgange:

Fig. 02: Installation af pssh på MacOS Unix

Fig. 02: Installation af pssh på MacOS Unix

Installer pssh på FreeBSD unix

Indtast en hvilken som helst af kommandoen:
# cd / usr / ports / security / pssh / && gør installationen ren
OR
# pkg installere pssh
Prøveudgange:

Fig. 03: Installation af pssh på FreeBSD

Fig. 03: Installation af pssh på FreeBSD

Installer pssh på RHEL / CentOS / Fedora Linux

Fornavn tænd EPEL repo og skriv følgende kommando yum kommandoen:
$ sudo yum installer pssh
Prøveudgange:

Fig. 04: Installation af pssh på RHEL / CentOS / Red Hat Enterprise Linux

Fig. 04: Installation af pssh på RHEL / CentOS / Red Hat Enterprise Linux

Installer pssh på Fedora Linux

Indtast følgende dnf-kommando:
$ sudo dnf installere pssh
Prøveudgange:

Fig. 05: Installation af pssh på Fedora

Fig. 05: Installation af pssh på Fedora

Installer pssh på Arch Linux

Indtast følgende kommando:
$ sudo pacman -S python-pip $ pip installere pssh

Sådan bruger du pssh-kommandoen

Først skal du oprette en tekstfil kaldet værtsfil, hvorfra pssh læser værtsnavne. Syntaxen er ret simpel. Hver linje i værtsfilen er af formularen [[Email protected]] vært [: port] og kan omfatte tomme linjer og kommentarer linjer der begynder med "#". Her er min prøvefil med navnet ~ / .pssh_hosts_files:
$ cat ~/.pssh_hosts_files
[email protected]
[email protected]
[email protected]
[email protected]

Kør dato kommando alle værter:
$ pssh -i -h ~ / .pssh_hosts_files dato
Prøveudgange:

[1] 18: 10: 10 [SUCCESS] [Email protected]
Sun Feb 26 18: 10: 10 IST 2017 [2] 18: 10: 10 [SUCCESS] [Email protected]
Sun Feb 26 18: 10: 10 IST 2017 [3] 18: 10: 10 [SUCCESS] [Email protected]
Sun Feb 26 18: 10: 10 IST 2017 [4] 18: 10: 10 [SUCCESS] [Email protected]
Sun Feb 26 18: 10: 10 IST 2017

Kør kommandoen oppetid på hver vært:
$ pssh -i -h ~ / .pssh_hosts_files oppetid
Prøveudgange:

[1] 18: 11: 15 [SUCCESS] [Email protected]
 18: 11: 15 op 2: 29, 0-brugere, gennemsnitsbelastning: 0.00, 0.00, 0.00 [2] 18: 11: 15 [SUCCESS] [Email protected]
 18: 11: 15 op 19: 06, 0-brugere, gennemsnitsbelastning: 0.13, 0.25, 0.27 [3] 18: 11: 15 [SUCCESS] [Email protected]
 18: 11: 15 op 1: 55, 0-brugere, gennemsnitsbelastning: 0.00, 0.00, 0.00 [4] 18: 11: 15 [SUCCESS] [Email protected]
 6: 11PM op 1-dag, 21: 38, 0-brugere, gennemsnitsværdier: 0.12, 0.14, 0.09

Du kan nu automatisere almindelige sysadmin opgaver som f.eks. Patching alle servere:
$ pssh -h ~ / .pssh_hosts_files - sudo yum-en opdatering
OR
$ pssh -h ~ / .pssh_hosts_files - sudo apt-get -y opdatering $ pssh -h ~ / .pssh_hosts_files - sudo apt-get -y opgradering

Hvordan bruger jeg pssh til at kopiere fil til alle servere?

Syntaxen er:
pscp -h ~ / .pssh_hosts_files src dest
For at kopiere $ HOME / demo.txt til / tmp / på alle servere, skal du indtaste:
$ PSCP -h ~ / .pssh_hosts_files $ HOME / demo.txt / tmp /
Prøveudgange:

[1] 18: 17: 35 [SUCCESS] [Email protected]
[2] 18: 17: 35 [SUCCESS] [Email protected]
[3] 18: 17: 35 [SUCCESS] [Email protected]
[4] 18: 17: 35 [SUCCESS] [Email protected]

Eller brug kommandoen prsync til effektiv kopiering af filer:
$ prsync -h ~ / .pssh_hosts_files / etc / passwd / tmp / $ prsync -h ~ / .pssh_hosts_files * .html / var / www / html /

Hvordan dræber jeg processer parallelt på en række værter?

Brug kommandoen pnuke til at dræbe processer parallelt på en række værter. Syntaxen er:
$ pnuke -h .pssh_hosts_files procesnavn
### kill nginx og firefox på værter:
$ pnuke -h ~ / .pssh_hosts_files firefox $ pnuke -h ~ / .pssh_hosts_files nginx
Se pssh / pscp kommandosider for flere oplysninger.

Konklusion

pssh er et smukt godt værktøj til parallel SSH-kommandoen udførelse på mange servere. Det er ret nyttigt, hvis du har 5- eller 10-servere. Ikke desto mindre, hvis du har brug for at gøre noget kompliceret, skal du se på Ansible og co.
Kilde

Giv en kommentar

Dette websted bruger Akismet til at reducere spam. Lær, hvordan dine kommentardata behandles.