Beberapa waktu yang lalu, kami menerbitkan panduan untuk "menyalin file ke beberapa direktori di baris perintah di Linux" . Dalam artikel itu, kami mengajari Anda berbagai metode untuk menyalin satu file ke beberapa direktori sekaligus. Hari ini, kita akan melihat bagaimana menjalankan satu perintah pada beberapa sistem jarak jauh sekaligus dalam sistem operasi mirip Unix. Seperti yang sudah Anda ketahui, kita dapat mengakses dan berkomunikasi dengan sistem jarak jauh menggunakan ssh. openSSH memungkinkan kita untuk melakukan segala macam tugas administrasi dalam sistem jarak jauh. Salah satu batasan dengan openSSH adalah kita tidak dapat menjalankan satu perintah pada beberapa sistem jarak jauh sekaligus. Tidak masalah. Di sinilah PSSH datang untuk mengisi celah ini.
Unduh - Panduan Gratis:"Panduan Pemrograman Modul Kernel Linux"PSSH , atau P arallel SSH , adalah rangkaian baris perintah yang membantu Anda melakukan ssh secara paralel di sejumlah host. Paket PSSH terdiri dari perintah berikut:
- pssh - SSH ke beberapa sistem jarak jauh secara paralel,
- pscp - Salin file secara paralel ke sejumlah host,
- prsync : Menyalin file secara paralel ke sejumlah host,
- pnuke : Membunuh proses secara paralel di sejumlah host,
- pslurp :Menyalin file secara paralel dari sejumlah host.
Dalam tutorial ini, kita akan melihat bagaimana menjalankan satu perintah pada beberapa host sekaligus menggunakan PSSH.
Instal PSSH
Kita dapat dengan mudah menginstal PSSH menggunakan PIP , pengelola paket python.
Untuk menginstal PIP di Arch Linux dan turunannya, jalankan:
$ sudo pacman -S python-pip
Di RHEL, Fedora, CentOS:
$ sudo yum install epel-release
$ sudo yum install python-pip
Atau,
$ sudo dnf install epel-release
$ sudo dnf install python-pip
Di Debian, Ubuntu, Linux Mint:
$ sudo apt-get install python-pip
Untuk detail selengkapnya tentang mengelola paket python menggunakan PIP, lihat tautan berikut.
- Cara Mengelola Paket Python Menggunakan Pip
Setelah PIP terinstal, jalankan perintah berikut untuk menginstal PSSH.
$ sudo pip install pssh
PSSH telah diinstal! Mari kita lanjutkan dan lihat cara menggunakannya.
Jalankan Perintah Tunggal Pada Beberapa Sistem Jarak Jauh Sekaligus Menggunakan PSSH
Penting: Untuk menggunakan PSSH (hanya untuk tujuan tutorial ini), semua sistem jarak jauh Anda harus memiliki nama pengguna yang sama dengan kata sandi yang sama . Jika tidak, metode ini tidak akan membantu. Katakanlah misalnya, saya telah membuat pengguna bernama sk dengan sandi ostechnix di semua host jarak jauh saya. Anda juga harus memiliki pengguna yang sama dengan kata sandi yang sama di semua sistem jarak jauh Anda.
Sekarang, mari kita lihat bagaimana menjalankan satu perintah pada beberapa host jarak jauh menggunakan PSSH. Buka sistem lokal tempat Anda ingin menjalankan perintah dan buat file teks bernama remotehosts.txt . Anda dapat menamainya sesuai keinginan.
$ vi remotehosts.txt
Tambahkan alamat IP host jarak jauh Anda dengan nomor port satu per satu persis seperti yang ditunjukkan di bawah ini.
192.168.1.103:22 192.168.1.104:22
Dimana, 192.168.1.103 dan 192.168.1.104 adalah alamat IP dari sistem jarak jauh saya. 22 adalah nomor port ssh. Anda perlu menyebutkan nomor port yang benar jika Anda sudah mengubahnya. Selain itu, pastikan Anda dapat mengakses semua host jarak jauh dari sistem lokal Anda melalui ssh.
Sekarang, mari kita periksa waktu aktif kedua host jarak jauh dari sistem lokal kita. Untuk melakukannya, jalankan:
$ pssh -h remotehosts.txt -l sk -A -i "uptime"
Di sini,
- remotehosts.txt - Berisi alamat IP dari kedua sistem jarak jauh.
- sk - nama pengguna kedua sistem jarak jauh
Masukkan sandi pengguna "sk" .
Contoh keluaran:
Warning: do not enter your password if anyone else has superuser privileges or access to your account. Password: [1] 20:51:15 [SUCCESS] 192.168.1.103:22 20:50:50 up 8 min, 1 user, load average: 0.05, 0.11, 0.10 [2] 20:51:15 [SUCCESS] 192.168.1.104:22 20:50:52 up 12 min, 1 user, load average: 0.00, 0.07, 0.12
Seperti yang Anda lihat di atas, kami telah menjalankan perintah "uptime" pada dua host jarak jauh dan mendapatkan hasilnya sekaligus.
Bagaimana dengan versi kernelnya? Untuk memeriksa versi yang diinstal dari kedua host jarak jauh, jalankan:
$ pssh -h remotehosts.txt -l sk -A -i "uname -r"
Contoh keluaran:
Warning: do not enter your password if anyone else has superuser privileges or access to your account. Password: [1] 20:53:09 [SUCCESS] 192.168.1.103:22 3.10.0-327.22.2.el7.x86_64 [2] 20:53:09 [SUCCESS] 192.168.1.104:22 4.4.0-21-generic
Sangat keren, bukan? Bisakah kita membuat direktori di kedua host jarak jauh sekaligus? Ya, tentu saja! Untuk melakukannya, jalankan perintah berikut:
$ pssh -h remotehosts.txt -l sk -A -i "mkdir dir1"
Demikian pula, Anda dapat melakukan apa pun yang ingin Anda lakukan pada beberapa host jarak jauh dari sistem lokal Anda menggunakan PSSH.
Penting: Harap berhati-hati saat menggunakan PSSH. Satu perintah yang buruk akan bekerja secara bersamaan di beberapa host dan merusak semua host. Jadi, berhati-hatilah saat menggunakan metode ini dalam produksi. Saya sarankan Anda untuk menguji ini di mesin virtual. Setelah Anda terbiasa dengan PSSH, Anda dapat menggunakannya pada produksi jika Anda mau.
Bacaan yang disarankan:
- DSH – Jalankan Perintah Linux Pada Banyak Host Sekaligus
- Jalankan Perintah Pada Sistem Linux Jarak Jauh Melalui SSH
Semoga membantu.