Cara Menjalankan Banyak Perintah di Beberapa Server Linux


Jika Anda mengelola beberapa server Linux, dan Anda ingin menjalankan banyak perintah di semua server Linux, tetapi Anda tidak tahu cara melakukannya. Tidak perlu khawatir, dalam panduan manajemen server sederhana ini, kami akan menunjukkan cara menjalankan banyak perintah di beberapa server Linux secara bersamaan.

Untuk mencapai hal ini, Anda dapat menggunakan program pssh (parallel ssh), sebuah utilitas baris perintah untuk mengeksekusi ssh secara paralel pada sejumlah host. Dengannya, Anda dapat mengirim masukan ke semua proses ssh, dari skrip shell.

Persyaratan

  1. Instal Pssh untuk Menjalankan Perintah di Beberapa Server Linux Jarak Jauh
  2. Anda harus menggunakan otentikasi tanpa kata sandi SSH untuk semua server jarak jauh.

Buat Skrip Shell

Oleh karena itu, Anda perlu memulai dengan menyiapkan skrip yang berisi perintah Linux yang ingin Anda jalankan di server yang berbeda. Dalam contoh ini, kami akan menulis skrip yang akan mengumpulkan informasi berikut dari beberapa server:

  • Periksa uptime server
  • Periksa siapa yang masuk dan apa yang mereka lakukan
  • Buat daftar 5 proses berjalan teratas menurut penggunaan memori.

Pertama buat skrip bernama commands.sh dengan editor favorit Anda.

vi commands.sh

Selanjutnya, tambahkan perintah berikut ke skrip seperti yang ditunjukkan.

#!/bin/bash 
###############################################################################
#Script Name    : commands.sh                       
#Description    : execute multiple commands on multiple servers                                                                     
#Author         : Aaron Kili Kisinga       
#Email          : [email  
################################################################################
echo
show system uptime
uptime
echo
show who is logged on and what they are doing
who
echo
show top 5 processe by RAM usage 
ps -eo cmd,pid,ppid,%mem,%cpu --sort=-%mem | head -n 6

exit 0

Simpan file dan tutup. Kemudian buat skrip dapat dieksekusi seperti yang ditunjukkan.

chmod +x commands.sh

Buat File Host PSSH

Selanjutnya, tambahkan daftar server tempat Anda ingin menjalankan perintah, dalam file hosts.txt, dalam format [user@]host[:port] atau cukup berikan alamat IP server.

Namun kami menyarankan Anda menggunakan alias ssh yang dapat ditentukan dalam file .ssh/config seperti yang dijelaskan dalam cara mengonfigurasi koneksi ssh khusus untuk menyederhanakan akses jarak jauh.

Metode ini lebih efisien dan dapat diandalkan, memungkinkan Anda untuk menentukan opsi konfigurasi (seperti nama host, file identifikasi, port, nama pengguna, dll.) untuk setiap server jarak jauh.

Berikut ini adalah contoh file alias ssh host kami alias file konfigurasi ssh khusus pengguna.

vi ~/.ssh/config

Selanjutnya, buat file hosts.txt, di sini Anda cukup menentukan alias (nama ditentukan menggunakan kata kunci Host di file .ssh/config) seperti yang ditunjukkan.

vi hosts.txt 

Tambahkan alias server.

server1
server2
server3

Jalankan Perintah melalui Skrip di Beberapa Server Linux

Sekarang jalankan perintah pssh berikut dengan menentukan file hosts.txt bersama dengan skrip yang berisi beberapa perintah untuk dijalankan di beberapa server jarak jauh.

pssh -h hosts.txt -P -I<./commands.sh

Arti dari flag yang digunakan pada perintah di atas:

  • -h – membaca file host.
  • -P – memberitahu pssh untuk menampilkan output yang tiba.
  • -I – membaca input dan mengirimkan ke setiap proses ssh.

Itu dia! Pada artikel ini, kami menunjukkan cara menjalankan banyak perintah di beberapa server di Linux. Anda dapat membagikan pemikiran apa pun terkait topik ini melalui bagian komentar di bawah.