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