确定删除 rsync --link-dest 目录时将被删除的文件?

确定删除 rsync --link-dest 目录时将被删除的文件?

我在我的 NAS(运行 BusyBox v1.16.1)上设置了一个 Time Machine 风格的备份系统,使用rsync --link-dest如下所述:http://blog.interlinked.org/tutorials/rsync_time_machine.html

有没有一种简单的方法可以找出如果我删除旧备份目录,哪些文件将被删除,哪些文件将被取消链接?我假设一种方法是找出旧目录中哪些 inode 只有一个链接,但我不知道如何做到这一点。rm --dry-run有人知道吗?

加分点:找到一种方法来执行上述操作,并计算删除旧备份后释放的总磁盘空间。

答案1

一个简单的方法就是使用寻找带有-links选项。

具体来说,您可能想要做类似的事情find path -type f -links 1

我还没有测试过,但我相信这样的命令会删除所有多重链接文件。

# you might not need to escape the !, depends on your shell
# should find all the files that do NOT have a link count of 1 and delete them
find path -type f \! links 1 -print -delete 

相关内容