2
วิธีลบโฟลเดอร์ที่มีขนาดใหญ่อย่างไม่น่าเชื่อใน Linux
เรามีโฟลเดอร์แคชซึ่งมีขนาดใหญ่พอที่จะทำลายเซิร์ฟเวอร์โดยไม่ได้ตั้งใจ เรามี RAM 8 GB บนเซิร์ฟเวอร์และเมื่อฉันใช้งานง่าย rm คำสั่งเพื่อลบไฟล์ทั้งหมดที่อยู่ในนั้นใช้ RAM ทั้งหมดและยังคงไม่ลบหลังจาก 5 ชั่วโมง ดังนั้นเราจึงพยายามใช้ find แต่มันก็ล้มเหลวเช่นกันหลังจากผ่านไป 12 ชั่วโมง ขณะนี้จาก 24 ชั่วโมงล่าสุด find กับ perl คำสั่งกำลังทำงานและโฟลเดอร์ยังไม่ถูกลบอันที่จริงไม่ใช่ไฟล์เดียวที่ถูกลบ เมื่อเรา ls โฟลเดอร์หลักจะแสดงขนาดโฟลเดอร์โดยรอบ 1GBฉันแค่สงสัยว่ามีกี่ล้านไฟล์มี ดังนั้นคำถามของฉันมีวิธีใดบ้างที่เราสามารถลบไฟล์โดยไม่แสดงรายการดังนั้นเพียงแค่ลบโฟลเดอร์หรือไฟล์ภายในโดยไม่ทำรายการ (aka ไม่โทร getdir() เช่นการเรียกระบบ) ฉันกำลังพิจารณาที่จะฟอร์แมตเซิร์ฟเวอร์เพื่อกำจัดมันในตอนนี้ แก้ไข: ฉันได้ใช้ find กับ -delete และด้วย -exec rm -f {} EDIT2: ขึ้นอยู่กับ บทความนี้ เรากำลังเรียกใช้คำสั่ง perl ในขณะนี้ …