GNU/Linux >> Belajar Linux >  >> Linux

DSH – Jalankan Perintah Linux Pada Banyak Host Sekaligus

Beberapa waktu yang lalu, kami telah menulis panduan yang menjelaskan cara menjalankan satu perintah pada beberapa sistem jarak jauh sekaligus menggunakan PSSH dalam sistem mirip Unix. Hari ini, kita akan membahas tentang alat serupa yang disebut DSH . Itu singkatan dari D terdistribusi sh ell (atau cangkang penari). Dengan menggunakan DSH, kita dapat menjalankan perintah linux di beberapa host sekaligus. Ini adalah utilitas sumber terbuka dan gratis yang ditulis menggunakan C bahasa pemrograman.

Instal DSH

Di Arch Linux dan turunannya:

DSH tersedia dalam AUR , sehingga Anda dapat menginstalnya menggunakan pembantu AUR, misalnya Yay , seperti yang ditunjukkan di bawah ini.

$ yay -S dsh

Di Debian, Ubuntu:

DSH tersedia di repositori resmi Debian, Ubuntu dan sistem berbasis DEB lainnya seperti Linux Mint, Elementary OS. Untuk menginstalnya DSH di sistem berbasis DEB, jalankan:

$ sudo apt-get install dsh

Untuk distribusi Linux lainnya, DSH dapat dikompilasi dan diinstal secara manual seperti yang dijelaskan di bawah ini.

DSH memerlukan libdshconfig untuk bekerja. Anda dapat mengunduh libdshconfig dan dsh versi terbaru dari tautan ini .

Setelah diunduh, buka direktori tempat Anda mengunduh kedua paket.

Pertama-tama kompilasi dan instal libdshconfig menggunakan perintah:

$ tar xfz libdshconfig*.tar.gz
$ cd libdshconfig-*
$ ./configure ; make
$ sudo make install

Kemudian, kompilasi dan instal dsh juga.

$ tar xfz dsh*.tar.gz
$ cd dsh-*
$ ./configure ; make
$ sudo make install

Konfigurasi DSH

Kami telah menginstal dsh. Sekarang mari kita konfigurasikan DSH untuk menjalankan perintah melalui banyak host. Untuk melakukannya, edit file konfigurasi DSH terlebih dahulu dan setel nilai shell jarak jauh dari rsh ke ssh.

Di Arch Linux dan turunannya, file konfigurasi default adalah /etc/kgname/dsh.conf .

Edit file ini:

$ sudo vi /etc/kgname/dsh.conf

Ubah remoteshell nilai dari rsh ke ssh .

#default configuration file for dsh.
 # suppled as part of dancer's shell

verbose = 0

remoteshell =ssh
 showmachinenames = 0
waitshell=1 # whether to wait for execution

#remoteshellopt=...

# default config file end.

Pada sistem berbasis DEB:

$ sudo vi /etc/dsh/dsh.conf

remoteshell =ssh

Pada sistem berbasis RPM:

$ sudo vi /usr/local/etc/dsh.conf

remoteshell =ssh

Selanjutnya, kita perlu menambahkan host jarak jauh tempat kita ingin menjalankan perintah.

Untuk melakukannya, buat/edit daftar mesin. file dan tambahkan host jarak jauh.

Di Arch Linux dan turunannya:

$ sudo vi /etc/kgname/machines.list

Tambahkan IP atau Hostname remote host satu per satu seperti yang ditunjukkan di bawah ini.

192.168.43.100 
192.168.43.101

Pada sistem berbasis DEB:

$ sudo vi /etc/dsh/machines.list
192.168.43.100 
192.168.43.101

Pada sistem berbasis RPM:

$ sudo vi /usr/local/etc/machines.list
192.168.43.100
192.168.43.101

Anda dapat menambahkan sejumlah host jarak jauh di machines.list berkas.

Jalankan Perintah Linux Pada Beberapa Host Sekaligus Menggunakan DSH

Setelah Anda menambahkan semua host jarak jauh dan membuat pengguna umum di semua sistem jarak jauh Anda, Anda dapat menjalankan perintah Linux di semua host jarak jauh sekaligus. Katakan misalnya, perintah berikut akan mengeksekusi uname -r perintah pada semua host jarak jauh sekaligus.

$ dsh -a -c uname -r

Ini akan meminta Anda untuk memasukkan nama pengguna dan kata sandi dari masing-masing host jarak jauh. Jika Anda tidak ingin memasukkan kredensial pengguna setiap kali menjalankan perintah ini, cukup konfigurasi login SSH tanpa sandi .

Contoh keluaran:

3.10.0-514.16.1.el7.x86_64
4.4.0-34-generic

Seperti yang Anda lihat pada output di atas, utilitas dsh menampilkan versi Kernel dari dua host jarak jauh saya.

Untuk detail lebih lanjut, lihat halaman manual.

$ man dsh

Bacaan yang disarankan:

  • Jalankan Perintah Pada Sistem Linux Jarak Jauh Melalui SSH

Linux
  1. Contoh Perintah Waktu Linux

  2. Jalankan perintah di beberapa server linux dari windows

  3. Contoh Perintah uptime di Linux

  1. Ssh Ke Beberapa Host Dan Jalankan Perintah?

  2. linux:cara menjalankan perintah di direktori tertentu

  3. Jalankan perintah cd sebagai superuser di Linux

  1. Cara Menjalankan Perintah dengan Batas Waktu (Timeout) Di Linux

  2. Perintah Waktu Linux

  3. Contoh Perintah timedatectl di Linux