ลบไฟล์ที่เก่ากว่าวันที่แน่นอน
คุณเคยต้องล้างไฟล์เก่าออกจากโฟลเดอร์หรือไม่? สิ่งนี้มีประโยชน์โดยเฉพาะอย่างยิ่งเมื่อคุณพยายามที่จะป้องกันไม่ให้สมุดบันทึกล็อกไฟล์มากเกินไปและ Linux ทำให้ง่ายต่อการล้างขยะ.
เราจะใช้คำสั่ง find เพื่อค้นหาไฟล์ทั้งหมดที่เก่ากว่าวันที่กำหนดจากนั้นใช้คำสั่ง -exec เพื่อลบไฟล์ คุณสามารถใช้คำสั่ง -delete แทน แต่คุณจะได้ข้อโต้แย้งสูงสุดเมื่อมีไฟล์มากเกินไป.
ค้นหาไวยากรณ์คำสั่ง
find / path / to / files * -mtime +5 -exec rm ;
โปรดทราบว่ามีช่องว่างระหว่าง rm, และ;
คำอธิบายสำหรับคำสั่ง
- อาร์กิวเมนต์แรกคือเส้นทางไปยังไฟล์ นี่อาจเป็นเส้นทางไดเรกทอรีหรือสัญลักษณ์แทนในตัวอย่างด้านบน ฉันขอแนะนำให้ใช้เส้นทางแบบเต็มและตรวจสอบให้แน่ใจว่าคุณเรียกใช้คำสั่งโดยไม่มี exec rm เพื่อให้แน่ใจว่าคุณได้รับผลลัพธ์ที่ถูกต้อง.
- อาร์กิวเมนต์ที่สองคือ -mtime ใช้เพื่อระบุจำนวนวันที่ไฟล์นั้นเป็น หากคุณป้อน +5 จะพบไฟล์ที่เก่ากว่า 5 วัน.
- อาร์กิวเมนต์ที่สาม -exec อนุญาตให้คุณส่งผ่านคำสั่งเช่น rm The ; ในตอนท้ายจะต้องจบคำสั่ง.
มันใช้งานได้ดีกับการกระจายแบบ 'nix ใด ๆ.