-1

Я хочу удалить каталоги и подкаталоги старше 10 дней.

Также я хочу сохранить удаленную папку и имена файлов, информацию о времени в другом файле.

Пока что мой сценарий состоит в удалении каталогов, подкаталогов и файлов, которые старше 10 дней.

find /tmp/processed/* -type d -ctime +10 -exec rm -rf {} \;

Может ли кто-нибудь помочь сохранить детали в другом файле?

Заранее спасибо.

2 ответа2

0

Вам необходимо сохранить детали файлов и папок перед удалением. Например

find /tmp/processed/* -ctime +10 -printf "%p %TY-%Tm-%Td %TH:%TM:%TS %Tz\n" >> ~/DeletedFiles.txt

Посмотрите этот ответ больше вариантов форматирования https://stackoverflow.com/questions/20893022/how-to-display-modified-date-time-with-find-command

0

Вы можете запустить несколько команд одновременно:

find /tmp/processed/* -type d -ctime +10 -print -exec rm -rf {} \;

Вы можете использовать информацию, которую @ Ix07 разместил в своем ответе:

find /tmp/processed/* -type d -ctime +10 -printf "%p %TY-%Tm-%Td %TH:%TM:%TS %TZ\n" -exec rm -rf {} \;

Вы можете перенаправить вывод этого в файл.
Обратите внимание, однако, что это может дать довольно грязный (не выровненный) вывод при просмотре. Поэтому мне нравится использовать команду column в сочетании с вкладками в формате printf для «таблификации» данных:

find /tmp/processed/* -type d -ctime +10 -printf "%p\t%TY-%Tm-%Td\t%TH:%TM:%TS\t%TZ\n" -exec rm -rf {} \; | column -t

Я проверил вывод выше, и это выглядело так для меня:

/tmp/processed $ find * -type d -ctime +10 -printf "%p\t%TY-%Tm-%Td\t%TH:%TM:%TS\t%TZ\n" -exec rm -rf {} \; | column -t
bar  2019-02-07  20:35:15.8718172190  WAT
foo  2019-02-07  20:35:54.5638166540  WAT

Посмотрите на странице человека для find , чтобы узнать больше (TIP: Поиск на странице человека для -printf

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .