Ти майже правий. -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
(останній час доступу).