Bash Sunucuda Disk Doluluk Alarmı
Sunucu yönetiminde disk kullanımı kritik bir parametre olup, belirli seviyelerin üzerine çıkıldığında otomatik uyarılar almak sistem stabilitesi ve veri güvenliği açısından büyük önem taşır. Bash betikleri, bu işlemi otomatikleştirmek ve sürekli izlemek adına güçlü araçlar sunar.
İlk olarak, disk kullanımını periyodik olarak kontrol etmek için
df komutunu kullanabiliriz. Bu komut, disk bölümlerinin toplam, kullanılan ve boş alanını gösterir. Örneğin,
df -h komutu, insan tarafından okunabilir biçimde detay sağlar.
Bir diğer önemli nokta, belirli bir eşik değeri aşan disk bölümlerini tespit etmektir. Diyelim ki, %80 kullanım sınırını belirledik. Aşağıdaki örnek, tüm disk bölümlerinin kullanım oranını kontrol eder ve sınırı aşanları listeler:
12345678910111213bash
#!/bin/bash
THRESHOLD=80
df -h | grep -vE '^Filesystem|tmpfs|cdrom' | awk '{ print $5 " " $1 }' | while read -r line; do
usage=$(echo "$line" | awk '{ print $1}' | sed 's/%//')
partition=$(echo "$line" | awk '{ print $2 }')
if [ "$usage" -ge "$THRESHOLD" ]; then
echo "Uyarı: $partition kullanımı %$usage seviyesine ulaştı."
# Burada mail veya başka bir alarm sistemi entegre edilebilir
fi
done
Bu betik, disk bölümlerini tarar, kullanım oranlarını karşılaştırır ve eşik değerini aşanlar için uyarı üretir. Uyarı eylemini (örneğin email göndermek)
# ile belirtilen satırlarda ekleyebilirsiniz.
İkinci aşamada, bu betiği düzenli olarak çalıştırmak için
cron kullanmak pratik çözümdür. Örneğin, her saat başı çalışması için crontab girdisi şu şekilde olur:
12bash
0 * * * * /path/to/disk_usage_check.sh
Böylece, disk kullanımı sürekli takip edilerek kritik seviyelerde otomatik uyarılar alınabilir. Bu sistem, sadece disk doluluk durumunu değil, aynı zamanda diğer kaynakların takibini de kolaylaştırır.
Disk kullanımını düzenli izlemek ve otomatik alarm sistemleri kurmak, hem sistem kararlılığı hem de veri bütünlüğü açısından vazgeçilmezdir. Bu tarz betikler, sunucu operasyonlarını daha öngörülebilir ve yönetilebilir hale getirir.