bash:如何使用find检查备份文件并删除(如果存在)?

时间:2013-08-04 16:35:27

标签: bash find xargs rm

我有一个现场备份文件夹/ backup /,其本地安装的本地rsynced副本为/ 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/

最好的方法是什么?

1 个答案:

答案 0 :(得分:1)

希望这有帮助

find /mnt/offsite/backup -type f -mtime +365 -exec rm {} \; -print >> file.lst
相关问题