ฉันจะลบไฟล์ทั้งหมดในโฟลเดอร์ที่ไม่ได้เข้าถึงในระยะเวลาหนึ่งได้อย่างไร


14

ฉันต้องการเรียกใช้งาน cron ทุกคืนที่ลบไฟล์ทั้งหมดในโฟลเดอร์ที่ไม่ได้เข้าถึงในหนึ่งสัปดาห์ขึ้นไป วิธีที่มีประสิทธิภาพมากที่สุดในการทำเช่นนี้ในทุบตีคืออะไร?


2
findสามารถกรองตาม atime "ความถูกต้อง" ของ atime ขึ้นอยู่กับการกำหนดค่า (ดูnoatime) อย่างน้อยที่สุด

คำตอบ:


20

คุณต้องการเครื่องมือfind

find folder -depth -type f -atime +7 -delete

(ซึ่งจะลบไฟล์ทั้งหมด ( เพียงคนปกติท่อไม่มีอุปกรณ์พิเศษไดเรกทอรีการเชื่อมโยงสัญลักษณ์) ในโฟลเดอร์ที่กำหนดและไดเรกทอรีย่อยทั้งหมด (ซ้ำ) ที่ผ่านมาเวลาในการเข้าถึงเป็นเวลานานกว่า 7 วันที่ผ่านมา.)


6
คุณอาจต้องการเพิ่ม-type fในนั้นเพื่อให้แน่ใจว่าจะลบไฟล์เท่านั้นไม่ใช่ไดเรกทอรีทั้งหมด
Shadur

3

คุณอาจต้องการตรวจสอบtmpwatchซึ่งสามารถใส่ลงในงาน cron findไม่จำเป็นต้องม้วนของคุณเองด้วย ใน RHEL มันอยู่ในtmpwatchRPM


นี้แน่นอนทางออกที่สง่างามมากขึ้น findแต่ฉันชอบพกพาของ
bloudermilk
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.