![比较目录](https://linux22.com/image/1467715/%E6%AF%94%E8%BE%83%E7%9B%AE%E5%BD%95.png)
在某个时候,当软件升级时,我接手的前支持人员将目录复制到新服务器进行升级。我们显然保留了旧服务器,现在正考虑将其停用。
最终用户担心彻底删除旧服务器上的数据,因为担心新服务器没有直接副本。由于之前的支持人员不在,而且我们需要 100% 确保所有内容都已保留,为了符合法律规定,我必须决定如何做。
有几个问题:
1) 自从新服务器上线以来,就已经将新文件放入其中。
2) 新服务器上的文件可能已移至与旧服务器上原来所在的子目录不同的子目录中。这可能会或可能不会导致时间戳更新。
我最关心的是获取至少一份存在于“旧”目录中但不存在于新目录中的文件列表。我不一定关心新服务器上存在的文件是否不存在于旧服务器上。
是否有工具可以做到这一点?
答案1
RoboCopy(内置于 Windows)是您的好朋友。
robocopy [path to old server directory] [path to new server directory] /mir /l
/mir
表示要将旧服务器的目录镜像到新服务器的目录中
/l
仅列出要复制的文件,而不实际复制它们
如果文件和目录的数量很大,您可能希望将输出记录到文件中以便于查看。
/log:C:\logfile.txt
Robocopy 会将旧服务器上但新服务器上没有的文件或目录报告为新文件或新目录。新服务器上但不在旧服务器上的文件将被报告为额外文件。
与往常一样,您可以竞选robocopy /?
其他选项。