bash: Как я могу использовать find для проверки файла резервной копии и удаления (если он существует)?

У меня есть локальная резервная папка /backup/, в которой есть удаленная синхронизированная копия, смонтированная локально как /mnt/offsite/backup/. Мой локальный резервный диск заполняется, поэтому я хотел бы удалить файлы старше 365 дней, но сначала проверьте, существует ли этот файл за пределами сайта, и запишите в файл имена файлов, которые были удалены (чтобы исключить из rsync).

Я приблизился к этому:

cd /mnt/offsite/backup && find . -type f -mtime +365 -exec rm /backup/{} \; | >> file.lst

Однако перенаправление не работает. Я пробовал размещать >> в разных местах и ​​не могу заставить его работать с exec там. Я также пытался использовать xargs rm и могу заставить работать перенаправление, но не могу заставить xargs удалить со второго пути:

cd /mnt/offsite/backup && find . -type f -mtime +365 >> file.lst | xargs rm /backup/

Каков наилучший подход?


person kiwisan    schedule 04.08.2013    source источник


Ответы (1)


Надеюсь это поможет

find /mnt/offsite/backup -type f -mtime +365 -exec rm {} \; -print >> file.lst
person clement    schedule 04.08.2013