Uzak Sunucu Üzerinde Komut Çalıştırmak ve Toplu Komut Çalıştırmak

  İpuçları

Bazen öyle bir an gelirki yönettiğimiz onlarca linux sunucusu üzerinde bir takım komutlar çalıştırmamız gerekir. Tabiki bununla ilgili çeşitli programlar yardımı ile merkezi sunucu yaparak komutları client bilgisayarlara işletmek gibi seçenekler de mevcut, o ayrı bir konu..

Fakat hem uzak bir linux sunucusunda ssh ile ayrı bir bağlantı açmadan mevcut sunucumuz ile nasıl bağlanabiliriz ve komut çalıştırabiliriz bunu göstereceğim hem de birden fazla komut nasıl çalıştırabiliriz sorusunun yanıtını vereceğim.

Bu işlemler için elbette her iki sunucunun da ssh servislerinin yüklü olması, birbirlerine bağlantı sağlayabilmeleri için fw/nw ayarlarının yapılmış olması gerekir. (ssh-key yöntemi kullanılıyorsa zaten tadından yenmez, tabi şart da değildir.. )

Buradaki örneğimde 2 sunucum var ve bu iki sunucumdan biri üzerinde ssh ile login olarak diğer üzerinde komut çalıştırmaya çalışacağım.
A Sunucum = salihpala.com.tr
B Sunucum = linuxhakkinda.com
Şimdi A sunucum üzerinden B sunucuma “uname -a” komutunu çalıştırarak çıktısını görmek için aşağıdaki komutu yazıyorum. Unutulmaması gereken kısım burada uzak sunucumuz için bağlanılacak kullanıcı adı ve şifresinin biliyor olmasıdır. Ben burada “[email protected]” dedim, yani root kullanıcımla “linuxhakkinda.com” sunucuma bağlan komutunu verdim. Farklı user için kullanılacak yöntem şu şekilde;
“ssh [email protected]

Komutu çalıştırıyorum,

Yukarıda görüldüğü gibi komut girdikten sonra bize bağlanacağımız sunucunun parolası soruldu. Burada bağlandığım root kullanıcısının parolasını girdim ve sonrasında komutu çalıştırarak çıktısını ekrana bastı.

“Peki birden fazla komut çalıştırmak istediğimde ne yapmam gerekir” sorusunun yanıtı ise hemen aşağıda yer alıyor. Görüldüğü gibi yine önce “uname -a” çıktısının sonucunu aldım ve sonrasında noktalı virgül koyarak bir sonraki komutumu yazdım. Tüm bu komutlar çift tırnak içerisine gelecek şekilde elbette..

Diyelimki çalıştıracak çok komut var ve bunları bir dosya üzerinden okutmak istiyoruz. O halde yapılacak işlem aşağıdaki gibi,

komutlarim.txt isminde bir dosya oluşturdum ve içerisine komutlarımı yazdım,

Şimdi ise bu dosyamı kullanarak uzak sunucuya ssh bağlantısı sağlıyorum ve dosyamdaki komutları okutuyorum,

Hatta bash üzerinde komutları toplu yazarak satır satır sıralamak ve uzak sunucu üzerinde çalıştırmak istersek mantık aşağıdaki gibi olacaktır.

Örnek vermek gerekirse;