ฉันต้องการเรียกใช้งาน cron ทุกคืนที่ลบไฟล์ทั้งหมดในโฟลเดอร์ที่ไม่ได้เข้าถึงในหนึ่งสัปดาห์ขึ้นไป วิธีที่มีประสิทธิภาพมากที่สุดในการทำเช่นนี้ในทุบตีคืออะไร?
ฉันต้องการเรียกใช้งาน cron ทุกคืนที่ลบไฟล์ทั้งหมดในโฟลเดอร์ที่ไม่ได้เข้าถึงในหนึ่งสัปดาห์ขึ้นไป วิธีที่มีประสิทธิภาพมากที่สุดในการทำเช่นนี้ในทุบตีคืออะไร?
คำตอบ:
คุณต้องการเครื่องมือfind
find folder -depth -type f -atime +7 -delete
(ซึ่งจะลบไฟล์ทั้งหมด ( เพียงคนปกติท่อไม่มีอุปกรณ์พิเศษไดเรกทอรีการเชื่อมโยงสัญลักษณ์) ในโฟลเดอร์ที่กำหนดและไดเรกทอรีย่อยทั้งหมด (ซ้ำ) ที่ผ่านมาเวลาในการเข้าถึงเป็นเวลานานกว่า 7 วันที่ผ่านมา.)
-type f
ในนั้นเพื่อให้แน่ใจว่าจะลบไฟล์เท่านั้นไม่ใช่ไดเรกทอรีทั้งหมด
คุณอาจต้องการตรวจสอบtmpwatch
ซึ่งสามารถใส่ลงในงาน cron find
ไม่จำเป็นต้องม้วนของคุณเองด้วย ใน RHEL มันอยู่ในtmpwatch
RPM
find
แต่ฉันชอบพกพาของ
find
สามารถกรองตาม atime "ความถูกต้อง" ของ atime ขึ้นอยู่กับการกำหนดค่า (ดูnoatime
) อย่างน้อยที่สุด