DSH (Dancer's Shell) - Birden Fazla Linux Ana Bilgisayarında Komutları Çalıştırın


Sistem Yöneticileri çok sayıda makineyi kısa bir süre içinde, tercihen minimum fiziksel hareketle izleyebilmenin ve yönetebilmenin öneminin bilincindedir. İster küçük bir bulut ortamı ister büyük bir sunucu kümesi olsun, bilgisayarları merkezi olarak yönetme yeteneği çok önemlidir.

Bunu kısmen başarmak için size DSH (dansçının kabuğu/dağıtılmış kabuğu) adı verilen ve kullanıcının birden fazla makinede komut çalıştırmasına olanak tanıyan şık küçük bir aracın nasıl kullanılacağını göstereceğim.

DSH nedir?

DSH, 'Dağıtılmış Kabuk' veya 'Dansçının Kabuğu'nun kısaltmasıdır; bu, Linux'un başlıca dağıtımlarının çoğunda ücretsiz olarak kullanılabilen bir araçtır ancak dağıtımınız onu paket deposuna dahil etmiyorsa, bir kaynaktan kolayca oluşturulabilir.

Linux'ta DSH'yi (Dağıtılmış Kabuk) yükleyin

Bu eğitimin kapsamı için bir Debian/Ubuntu ortamını varsayacağız. Başka bir dağıtım kullanıyorsanız lütfen paket yöneticiniz için uygun komutları kullanın.

Debian tabanlı dağıtımlarda, terminalde aşağıdaki apt komutunu kullanarak DSH'yi kurabilirsiniz.

sudo apt install dsh

RHEL tabanlı dağıtımlarda, onu kaynak tar toplarından derlemeniz gerekir, ancak bunu yapmadan önce 'libdshconfig' kitaplığını derleyip yüklediğinizden emin olun.

wget http://www.netfort.gr.jp/~dancer/software/downloads/libdshconfig-0.20.10.cvs.1.tar.gz
tar xfz libdshconfig*.tar.gz 
cd libdshconfig-*
./configure ; make
sudo make install

Daha sonra dsh'yi derleyin ve yükleyin.

wget https://www.netfort.gr.jp/~dancer/software/downloads/dsh-0.22.0.tar.gz
tar xfz dsh-0.22.0.tar.gz
cd dsh-*
./configure ; make 
sudo make install

Linux'ta DSH Nasıl Kullanılır

Ana yapılandırma dosyası “/etc/dsh/dsh.conf” (Debian için) ve “/usr/local/etc/dsh.conf ” (Red Hat için) oldukça basittir, ancak rsh şifrelenmemiş bir protokol olduğundan, uzak kabuk olarak SSH'yi kullanacağız.

İstediğiniz metin düzenleyiciyi kullanarak şu satırı bulun:

remoteshell =rsh

ve şu şekilde değiştirin:

remoteshell =ssh

İsterseniz buraya iletebileceğiniz başka seçenekler de var ve dsh kılavuz sayfasında bulabileceğiniz çok sayıda seçenek var. Şimdilik varsayılanları kabul edeceğiz ve sonraki dosyaya (/etc/dsh/machines.list) (Debian için) göz atacağız.

Red Hat tabanlı sistemler için "/usr/local/etc/" içinde "machines.list" adlı bir dosya oluşturmanız gerekir. dizin.

Buradaki sözdizimi oldukça kolaydır. Tek yapmanız gereken, makinenin kimlik bilgilerini (Ana Bilgisayar Adı, IP Adresi veya FQDN) her satıra bir tane girmektir.

Not: Aynı anda birden fazla makineye erişirken, tüm makinelerinizde anahtar tabanlı, şifresiz SSH kurmanız doğru olacaktır. Bu sadece erişim kolaylığı sağlamakla kalmaz, aynı zamanda güvenlik açısından da makinenizi güçlendirir.

/etc/dsh/machines.list” veya “/usr/local/etc/machines.list” dosyamda şunlar yazıyor:

172.16.25.125
172.16.25.126

Erişmek istediğiniz makinelerin kimlik bilgilerini girdikten sonra tüm makinelere çalışma süresi gibi basit bir komut çalıştıralım.

dsh -aM -c uptime

Örnek Çıktı:

172.16.25.125: 05:11:58 up 40 days, 51 min, 0 users, load average: 0.00, 0.01, 0.05
172.16.25.126: 05:11:47 up 13 days, 38 min, 0 users, load average: 0.00, 0.01, 0.05

Peki ‘dsh’ Komutu Ne İşe Yarar?

Gayet basit. Öncelikle dsh'yi çalıştırdık ve ona "uptime" komutunu "gönderme" yazan "-a" seçeneğini aktardık. "/etc/dsh/machines.list" içinde listelenen makinelerin >TÜMÜ.

Daha sonra, “makine adını” ("/etc/dsh/machines.list<'de belirtilmiştir) döndüreceğini söyleyen "-M" seçeneğini belirttik.“) ve çalışma süresi komutunun çıktısını ekleyin. (Birkaç makinede bir komut çalıştırırken sıralama yapmak için çok kullanışlıdır).

"-c" seçeneği "yürütülecek komut" anlamına gelir, bu durumda "çalışma süresi".

DSH aynı formatta makinelerin listesini içeren bir dosya olan "/etc/dsh/groups/" dosyasındaki makine gruplarıyla da yapılandırılabilir. “/etc/dsh/machines.list” dosyası. Bir grupta dsh çalıştırırken, “-g” seçeneğinden sonra grup adını belirtin.

Red Hat tabanlı sistemler için "/usr/local/etc/" dizininde "gruplar" adlı bir klasör oluşturmanız gerekir. Bu "groups" dizininde "cluster" adında bir dosya oluşturursunuz.

Örneğin, "cluster" grup dosyası "/etc/dsh/groups/cluster'da listelenen tüm makinelerde "w" komutunu çalıştırın. ” veya “/usr/local/etc/groups/cluster“.

dsh -M -g cluster -c w

DSH çok daha fazla esneklik sağlar ve bu eğitim yalnızca yüzeyseldir. DSH, komutları yürütmenin yanı sıra dosyaları aktarmak, yazılım yüklemek, rota eklemek ve çok daha fazlası için de kullanılabilir.

Büyük bir ağın sorumluluğunu üstlenen bir Sistem Yöneticisi için bu çok değerlidir.