Linux sunucularda disk alanı doluluğu, sistem performansını doğrudan etkileyen kritik bir sorundur.
Linux sunucularda disk alanı doluluğu, sistem performansını doğrudan etkileyen kritik bir sorundur. Uygulamalar yavaşlar, yeni veriler kaydedilemez ve hatta sunucu çökebilir. Bu makalede, kurumsal ortamlar için pratik ve güvenli disk temizleme yöntemlerini adım adım ele alacağız. Temel komutlardan gelişmiş araçlara kadar, sunucunuzun disk alanını verimli bir şekilde yönetmenize yardımcı olacak stratejileri paylaşacağız. Bu işlemler, üretim ortamlarında kesinti yaratmadan uygulanabilir şekilde tasarlanmıştır.
Sunucunuzdaki disk kullanımını doğru analiz etmek, temizlik sürecinin temel taşıdır. Öncelikle genel bir bakış için df -h komutunu çalıştırın. Bu komut, dosya sistemlerinin kullanım oranlarını insan okunabilir formatta gösterir ve hangi partition’ların dolmaya yakın olduğunu belirlemenizi sağlar. Örneğin, root partition (%90 üzeri kullanım) acil müdahale gerektirir.
Daha detaylı inceleme için du -sh /* komutunu kullanın. Bu, ana dizinlerdeki boyutları özetler ve büyük klasörleri (örneğin /var veya /home) tespit eder. Ncdu aracı ise interaktif bir dosya gezgini sunar: sudo apt install ncdu ile yükleyin, ardından ncdu / çalıştırın. Klavye ile gezinerek büyük dosyaları silin veya taşıyın. Bu yöntemle, gereksiz 10-20 GB alanı dakikalar içinde kurtarabilirsiniz. Analiz aşamasında, kritik sistem dosyalarına dokunmamak için root erişimini dikkatli kullanın.
Geçici dosyalar (/tmp ve /var/tmp), en hızlı biriken unsurlardır. sudo rm -rf /tmp/* ile temizleyin, ancak çalışan süreçleri kontrol edin (lsof /tmp). /var/cache/apt/archives dizinindeki paket önbelleklerini sudo apt clean ile silin; bu komut, indirilmiş .deb dosyalarını kaldırarak gigabaytlar kazandırır.
Systemd journal’ları (/var/log/journal) hızla büyür. sudo journalctl --vacuum-time=2weeks ile son 2 haftanın öncesi logları silin. Veya boyut sınırlaması için sudo systemd-tmpfiles --clean kullanın. Bu işlemler, log rotation’ı otomatikleştirir ve disk kullanımını %30’a kadar azaltır. Düzenli çalıştırmak için cron job ekleyin: sudo crontab -e ile 0 2 * * * /usr/bin/journalctl –vacuum-time=1week satırını ekleyin.
CentOS/RHEL tabanlı sistemlerde sudo yum clean all veya sudo dnf clean all çalıştırın. Bu, metadata ve paket dosyalarını temizler. Eski kernel’leri kaldırmak için sudo package-cleanup --oldkernels --count=2 ile son 2 kernel dışındakileri silin, ancak bootable kernel’i koruyun.
/var/log dizini, erişim logları (Apache/Nginx) ve sistem loglarıyla dolabilir. Logrotate yapılandırmasını kontrol edin (/etc/logrotate.conf) ve manuel döndürme için sudo logrotate -f /etc/logrotate.conf uygulayın. Büyük log dosyalarını sıkıştırın: sudo find /var/log -type f -name "*.log" -size +100M -exec gzip {} \;. Bu komut, 100MB üzeri logları gzip’ler ve alanı yarıya indirir.
Paket yönetiminde gereksizleri temizleyin. Debian/Ubuntu için sudo apt autoremove ile kullanılmayan bağımlılıkları, sudo apt autoclean ile eski arşivleri kaldırın. Docker kullanıyorsanız docker system prune -a ile kullanılmayan image’leri silin; bu, sunucularda 5-10 GB kazandırır. Her zaman yedek alın ve test ortamında doğrulayın.
Disk kullanımını proaktif yönetmek için Prometheus veya Nagios gibi araçlar entegre edin. Basit bir script ile günlük kontrol: #!/bin/bash df -h | grep -E '90|95|99' | mail -s "Disk Uyarı" [email protected]. Bu scripti cron’a ekleyin. Zabbix gibi araçlarla threshold’lar tanımlayın ve otomatik temizlik tetikleyin.
Bu yöntemlerle Linux sunucunuzun disk alanını etkili bir şekilde yönetebilir, kesintisiz hizmet sağlayabilirsiniz. Düzenli bakım, beklenmedik arızaları önler ve kaynakları optimize eder. Uygulamadan önce her komutu test edin ve değişiklikleri belgeleyin; böylece ekip üyeleriniz de faydalanabilir. Disk temizliği, kurumsal IT yönetiminin vazgeçilmez bir parçasıdır.