背景
2018-06-10日,学习python时候脑残删除eclipse项目时勾选了删除磁盘内容选项,导致之前加入到同一项目标签中的python代码全部被删除,虽然使用硬盘恢复工具尝试恢复,但是还丢失了部分数据,经过此次事件凸显备份的重要性,特意搜索使用SyncToy +taskschd.msc定时任务完成windows环境下本地定时备份,暂定备份周期为一天一备份,防止重要数据丢失。
主要参考:
https://zpblog.cn/windows/synctoy.html
https://blog.youkuaiyun.com/baronlee/article/details/80077316
https://jingyan.baidu.com/article/e2284b2b72bffce2e6118d2c.html
https://wenku.baidu.com/view/b8dd4c092f60ddccda38a0b3.html
主要步骤:
下载并安装SyncToy
SyncToy是一个免费的、易于使用的工具。高度的自定义功能可以帮助用户从繁重的拷贝、移动及同步不同目录的工作中解脱出来,仅仅单击几次鼠标就能搞定更多的操作,也会有额外的自定义功能而不会增加复杂度。
首先下载并安装软件:http://www.microsoft.com/en-us/download/details.aspx?id=15155
简要截图(摘自参考网页2)
安装完成后运行SyncToy界面如图 。
使用SyncToy
安装完成SyncToy后,设置两个需要同步的文件夹位置。
文件夹的位置分为三种情况
1) 本地电脑文件夹之间的同步
2) 本地电脑文件夹和另个IP的电脑之间同步
3) 两个不同IP的电脑之间同步
点击主界面下方的“Create NewFolder Pair”按钮创建一对新的操作目录,程序弹出如图 二的窗口。点击“Left Folder”下的“Browse”按钮,选择左目录的路径。、选择好后点击 “Next”进入第二步设置。
在此界面,添加同步资料夹目录。
如果是本地文件夹则点击Browse选择本地文件夹
如果是同步到另一台电脑则添加另一台电脑的共享文件夹目录 \\X.X.X.X//
点击“Next”进入选择同步模式界面。ScncToy一共提供了五种的3同步操作,它们分别是“Synchronize”、“Echo”、 “Subscribe”、“Contribute”、“Combine”,把鼠标移动到它们上面会有相应的提示说明。在此,简单对这五种模式做一简单描 述:
“Synchronize”:新文件和更改过的文件在左右目录中将互相复制,同时,若两个目录中有同样的文件,在其中一个目录有重命名或者删除的,在另一个目录中也将执行同样操作。
“Echo”:左目录中的新文件和更改过的文件将复制到右目录中;同时,若两个目录中有同样的文件,在左目录中有重命名或者删除的,在右目录中也将执行同样操作。
“Subscribe”:右目录中更新过的文件将复制到左目录,如果左目录中存在同样的文件,在右目录中有重命名或者删除的,在左目录中也将执行同样操作。
“Contribute”:和Echo的操作类似,但是不执行删除操作。
“Combine”:新文件和更改过的文件在左右目录中将互相复制,但是不执行重命名和删除的对比操作。
完成同步模式设置后,点击“Next”进入最后一个步骤——命名
命名是为方便下次一键同步文件夹,要给刚刚的设置保存一个名称。每次点击名称便是进行同步的操作。
设置好后,点击“Finish”即完成所有的基本配置,完成界面如图 六。
点击“Preview”,预览SyncToy将进行的操作,在模拟运行完成后,我们将看到运行结果。红色显示的为两台服务都存在该文件;其他操作也都有详细的描述,例如删除、重命名等。我们也可以直接点击“Run”运行此方案。方案运行中将全部自动完成,无需人工操作值守,对于大文件夹、双机之间的同步十分方便。同步完成后,SyncToy会给出一份运行结果,其中标明了删除、覆盖、重命名等操作的结果。
使用Windows 计划任务配合同步工作:
配置好SyncToy以后,因该工具不能设置自动运行时间,所以需要结合Windows计划任务配合,自动完成同步工作。
1. 打开计划任务配置控制面板->大图标->管理工具->任务计划程序(或win+cmd输入taskschd.msc启动定时任务设置窗口)
2. 创建基本任务,输入定时任务名称和简要概述 :
C:\Program Files\SyncToy 2.1>SyncToyCmd.exe
Usage: SyncToyCmd [-args]
-R Run all folder pairs that are marked as Active for Run All.
-R <name> Run the named folder pair (only one folder pair can be specified).
-? Display this help.
Examples:
SyncToyCmd -R MyFolderPair
SyncToyCmd -R