คุณพูดถูกแล้ว -mtime 365
จะเป็นไฟล์ทั้งหมดที่มีอายุ 365 วัน คุณต้องการคนที่มี 365 วันเก่าหรือมากขึ้นซึ่งหมายถึงการเพิ่มก่อนจำนวนเช่นนี้+
-mtime +365
นอกจากนี้คุณยังอาจสนใจการ-maxdepth 1
ตั้งค่าสถานะซึ่งป้องกันไม่ให้คุณย้ายรายการในไดเรกทอรีย่อย
หากคุณต้องการให้แน่ใจว่าคุณเป็นเพียงการย้ายไฟล์ไม่ใช่ไดเรกทอรีให้เพิ่ม-type f
ในบรรทัด
ในตอนท้ายของบรรทัดที่เราเพิ่ม\;
เพื่อให้find
รู้ว่าเป็นจุดสิ้นสุดของคำสั่งที่เรากำลังดำเนินการ
ดังนั้นบรรทัดควรเป็น:
find /sourcedirectory -maxdepth 1 -mtime +365 -type f -exec mv "{}" /destination/directory/ \;
หากต้องการอยู่อย่างปลอดภัยให้เริ่มต้นด้วยการทำ ls -l แทนที่จะเป็น mv วิธีที่คุณสามารถตรวจสอบล่วงหน้าว่าคุณได้รับไฟล์ที่คุณต้องการอย่างแท้จริงก่อนที่จะรันด้วย mv เช่นนี้:
find /sourcedirectory -maxdepth 1 -mtime +365 -type f -exec ls -l {} \;
mtime
เป็นเวลาแก้ไข (ซึ่งฟังดูเหมือนสิ่งที่คุณต้องการ - ส่วนใหญ่เป็นเวลา) หากมีการอ่าน / อ้างอิงบันทึกเหล่านี้บ่อยครั้งคุณอาจต้องการใช้-atime
(เวลาเข้าถึงล่าสุด)