Linux Sunucuda Disk Alanı Nasıl Boşaltılır? Güvenli Disk Temizleme Rehberi

serotrn · 28 Eylül 2026 · 1 görüntülenme · 0 cevap

Linux sunucuda disk alanı boşaltmak için önce hangi dosya veya klasörlerin alanı tükettiğini tespit etmek, ardından yalnızca güvenle kaldırılabilecek log, cache, eski yedek ve geçici dosyaları temizlemek gerekir. Disk dolduğunda rastgele büyük dosyaları silmek veritabanının, uygulamaların veya işletim sisteminin bozulmasına neden olabilir.


Bu nedenle doğru sıra:

Kontrol et → Kaynağı bul → Dosyanın ne olduğunu doğrula → Yedekle → Güvenli şekilde temizle

olmalıdır.

1. Önce disk kullanımını kontrol edin

İlk olarak:

df -h

komutunu çalıştırın.

Ana disk için:

df -h /

kullanabilirsiniz.

Örneğin:

/dev/vda1 80G 74G 2G 98% /

gibi bir sonuç görüyorsanız disk kritik seviyeye yaklaşmış olabilir.

Ancak henüz hiçbir şeyi silmeyin.

Önce 74 GB alanın nerede kullanıldığını bulmak gerekir.

2. En fazla alan kullanan klasörleri bulun

Ana dizindeki klasörleri incelemek için root yetkisiyle:

du -xhd1 / 2>/dev/null | sort -hr

kullanılabilir.

Örneğin sonuçlarda:

/var

çok büyük görünüyorsa:

du -xhd1 /var 2>/dev/null | sort -hr

ile bir seviye daha aşağı inebilirsiniz.

Ardından örneğin:

/var/log

büyük görünüyorsa:

du -xhd1 /var/log 2>/dev/null | sort -hr

şeklinde devam edebilirsiniz.

Bu yöntem gereksiz yere bütün sunucuyu silmeye çalışmak yerine alanı tüketen noktaya ulaşmanızı sağlar.

3. Büyük dosyaları bulun

Örneğin 1 GB'den büyük dosyaları aynı dosya sistemi içinde aramak için:

find / -xdev -type f -size +1G -print 2>/dev/null

kullanılabilir.

Karşınıza:

- Büyük log dosyaları
- Eski yedekler
- Veritabanı dump dosyaları
- Arşivler
- Uygulama çıktıları

çıkabilir.

Ancak dosyanın büyük olması silinebileceği anlamına gelmez.

Önce hangi uygulama tarafından kullanıldığını araştırın.

4. Eski yedekleri kontrol edin

Sunucularda disk alanının hızla dolmasının yaygın nedenlerinden biri eski yedeklerdir.

Örneğin:

/root/backups

veya projenize özel bir backup klasörü zaman içerisinde onlarca GB büyüyebilir.

Boyutu kontrol etmek için:

du -sh /root/backups

kullanılabilir.

Altındaki dosyaları:

ls -lh /root/backups

ile inceleyebilirsiniz.

Eski yedekleri silmeden önce:

- Güncel ve çalışan bir yedek bulunduğundan
- Yedeğin bozuk olmadığından
- Mümkünse sunucu dışında da kopyasının bulunduğundan

emin olun.

5. Paket yöneticisinin cache dosyalarını temizleyin

Debian ve Ubuntu tabanlı sistemlerde indirilen paket dosyaları cache içerisinde tutulabilir.

Temizlemek için:

sudo apt clean

kullanılabilir.

Artık ihtiyaç duyulmayan bağımlılıkları görmek ve kaldırmak için:

sudo apt autoremove

kullanılabilir.

Komutun kaldıracağı paket listesini onaylamadan önce mutlaka kontrol edin.

Özellikle üretim sunucusunda ne olduğunu bilmediğiniz paketleri düşünmeden kaldırmayın.

6. Sistem loglarını kontrol edin

Log dizininin toplam boyutunu:

du -sh /var/log

ile kontrol edebilirsiniz.

Alt dizinleri görmek için:

du -h --max-depth=1 /var/log | sort -hr

kullanılabilir.

Ancak:

