我制定了一个 NAS 项目来替换一个老化的共享外部磁盘驱动器,在停用旧的共享磁盘驱动器之前,我想验证我是否已将所有重要数据复制到新的 NAS。通常这不是问题,但自从创建新共享并最初复制数据以来,我一直在使用 NAS。
这种用途包括添加原始共享外部硬盘上没有的新文件、重新组织数据结构以使其更干净、正确标记或存储(新目录、可能不同的文件名和权限)以及从原始副本中删除不需要的数据。
是否有一种简单的方法来验证原始共享中的文件是否存在于新共享中(即使具有不同的目录、名称或权限)并生成不存在的文件列表,同时忽略新共享上的新文件?
我认为这不是一个单命令的工作,我必须编写某种脚本来递归比较文件的校验和。我想在着手解决这个问题之前先把它抛给社区,因为我可能不是第一个遇到这个或类似问题的人。
还要注意的是,虽然两个系统运行的不是相同的操作系统,但它们都能够运行 BASH 脚本,并且它们之间共享大多数标准命令,或者如果您喜欢的话,甚至可以运行 python。(OS X 11.10 w/macports & homebrew vs Armbian)
答案1
所以。在尝试编写一个脚本并取得了不同的效果(奇怪的文件名会使其出错,而且很难在 BASH 中清理它们)之后,我最终找到了一个名为校验和比较这正是我想要做的。