And*_*ely 6 windows backup robocopy batch-file mercurial
问题
我们想将多个网络共享中的关键文件备份到可移动硬盘驱动器。我们希望自动备份,因此我们不必记住运行它。它需要在一夜之间完成。此外,我们希望能够保留每个文件的多个版本,以便我们可以更轻松地解决用户的错误。
背景资料
我在一家基于 Windows 的大型企业工作,有一个集中的 IT 部门负责所有备份。他们的备份面向灾难恢复而不是用户错误,并且需要上级管理人员批准任何非灾难恢复。有几次我们注意到我们的备份失败了,我们没有收到通知。我没有服务器或桌面的管理权限。我们正在尝试备份大约 240 GB 的大约 198,000 个文件。这些文件很少更改。我们的备份驱动器是 1 TB。
我建议的解决方案
我想要做的是使用带有 /mir 选项的Robocopy和Mercurial SCM编写一个批处理文件来存储文件的所有版本。我会在每次执行 Robocopy 之前先执行 hg add 和 hg commit,以保存当前状态,然后制作文件结构的镜像副本。问题是 /mir 将删除源中不存在的每个文件夹,而 Mercurial 将存储库存储在目标文件夹中的 .hg 文件夹中。
有谁知道我如何说服 Mercurial 将 .hg 文件夹存储在其他地方,或者说服 Robocopy 不要从目的地删除它?
我试图避免编写自定义程序来进行复制。
要在忽略某些文件扩展名的情况下执行镜像,请尝试以下操作:
robocopy c:\temp\source c:\temp\dest /e /purge /xf *.hg
Run Code Online (Sandbox Code Playgroud)
我在这里测试了一下,它似乎将 .hg 文件单独保留在目的地上
我还推荐 /z 标志(大文件可重新启动),并且过去在处理具有不同时间粒度的服务器时不得不求助于 /fft 标志: http: //www.readynas.com/forum/viewtopic.php ?t=3573
编辑:...我上面的示例假设名为 *.hg 的文件...执行相同操作并忽略名为 *.hg 的目录,请使用以下命令:
robocopy c:\temp\source c:\temp\dest /e /z /purge /xd *.hg
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1083 次 |
| 最近记录: |