Birden Çok Linux Sunucusunda Birden Çok Komut Nasıl Çalıştırılır


Birden fazla Linux sunucusunu yönetiyorsanız ve tüm Linux sunucularında birden fazla komut çalıştırmak istiyorsanız ancak bunun nasıl yapılacağı hakkında hiçbir fikriniz yoksa. Endişelenmenize gerek yok, bu basit sunucu yönetimi kılavuzunda size birden fazla Linux sunucusunda aynı anda birden fazla komutun nasıl çalıştırılacağını göstereceğiz.

Bunu başarmak için, ssh'yi birçok ana bilgisayarda paralel olarak yürütmek için bir komut satırı yardımcı programı olan pssh (paralel ssh) programını kullanabilirsiniz. Bununla birlikte, bir kabuk betiğinden tüm ssh işlemlerine girdi gönderebilirsiniz.

Gereksinimler

  1. Birden Çok Uzak Linux Sunucusunda Komutları Çalıştırmak için Pssh'yi Yükleyin
  2. Tüm uzak sunucular için SSH şifresiz kimlik doğrulamasını kullanıyor olmalısınız.

Kabuk Komut Dosyası Oluşturun

Bu nedenle farklı sunucularda çalıştırmak istediğiniz Linux komutlarını içeren bir script hazırlayarak başlamalısınız. Bu örnekte, aşağıdaki bilgileri birden fazla sunucudan toplayacak bir komut dosyası yazacağız:

  • Sunucuların çalışma süresini kontrol edin
  • Kimin oturum açtığını ve ne yaptığını kontrol edin
  • Bellek kullanımına göre en çok çalışan 5 işlemi listeleyin.

Öncelikle favori düzenleyicinizle commands.sh adlı bir komut dosyası oluşturun.

vi commands.sh

Daha sonra aşağıdaki komutları gösterildiği gibi betiğe ekleyin.

#!/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

Dosyayı kaydedin ve kapatın. Daha sonra betiği gösterildiği gibi çalıştırılabilir hale getirin.

chmod +x commands.sh

PSSH Hosts Dosyası Oluşturun

Daha sonra, komutları çalıştırmak istediğiniz sunucuların listesini hosts.txt dosyasına [user@]host[:port] biçiminde ekleyin veya sunucuya IP adreslerini vermeniz yeterlidir.

Ancak uzaktan erişimi kolaylaştırmak için özel ssh bağlantılarının nasıl yapılandırılacağı konusunda açıklandığı gibi .ssh/config dosyasında belirtilebilecek ssh takma adlarını kullanmanızı öneririz.

Bu yöntem daha verimli ve güvenilirdir, her uzak sunucu için yapılandırma seçeneklerini (ana bilgisayar adı, dosya tanımlama, bağlantı noktası, kullanıcı adı vb. gibi) belirtmenize olanak tanır.

Aşağıda örnek ssh ana bilgisayar takma ad dosyamız, yani kullanıcıya özel ssh yapılandırma dosyası yer almaktadır.

vi ~/.ssh/config

Daha sonra, bir hosts.txt dosyası oluşturun; burada takma adları (.ssh/config dosyasındaki Host anahtar sözcüğü kullanılarak tanımlanan adlar) gösterildiği gibi kolayca belirtebilirsiniz.

vi hosts.txt 

Sunucu takma adlarını ekleyin.

server1
server2
server3

Komutları Birden Fazla Linux Sunucusunda Komut Dosyası Aracılığıyla Çalıştırın

Şimdi, birden çok uzak sunucuda çalıştırılacak birden çok komut içeren komut dosyasıyla birlikte hosts.txt dosyasını belirterek aşağıdaki pssh komutunu çalıştırın.

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

Yukarıdaki komutta kullanılan bayrakların anlamı:

  • -h – hosts dosyasını okur.
  • -P – pssh'ye çıktı geldiğinde görüntülemesini söyler.
  • -I – girişi okur ve her ssh işlemine gönderir.

Bu kadar! Bu yazımızda Linux'ta birden fazla sunucuda birden fazla komutun nasıl çalıştırılacağını gösterdik. Bu konu ile ilgili düşüncelerinizi aşağıdaki yorum kısmından paylaşabilirsiniz.