Büyük ölçekli altyapılarda sunucu envanteri almak, manuel yöntemlerle zaman alıcı ve hata yapma riskini artırıcıdır. Bu nedenle, otomasyon ve komut satırı araçlarının kullanımı yaygın hale gelmiştir. SSH tabanlı Bash scriptleri, merkezi yönetim ve hızlı bilgi toplama açısından oldukça avantaj sağlar.
Bu tarz scriptler, belirli bir IP veya IP aralığında bulunan sunuculara SSH ile bağlanıp, sistem bilgilerini toplar. En sık kullanılan bilgiler arasında işletim sistemi, yüklü paketler, disk kullanımı, RAM durumu ve çalışan servisler bulunur. Ayrıca, güvenlik açısından SSH anahtar tabanlı kimlik doğrulama kullanmak, şifre girmeden otomasyonu sağlar.
Örneğin, temel bir script şu yapıya sahiptir:
- Sunucu listesi içeren bir dosya (örneğin, servers.txt)
- SSH bağlantılarını sağlayan, anahtar tabanlı kimlik doğrulama kullanan fonksiyonlar
- Sistem bilgilerini toplayan ve çıktılayan komutlar
Bir örnek:
[code]
#!/bin/bash
Sunucu listesi dosyası
servers="servers.txt"
Her sunucuya bağlanıp bilgi toplam
while read -r server; do
echo "Sunucu: $server"
ssh -o ConnectTimeout=5 -o StrictHostKeyChecking=no user@$server