Sunucuda Disk Alanı Yönetimi ve İmaj Temizliği Rehberi

Sunucuda Disk Alanı Yönetimi ve İmaj Temizliği Rehberi - Corelux
7 Haz 2026
Paylaş:

Sunucuda Disk Alanı Yönetimi ve İmaj Temizliği Rehberi

Son Güncelleme: Mayıs 2026

Giriş: Bu rehber, sunucuda disk alanı yönetimi, log rotasyonu, docker imaj temizliği ve paket önbelleği temizleme gibi pratik konuları kapsamlı şekilde ele alır. Hem paylaşımlı hem de özel sunucularda (VPS/VDS/Kiralık) kullanılabilecek adımlar, otomasyon örnekleri ve dikkat edilmesi gerekenler bu yazıda bulunmaktadır.

İçindekiler

Disk Alanı Yönetimi Neden Önemli?

Sunucularda disk doluluğu işletim sisteminin kararlılığını, veri tabanı performansını ve log yazımını doğrudan etkiler. Bir disk tamamen dolduğunda hizmetler durabilir, veritabanları read-only moda geçebilir veya uygulamalar hata vermeye başlayabilir. Bu nedenle düzenli alan temizliği ve izleme ayarlamak kritik öneme sahiptir.

Temel İlkeler

  • Proaktif İzleme: Disk doluluk seviyesini %70-80 üzerine çıkmadan alarm kurun.
  • Prioriteleme: Kritik servislerin bulunduğu mount point'leri önceliklendirin (ör. /var, /var/lib/mysql, /home).
  • Yedekleme: Silme işlemi yapmadan önce yedek veya snapshot alın.

Disk Kullanımını Hızlı Tespit Komutları

En temel kontrol için aşağıdaki komut örnekleri kullanılabilir:

