Yanlışlıkla sunucuyu kırabilecek kadar genişleyen bir önbellek klasörümüz var. Sunucuda 8 GB RAM var ve rmiç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, findancak 12 saat çalıştıktan sonra da başarısız oluyor. Şimdi son 24 saatten itibaren bir findwith perlifadesi ç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 findile -deleteve 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 ...