Ubuntu Server ortamlarında disk alanı yönetimi, sistem performansını ve veri bütünlüğünü korumanın temel unsurlarından biridir.
Ubuntu Server ortamlarında disk alanı yönetimi, sistem performansını ve veri bütünlüğünü korumanın temel unsurlarından biridir. Disk doluluğu, beklenmedik kesintilere yol açabilir ve bu durum kurumsal operasyonları etkileyebilir. Bu makalede, disk kullanım oranını düzenli olarak denetleyen ve belirlenen eşik değerini aştığında e-posta uyarısı gönderen bir Bash script’inin oluşturulmasını, cron job ile otomatikleştirilmesini adım adım ele alacağız. Bu yaklaşım, sistem yöneticilerine proaktif kontrol sağlayarak olası sorunları önceden tespit etmelerine olanak tanır. Script, standart Ubuntu araçlarını kullanarak basit, güvenilir ve bakım gerektirmeyen bir çözüm sunar.
İlk adımda, disk kullanımını sorgulayan ve uyarı mekanizmasını tetikleyen script’i hazırlayacağız. Bu script, df komutunu temel alarak kök dizin ve diğer kritik bölümleri tarar. Eşik değeri yüzde 85 olarak varsayılan halde tutulur, ancak kolayca değiştirilebilir. Script, kullanım oranını hesaplar, aşım durumunda sistem bilgilerini içeren bir e-posta hazırlar ve mail komutu ile gönderir. Bu yöntem, ek yazılım yüklemeden Ubuntu’nun yerleşik özelliklerini kullanır.
#!/bin/bash
THRESHOLD=85
EMAIL="[email protected]"
SUBJECT="Disk Kullanım Uyarısı - $(hostname)"
df -h | grep -vE '^Filesystem|tmpfs|cdrom' | awk '{ print $5 " " $1 }' | while read output;
do
usep=$(echo $output | awk '{ print $1}' | sed 's/%//g')
partition=$(echo $output | awk '{ print $2 }')
if [ $usep -ge $THRESHOLD ]; then
echo "Uyarı: $partition disk kullanım oranı %$usep ile eşik değerini aştı." | mail -s "$SUBJECT" $EMAIL
fi
done
Yukarıdaki kod bloğu, script’in çekirdeğini oluşturur. df -h ile insan okunur formatta disk verileri alınır, gereksiz satırlar filtrelenir ve awk ile kullanım oranı ayrıştırılır. Döngü içinde her bölüm için kontrol yapılır. Mail gönderme için postfix veya sendmail gibi bir MTA’nın kurulu olması önerilir; Ubuntu’da sudo apt install mailutils ile sağlanabilir. Script’i /usr/local/bin/disk-alert.sh konumuna kaydedin ve chmod +x ile çalıştırılabilir hale getirin. Bu yapı, birden fazla disk bölümünü izleyerek kapsamlı bir denetim sağlar ve loglama eklenerek genişletilebilir.
Cron, Linux sistemlerinde periyodik görevleri yönetmenin standart yoludur. Disk izleme script’ini cron ile entegre etmek, günlük veya saatlik kontrolleri otomatikleştirir. Crontab dosyasını düzenleyerek script’i istediğiniz sıklıkta çalıştırabilirsiniz. Örneğin, her sabah 06:00’da ve akşam 18:00’de tetiklemek için crontab -e komutuyla aşağıdaki satırı ekleyin: 0 6,18 * * * /usr/local/bin/disk-alert.sh. Bu, sunucunun yeniden başlatılmasından etkilenmeden kalıcı bir programlama sağlar.
sudo crontab -e ile root crontab’ını kullanın.0 0 1 1 *.Bu entegrasyon, sistem yükünü minimumda tutar çünkü cron işleri arka planda sessizce çalışır. Logları /var/log/syslog veya /var/log/cron.log üzerinden izleyerek doğrulama yapın. Eşik değerini dinamik hale getirmek için script’e parametre ekleyebilir, örneğin $1 ile threshold’u cron çağrısında belirtebilirsiniz: 0 6 * * * /usr/local/bin/disk-alert.sh 90.
Script’in doğruluğunu test etmek için manuel çalıştırma yapın: /usr/local/bin/disk-alert.sh. E-posta alımını kontrol edin; eğer gelmiyorsa mailutils kurulumunu ve postfix yapılandırmasını gözden geçirin (sudo dpkg-reconfigure postfix). Cron’un aktif olduğunu sudo systemctl status cron ile doğrulayın. Test ortamında disk kullanımını dd ile şişirerek simüle edin: dd if=/dev/zero of=/tmp/testfile bs=1G count=10. Bu adımlar, üretim öncesi güvenilirliği sağlar ve olası hataları erken yakalar.
Düzenli bakım için script’e log ekleyin: echo "$(date): Disk check completed" >> /var/log/disk-alert.log. Hata durumlarında (df başarısız olursa) uyarıyı syslog’a yönlendirin. Eşik aşımında birden fazla alıcıya mail için EMAIL değişkenini virgülle ayırın. Sunucu yükseltmelerinde script yolunu koruyun ve cron’u yeniden yükleyin. Bu proaktif yaklaşımlar, script’in uzun vadeli kararlılığını artırır.
Bu cron script’i ile Ubuntu Server’ınızda disk yönetimi profesyonelleşir. Uygulama sonrası sistem stabilitesi gözle görülür şekilde yükselir ve acil müdahaleler azalır. İhtiyaçlarınıza göre Telegram veya Slack entegrasyonu ekleyerek modernleştirin; temel yapı ise her zaman güvenilir kalacaktır.