/ / ลบไฟล์ที่เก่ากว่าวันที่แน่นอน

ลบไฟล์ที่เก่ากว่าวันที่แน่นอน

คุณเคยต้องล้างไฟล์เก่าบ้างไหมออกจากโฟลเดอร์หรือไม่? สิ่งนี้มีประโยชน์โดยเฉพาะอย่างยิ่งเมื่อคุณพยายามป้องกันไม่ให้สมุดบันทึกล็อกไฟล์มากเกินไปและ Linux ทำให้ง่ายต่อการล้างขยะ

เราจะใช้คำสั่ง find เพื่อค้นหาทั้งหมดไฟล์ที่เก่ากว่าวันที่กำหนดจากนั้นใช้คำสั่ง –exec เพื่อลบไฟล์ คุณสามารถใช้คำสั่ง –delete แทน แต่คุณจะได้ข้อโต้แย้งสูงสุดเมื่อมีไฟล์มากเกินไป

ค้นหาไวยากรณ์คำสั่ง

find / path / to / files * -mtime +5 -exec rm {};

โปรดทราบว่ามีช่องว่างระหว่าง rm, {} และ;

คำอธิบายสำหรับคำสั่ง

  • อาร์กิวเมนต์แรกคือเส้นทางไปยังไฟล์ นี่อาจเป็นเส้นทางไดเรกทอรีหรือสัญลักษณ์แทนในตัวอย่างด้านบน ฉันขอแนะนำให้ใช้เส้นทางแบบเต็มและตรวจสอบให้แน่ใจว่าคุณเรียกใช้คำสั่งโดยไม่มี exec rm เพื่อให้แน่ใจว่าคุณได้รับผลลัพธ์ที่ถูกต้อง
  • อาร์กิวเมนต์ที่สองคือ -mtime ใช้เพื่อระบุจำนวนวันที่ไฟล์นั้นเป็น หากคุณป้อน +5 มันจะค้นหาไฟล์ที่เก่ากว่า 5 วัน
  • อาร์กิวเมนต์ที่สาม -exec อนุญาตให้คุณส่งผ่านคำสั่งเช่น rm The {}; ในตอนท้ายจะต้องจบคำสั่ง

วิธีนี้ใช้ได้ผลกับการแจกแจงแบบใด ๆ