rm -rf /var/log/*

gibi toplu ve kontrolsüz komutlar kullanılmamalıdır.

Log dosyaları sorun tespiti ve güvenlik incelemeleri açısından önemlidir.

Ayrıca bazı servislerin aktif log dosyalarını doğrudan silmek beklenmeyen davranışlara neden olabilir.

7. systemd journal ne kadar alan kullanıyor?

systemd journal kullanılan sistemlerde:

journalctl --disk-usage

komutu mevcut journal kayıtlarının disk kullanımını gösterebilir.

Eski kayıtların saklama politikası ihtiyacınıza göre sınırlandırılabilir.

Örneğin:

sudo journalctl --vacuum-time=7d

belirli koşullarda yedi günden eski arşivlenmiş journal kayıtlarının temizlenmesi için kullanılabilir.

Boyuta göre sınırlandırma için de --vacuum-size seçeneği bulunur.

Ancak log saklama süresini belirlerken hata ayıklama ve güvenlik ihtiyaçlarınızı dikkate alın.

8. PM2 loglarını kontrol edin

Node.js uygulamalarında PM2 logları zaman içerisinde ciddi alan kullanabilir.

Kontrol etmek için:

du -sh ~/.pm2/logs

kullanabilirsiniz.

PM2 loglarını boşaltmak için:

pm2 flush

komutu kullanılabilir.

Bu işlem mevcut PM2 log içeriklerini temizler.

Ancak önce loglarda araştırılması gereken bir hata olup olmadığını kontrol etmek daha güvenlidir.

Uygulamanız sürekli hata üretiyorsa yalnızca logları temizlemek geçici çözüm olur. Logların tekrar hızla büyümesinin asıl nedeni düzeltilmelidir.

9. PM2 loglarının tekrar büyümesi nasıl önlenir?

Üretim sunucusunda log rotation kullanmak önemlidir.

PM2 ekosisteminde log rotation çözümleri kullanılarak:

- Maksimum log boyutu
- Saklanacak dosya sayısı
- Rotasyon aralığı

kontrol altında tutulabilir.

Böylece tek bir log dosyasının aylar boyunca sınırsız büyümesi engellenebilir.

10. Nginx loglarını kontrol edin

Nginx logları çoğunlukla:

/var/log/nginx

altında bulunur.

Boyutlarını:

du -sh /var/log/nginx

ve:

ls -lh /var/log/nginx

ile kontrol edebilirsiniz.

Özellikle yoğun trafik veya sürekli hata üreten bir sistemde:

access.log

ve:

error.log

hızla büyüyebilir.

Linux sistemlerinde Nginx logları genellikle logrotate ile yönetilir. Rotasyon düzgün çalışmıyorsa önce bunun nedeni araştırılmalıdır.

Aktif log dosyalarını rastgele silmek yerine log rotation kullanmak daha güvenli bir yaklaşımdır.

11. Uygulama loglarını unutmayın

Kendi Node.js, Python, PHP veya başka uygulamanız ayrıca dosyaya log yazıyor olabilir.

Örneğin proje içerisinde:

logs/

klasörü bulunabilir.

Kontrol etmek için proje dizininde:

du -h --max-depth=1 . | sort -hr

kullanabilirsiniz.

Uygulama her istek veya hata için sürekli log oluşturuyorsa dosyalar kısa sürede büyüyebilir.

12. Geçici dosyaları kontrol edin

Linux sistemlerinde /tmp altında geçici dosyalar bulunabilir.

Ancak:

rm -rf /tmp/*

gibi kontrolsüz bir komut üretim sunucusunda kullanılmamalıdır.

Çalışan uygulamalar geçici dosyalara ihtiyaç duyabilir.

Önce hangi dosyaların eski ve hangi uygulamaya ait olduğunu belirleyin.

Sistemin kendi geçici dosya temizleme mekanizmalarını kullanmak daha güvenlidir.

13. Docker kullanıyorsanız alan kullanımını kontrol edin

Docker bulunan sunucularda:

docker system df

komutu:

- Images
- Containers
- Local volumes
- Build cache

tarafından kullanılan alanı gösterebilir.

Zaman içerisinde kullanılmayan image ve build cache birikebilir.

Ancak özellikle Docker temizleme komutları dikkatli kullanılmalıdır.

Bir volume içerisinde veritabanı veya başka kalıcı veriler bulunabilir.

Volume'ları ne olduğunu bilmeden silmeyin.

Disk temizlemek uğruna kalıcı uygulama verilerinin silinmesi çok daha büyük probleme neden olabilir.

14. Veritabanı dosyalarını manuel silmeyin

PostgreSQL, MySQL veya benzeri veritabanlarının veri dizinlerinde büyük dosyalar görebilirsiniz.

Bunları:

rm

komutuyla doğrudan silmek ciddi veri kaybına yol açabilir.

Veritabanı çok alan kullanıyorsa:

- Büyük tablolar
- Eski kayıtlar
- İndeksler
- WAL veya ilgili log mekanizmaları
- Dump dosyaları
- Veritabanı logları

uygun veritabanı araçlarıyla araştırılmalıdır.

Veritabanının kendi yönettiği dosyaları işletim sistemi üzerinden rastgele silmeyin.

15. Kullanıcı yüklemelerini kontrol edin

Forum, sosyal platform veya dosya yükleme özelliği bulunan sitelerde:

- Profil fotoğrafları
- Ekran görüntüleri
- Mesaj görselleri
- Konu görselleri
- Eski dosyalar

zaman içerisinde büyük alan kullanabilir.

Upload klasörünün boyutunu:

du -sh /proje/uploads

ile kontrol edebilirsiniz.

Ancak veritabanında hâlâ kullanılan bir dosyayı silerseniz sitedeki görseller kırılabilir.

Bu nedenle kullanılmayan dosyaları belirleyen kontrollü bir temizleme sistemi tercih edilmelidir.

16. Silinen dosya neden disk alanını boşaltmıyor?

Linux'ta bir dosyayı silmiş olmanıza rağmen çalışan bir process dosyayı açık tutuyorsa disk alanı hemen geri gelmeyebilir.

Bunu kontrol etmek için uygun yetkilerle:

lsof +L1

kullanılabilir.

Burada büyük silinmiş dosyalar görüyorsanız hangi process'in dosyayı tuttuğunu belirleyin.

Servisi ne olduğunu anlamadan öldürmek yerine kontrollü şekilde yeniden başlatmak veya uygun servis prosedürünü uygulamak gerekir.

17. Inode doluluğunu kontrol edin

Bazen GB olarak yeterli alan bulunmasına rağmen sunucu yeni dosya oluşturamaz.

Bunun nedeni inode'ların tükenmesi olabilir.

Kontrol etmek için:

df -i

kullanabilirsiniz.

Çok fazla:

- Küçük cache dosyası
- Session dosyası
- Geçici dosya
- Thumbnail
- Log parçası

inode kullanımını artırabilir.

Bu durumda büyük dosya aramak yerine çok fazla küçük dosya oluşturan sistemi tespit etmek gerekir.

18. Disk temizledikten sonra tekrar kontrol edin

Temizlik işlemi sonrasında:

df -h

komutunu tekrar çalıştırın.

Ardından:

df -i

ile inode durumunu kontrol edebilirsiniz.

Beklediğiniz alan açılmadıysa:

lsof +L1

ile silinmiş fakat açık tutulan dosyaları araştırabilirsiniz.

Disk alanı neden tekrar doluyor?

Temizlikten birkaç gün sonra disk tekrar doluyorsa yalnızca sonucu temizliyorsunuz demektir.

Asıl nedeni bulun.

Örneğin:

- PM2 sürekli hata logu yazıyor olabilir.
- Nginx error.log hızla büyüyor olabilir.
- Her gün yeni backup oluşturuluyor olabilir.
- Kullanıcı yüklemeleri kontrolsüz büyüyor olabilir.
- Docker image'ları birikiyor olabilir.
- Uygulama geçici dosyaları temizlemiyor olabilir.

Kalıcı çözüm, büyümenin kaynağını kontrol altına almaktır.

Linux disk temizliği için güvenli sıra

Sunucuda yer açmanız gerekiyorsa şu sırayı kullanabilirsiniz:

1. df -h ile doluluk oranını kontrol edin.
2. du ile büyük klasörleri bulun.
3. find ile büyük dosyaları araştırın.
4. Eski yedekleri kontrol edin.
5. Paket cache'lerini değerlendirin.
6. Sistem ve uygulama loglarını inceleyin.
7. PM2 ve Nginx loglarını kontrol edin.
8. Docker kullanılıyorsa Docker alanını inceleyin.
9. Upload klasörlerini kontrol edin.
10. Veritabanı dosyalarını manuel olarak silmeyin.
11. df -i ile inode kullanımını kontrol edin.
12. Temizlikten sonra df -h ile sonucu doğrulayın.

Kesinlikle dikkat edilmesi gereken komutlar

Disk alanı açmaya çalışırken internetten bulunan:

rm -rf ...

komutlarını ne yaptığını anlamadan çalıştırmayın.

Özellikle root kullanıcısıyla yapılan yanlış bir silme işlemi geri alınamayabilir.

Üretim sunucusunda önemli bir dosyayı silmeden önce güncel ve doğrulanmış yedek bulunması büyük önem taşır.

Özetle, Linux sunucuda disk alanı boşaltmanın en güvenli yolu rastgele dosya silmek değil, alanı tüketen kaynağı tespit etmektir. Eski yedekler, kontrolsüz büyüyen loglar, cache dosyaları ve kullanılmayan uygulama verileri sık karşılaşılan nedenlerdir.

Temizlik yaptıktan sonra asıl büyüme nedenini de çözerseniz sunucunun birkaç gün sonra yeniden tamamen dolmasını önleyebilirsiniz.