Sunucudaki alanı "tüketen" dosyalar nasıl bulunur ve silinir
Sunucunuzda alan mı kalmadı? Bu, sitenin ve veritabanının arızalanmasına neden olabilir. Alanı boşaltmak için en çok yer kaplayan dosyaları belirleyip silmeniz gerekir. Bu makalede, ncdu yardımcı programını kullanarak bunu nasıl kolayca başaracağınızı ve günlükleri nasıl güvenle temizleyeceğinizi açıklayacağız.
Adım 1: Ncdu'yu kurma ve çalıştırma
ncdu disk alanı analizi için kullanışlı bir araçtır. Kullanımı kolay bir metin arayüzünde tüm klasörleri ve dosyaları boyuta göre sıralanmış olarak görüntüler.
Bu programı kullanmak için SSH üzerinden sunucunuza bağlanmanız gerekecektir.
Kurulum
- Debian/Ubuntu:
sudo apt update && sudo apt install ncdu
- CentOS/AlmaLinux/Rocky Linux:
sudo yum install ncdu
Disk analizi çalıştırma
- Kök dizinini / taramak için şunu çalıştırın:
sudo ncdu -x /
ncdu'daki -x seçeneği, taramayı tek bir dosya sistemine sınırlar, takılı sanal dizinleri (ör. /proc, /dev, /sys) ve ayrı bağlama noktaları aracılığıyla takılan diğer tüm birimleri (ör. ağ veya harici sürücüler) hariç tutar.
- Belirli bir dizini analiz etmek için:
sudo ncdu /path/to/directory
Örneğin, yalnızca günlükler dizinini taramak için şunu çalıştırın:
sudo ncdu /var/log
Adım 2: Gereksiz dosyaları analiz etme ve silme
ncdu'yu çalıştırdıktan sonra, boyuta göre sıralanmış bir dosya ve klasör listesi göreceksiniz. Navigasyon basittir:
- Yukarı/Aşağı ok tuşları — listede gezinir.
- Enter — bir dizine girer.
- D — seçilen dosyayı veya klasörü siler.

Sistem dosyalarını silerken dikkatli olun. Yalnızca emin olduğunuz dosyaları silin.
Linux'ta dosyalar silindiğinde kalıcı olarak kaldırılır! Kurtarma yalnızca yedeklemeler yoluyla ve yalnızca mevcutsa mümkündür.
Çok fazla yer kaplayan dosya ve dizinlerin bir listesini oluşturmak (ncdu'da satırları vurgulayın ve yerel PC'nizdeki bir not defterine kopyalayın), ardından her birini tek tek gözden geçirip komut satırını kullanarak silmek daha güvenlidir.
Bir dosyayı silmek için şunu çalıştırın:
sudo rm -f /path/to/file
Bir dizini silmek için:
sudo rm -rf /path/to/directory
Çok yer kaplama eğiliminde olan başlıca dizinlerin bir listesi burada:
/var/www/- sitelerinizin bulunduğu dizin
Genellikle en büyük dizinler, sırasıyla kullanıcı tarafından yüklenen dosyaları ve site önbelleğini içeren web sitesinin kök dizinindeki yükleme ve önbellektir. Örneğin:
/var/www/user/data/www/yoursite.com/upload/
Bu dizinlerdeki dosyaları silmek nispeten güvenlidir. Ancak, yükleme dizinindeki hangi dosyaların önemli olduğunu ve hangilerinin artık gereksiz olduğunu yalnızca web sitenizin yöneticisi olarak siz bilirsiniz. Hataları önlemek için dizinin kendisini olduğu gibi bırakmanız önerilir.
/var/lib/mysql/
Bu, web sitenizin veritabanlarını içeren dizindir.
Lütfen bu dizinden hiçbir şeyi silmeyin!
Eğer olağandan fazla yer kaplıyorsa, sorunun daha derinlemesine analizi için barındırma sağlayıcınızla iletişime geçin.
/var/log/
Bu dizin, sunucunuzda çalışan yazılımlar tarafından oluşturulan günlükleri depolar. Günlüklerin belirli özellikleri vardır ve bunların temizliği ayrı bir makalede ele alınmaktadır.
Adım 3: Sonlandırma ve doğrulama
Gereksiz dosyaları sildikten sonra, komutu kullanarak ne kadar alanın boşaltıldığını kontrol edin:
df -h