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 hosts-fil, hvorfra pssh læser værtsnavne. Syntaks er temmelig enkel. Hver linje i værtsfilen har formen [bruger @] vært [: port] og kan omfatte blanke linjer og kommentarlinjer, der begynder med “#”. Her er min prøvefil med navnet ~ / .pssh_hosts_files:
$ cat ~ / .pssh_hosts_files vivek @ dellm6700 root @ 192.168.2.30 root @ 192.168.2.45 root @ 192.168.2.46
Kør dato kommando alle værter:
$ pssh -i -h ~ / .pssh_hosts_files dato
Prøveudgange:

[1] 18: 10: 10 [SUCCESS] root @ 192.168.2.46 Sun Feb 26 18: 10: 10 IST 2017 [2] 18: 10: 10 [SUCCESS] vivek @ dellm6700 X XUMUM X ] 26: 18: 10 [SUCCESS] root @ 10 Sun Feb 2017 3: 18: 10 IST 10 [192.168.2.45] 26: 18: 10 [SUCCESS] root @ 10 Sun Feb 2017 XNXX 4: 18:

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

[1] 18: 11: 15 [SUCCESS] root @ 192.168.2.45 18: 11: 15 up 2: 29, 0 brugere, indlæst gennemsnit: 0.00, 0.00, 0.00 [2] 18: 11 15 : 6700: 18 up 11: 15, 19 brugere, gennemsnitligt belastning: 06, 0, 0.13 [0.25] 0.27: 3: 18 [SUCCESS] root @ 11 15: 192.168.2.46: 18 up 11 X 15, 1, 55 [0] 0.00: 0.00: 0.00 [SUCCESS] root @ 4 18: 11PM up 15 day, 192.168.2.30: 6, 11 brugere, belastnings gennemsnit: 1, 21, 38

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] vivek @ dellm6700 [2] 18: 17: 35 [SUCCESS] root @ 192.168.2.45 [3] 18: 17: 35 [SUCCUM] X: XX: [SUCCESS] root @ 192.168.2.46

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

Efterlad en kommentar