5 puan yazan xguru 2025-04-22 | 2 yorum | WhatsApp'ta paylaş
  • Parallel SSH oturumları üzerinden birden çok sunucuda komutları aynı anda çalıştırabilen bir CLI aracı
  • Basit kullanımdan gelişmiş giriş/çıkış denetimine kadar destek sunar ve sunucu kümesi yönetiminde kullanışlıdır

Temel özellikler

  • Birden çok host üzerinde komut çalıştırır ve çıktıyı host adını önek olarak ekleyerek gösterir
    • Örnek: pussh -h host1,host2 uname -a
  • Host listesi dosyadan veya standart girdiden sağlanabilir
    • Örnek: pussh -f servers uname -a veya fetch-servers | pussh -f - uname -a
  • Çıktı, sıralama veya filtreleme için bir pipeline'a bağlanabilir
    • Örnek: disk kullanımına göre sıralama → pussh -f servers df -h / | grep /dev | sort -rn -k5
  • Her hostun çıktısı ayrı dosyalara kaydedilebilir (%h host adı yer tutucusudur)
    • Örnek: pussh -f servers -o %h-hw.txt lshw
  • SSH çıktı sonucu başka komutlara pipe edilebilir
    • Örnek: pussh -f servers -o '|grep feature' command > output

Girdi denetimi özellikleri

  • Komut çalıştırılırken girdi, bir dosyadan veya bir komut çıktısından sağlanabilir
    • Örnek: pussh -f servers -i file command
    • Örnek: host başına girdi dosyası → pussh -f servers -i %h.data command
    • Örnek: dinamik girdi → pussh -f servers -i 'get-data %h|' command
  • -i ve -o serbestçe birlikte kullanılabilir

Dağıtım ve çalıştırma özellikleri

  • Komutlar veya script'ler uzak sisteme aktarılıp çalıştırılabilir
    • Örnek: pussh -f servers -u my-deploy.sh args ...
    • Ancak çalıştırılabilir dosya self-contained biçimde olmalı veya hedef sunucu ortamıyla uyumlu olmalıdır

Performans optimizasyonu ipuçları

  • SSH bağlantısının kurulma hızı toplam çalışma süresini ciddi biçimde etkiler
  • SSH agent'ın işleme hızı sınırı aşılırsa kimlik doğrulama başarısızlıkları veya bağlantı hataları oluşabilir
  • Öneri: kullanım sırasında bir rate değeri ayarlayın (örnek: alias pussh='pussh -r 50')
  • Ağ gecikmesi büyük etki yarattığından, önce uzak LAN makinesine ssh ile bağlanıp ardından pussh'ı o makinede çalıştırmak daha hızlıdır
    • Örnek benchmark (Gigabit LAN ölçütü):
      $ time pussh -f servers -r 100 date  
      Total: 201 host(s), 4 second(s)  
      
      real    0m4.069s  
      user    0m7.132s  
      sys     0m3.140s  
      

Geliştirme ve geçmiş

  • 2008'den beri Bearstech içinde kullanılan bir araç
  • Başlangıçta birkaç satırlık bir shell script'iydi; bugün 500'den fazla sunuculuk kümelerde de kararlı biçimde çalışıyor
  • Bulut yönetim sistemiyle entegre çalışarak basit host tanımlarından yürütülebilir host listeleri üretir

Sınırlamalar

  • Uzak sunucunun stdout ve stderr akışları ayrılmaz, tek bir akışta birleştirilerek çıktı verilir
  • Uzak sunucuda çalıştırılan komutun çıkış durumu (exit status) alınamaz

2 yorum

 
ahwjdekf 2025-04-24

İsmi pek tekin değil!

 
nemorize 2025-04-25

Kesinlikle daha fazla katılamazdım 🤣