df -h
du -sh /var/log/* | sort -h
ncdu /

Burada df -h genel durum, du -sh dizin bazlı kullanım, ncdu ise interaktif analiz sağlar.

Log Rotasyonu ve Log Yönetimi

Log rotasyonu disk doluluğunu engellemenin en etkili yollarından biridir. Sistem logları ve uygulama logları büyüyerek diski tüketir; bu yüzden uygun rotasyon, sıkıştırma ve saklama politikaları belirlenmelidir.

logrotate ile Temel Konfigürasyon

Çoğu Linux dağıtımında logrotate varsayılan olarak gelir. Örnek bir konfigürasyon:

/var/log/myapp/*.log {
  daily
  rotate 14
  compress
  missingok
  notifempty
  create 0640 root adm
}

Bu yapı günlük döndürme, 14 günlük saklama ve sıkıştırma uygular.

Journal (systemd) Log Temizliği

systemd journal büyümesini sınırlandırmak için:

journalctl --vacuum-size=200M
journalctl --vacuum-time=7d

İlk komut toplam journal boyutunu 200MB ile sınırlar, ikincisi 7 günden eski kayıtları siler.

Log Dosyalarını Güvenli Temizleme

  • Hedefleme: Önce en büyük log dosyalarını bulun ve hangi uygulamanın yazdığını tespit edin.
  • Yedekleme: Gerekiyorsa eski logları sıkıştırıp arşivleyin (ör. tar -czvf ile).
  • Otomasyon: logrotate ile uzun vadeli yönetim kurun.

Temp Dosyalar ve Paket Önbellek Temizliği

Geçici dosyalar ve paket yönetici önbellekleri sık sık disk tüketir. Aşağıda dağıtım bazlı pratik adımlar var.

APT (Debian/Ubuntu) Temizliği

apt-get clean
apt-get autoclean
apt-get autoremove --purge -y

Not: apt-get clean tüm indirilen paket önbelleğini siler; disk alanı kazanımı sağlar.

Yum/DNF (RHEL/CentOS/Fedora) Temizliği

yum clean all
dnf autoremove -y

Geçici Dizinin Temizlenmesi

Geçici dosyaları temizlerken dikkatli olun; aktif iş süreçleri bazı dosyaları kullanıyor olabilir.

tmpreaper 7d /tmp
# veya basit temizleme
find /tmp -type f -atime +7 -delete
  • Güvenlik: Kullanıcı oturumları etkilenmemesi için kısa süreli test yapın.
  • İzleme: Temizlemeden sonra servisleri kontrol edin.

Docker / Container İmaj Temizliği

Container ortamları, özellikle CI/CD süreçlerinde hızla disk tüketebilir. Docker için temel temizleme komutları:

docker system df
# Gereksiz her şeyi temizler (dangling image, unused network, stopped container)
docker system prune -a --volumes -f
# Sadece unused images
docker image prune -a -f

Uyarı: -a seçeneği kullanılınca kullanılmayan ama yeniden çekilmesi gereken image'lar da silinir; production ortamda dikkatli kullanın.

Katman (layer) Yönetimi ve Registry Temizliği

  • Yerel Registry: Eğer kendi registry'niz varsa, retention policy (saklama politikası) uygulayın.
  • CI Pipelines: Pipeline'larda otomatik temizleme adımları ekleyin.
Yöntem Avantaj Dezavantaj
docker system prune Hızlı, tek komutla geniş temizlik Yanlışlıkla ihtiyaç duyulan image'lar silinebilir
Registry retention Uzun vadeli kontrol, merkezi yönetim Konfigürasyon ve bakım gerektirir

Otomasyon ve Örnek Scriptler

Tekrarlayan temizleme işlemlerini cron veya sistemd timer ile otomatikleştirin. Aşağıda örnek bir günlük temizlik script'i yer alıyor.

#!/bin/bash
# /usr/local/bin/disk_cleanup.sh
# 1. apt temizliği
apt-get clean
apt-get autoremove -y
# 2. journal temizliği
journalctl --vacuum-size=200M
# 3. docker prune (opsiyonel, production'da dikkat)
docker system prune -f --volumes
# 4. geçici dosyalar
find /tmp -type f -atime +7 -delete

Bu script'i çalıştırılabilir yapın ve cron'a ekleyin:

chmod +x /usr/local/bin/disk_cleanup.sh
# günlük saat 03:30'da çalıştırmak için crontab
30 3 * * * /usr/local/bin/disk_cleanup.sh >> /var/log/disk_cleanup.log 2>&1
  • Test: Önce manuel veya staging ortamında çalıştırın.
  • Bildirim: Cron çıktısını izleyin ve kritik durumlarda e-posta bildirimleri kurun.

Yedekleme, Geri Yükleme ve Güvenli Temizlik

Her temizleme işleminden önce mutlaka yedek alın. Corelux'un sunduğu Yedekleme Hizmeti gibi çözümler, kritik verilerinizi güvenli şekilde saklamanıza yardımcı olur. Ayrıca, fiziksel veya bulut sunucularda snapshot almak hızlı geri dönüş sağlar.

Örnek Yedek & Geri Yükleme Akışı

  1. Snapshot: Temizlikten önce volume snapshot alın.
  2. Test Restorasyon: Periyodik olarak yedekten test restore yapın.
  3. Dokümantasyon: Hangi klasörün neden silindiğini dokümante edin.

Gerekirse daha yüksek kaynaklı bir altyapıya geçiş için Corelux'un Bulut Sunucu veya Türkiye VPS Sunucu çözümlerini değerlendirebilirsiniz.

Sıkça Sorulan Sorular

Disk temizliği yapmadan önce hangi önlemleri almalıyım?

Öncelikle kritik verilerin yedeğini alın veya volume snapshot oluşturun. Temizlik listesini dokümante edin ve servis kesintisi riski taşıyan dosyaları belirleyin.

Hangi log dosyalarını güvenle silebilirim?

Eski arşivlenmiş veya sıkıştırılmış log dosyalarını silebilirsiniz. Aktif uygulama loglarını silmeden önce rotasyon veya sıkıştırma uygulayın. /var/log içindeki büyük dosyaları tek tek kontrol edin.

Docker temizliği production ortamda nasıl güvenli yapılır?

Production'da önce registry retention ve etiketleme (tagging) politikası uygulayın. Manuel olarak docker image prune veya özel scriptlerle eski image'ları kaldırın; otomatik docker system prune -a risklidir.

Automasyon ile yanlışlıkla dosya silmeyi nasıl önlerim?

Script'lerde dry-run (kuru çalışma) seçenekleri ekleyin, işlemi önce staging'de test edin ve cron job'ları e-posta bildirimli olacak şekilde yapılandırın.

Disk doluluk sınırını nerede tutmalıyım?

Genel öneri kritik mount point'ler için %70-80 sınırıdır. Ancak veritabanı ve log yoğun sistemlerde daha düşük %60-70 hedefi belirlemek daha güvenli olabilir.

Sonuç

Sunucuda disk alanı yönetimi ve imaj temizliği düzenli bakım, otomasyon ve doğru yedekleme stratejileri ile güvenli ve sürdürülebilir hale gelir. Uygulamalı rotasyon, paket önbelleği temizliği ve container yönetimi ile disk kaynaklarınızı etkin kullanabilirsiniz. Eğer daha güçlü kaynak, profesyonel yedekleme veya yönetilen sunucu hizmetine ihtiyaç duyuyorsanız Corelux'un Kiralık Sunucu, Sanal Sunucu veya Yedekleme Hizmeti sayfalarını inceleyebilirsiniz.

Bu rehberde yer alan komutları kullanmadan önce ortamınızı yedeklemeyi ve değişiklikleri test etmeyi unutmayın.

Yazar

Boran BAR

Chat on WhatsApp