Yanlışlıkla sunucuyu kırabilecek kadar genişleyen bir önbellek klasörümüz var. Sunucuda 8 GB RAM var ve rm
içindeki tüm dosyaları silmek için basit bir komut çalıştırdığımda , RAM'in tamamını tüketiyorum ve 5 saat sonra hala silmiyorum.
Bu yüzden kullanmaya çalışıyoruz, find
ancak 12 saat çalıştıktan sonra da başarısız oluyor. Şimdi son 24 saatten itibaren bir find
with perl
ifadesi çalışıyor ve klasör hala silinmiyor aslında tek bir dosya silinmiyor.
Biz ne zaman ls
üst klasör, bu klasör boyutu etrafında gösterir 1GB
, sadece dosyalar kaç milyon olduğunu merak ediyorum.
Öyleyse benim sorum, dosyaları listelemeden silebilmemizin bir yolu var mı, bu yüzden sadece bir liste yapmadan içindeki klasörü veya dosyaları siler (aka getdir()
sistem çağrıları gibi arama yapma)
Gerçekten şimdi ondan kurtulmak için sunucuyu biçimlendirmeyi düşünüyorum.
DÜZENLE:
Ben kullandım find
ile -delete
ve ile-exec rm -f {}
EDIT2:
Bu makaleye dayanarak şu anda perl komutunu çalıştırıyoruz (bu komutun halen çalıştığı yaklaşık 24+ saattir), ancak bize görülebilen klasör boyutunda hiçbir şey yapılmadı.
nice -n 18
önce (veya her neyse) kullanımdaysa , CPU isteklerini azaltabilirsiniz. Unutmayın ki, yorumlardan birinde,rm -rf directory/
bir klasörde milyarlarca dosya için daha hızlı çalıştığı belirtiliyor ...