Я пытаюсь найти файлы, которые были созданы / изменены 30 дней назад, и заархивировал их.Для этого я использую команду Unix Find.Я могу выполнить требование с помощью командной строки ниже.
find . -type f -mtime +30 -exec basename {} \; | xargs -I file_name echo mv /home/Cyrup/chip/arc_poc/file_name /home/Cyrup/chip/arc_poc/arc/file_name_$(date +%Y%m%d) | ksh
Однако я хотел бы выполнить эту задачу, просто используя команду поиска, которую я не могу выполнить.Я попытался использовать ниже:
find . -type f -mtime +30 -exec mv {} /home/Cyrup/chip/arc_poc/arc/{}_`date +%Y%m%d` \;
Но это не работает.Здесь if {} выступает в качестве заполнителя для всех файлов, которые определены командой find.Тогда я что-то не так делаю при перемещении файлов в архив Dir, переименовав его с датой? ..
Также -mtime - время изменения файла.Есть ли способ, которым мы можем найти файлы на основе времени создания файла.Насколько я знаю, у нас нет никакой опции с командой find.
Спасибо