WinRAR+Resilio Sync备份方案

虽然Resilio Sync本身已经可以实现实时的异地备份,但它还有两个不足。

1、若源文件被破坏,则可能导致异地同步文件夹的文件同样被破坏后的文件覆盖。虽然它有自己的备份机制,但如果这件事情发生的非常隐秘,例如某个不常用的文件被偷偷破坏,那么超过缓存期后再发现,就会有问题。

2、对于经常性、实时性更新的文件,无法有效同步,典型的例如网站的数据库文件。如果同步一个数百兆的数据库文件需要1分钟,那么这1分钟如果有人登录网站又造成了数据库的更新,这时候就发生了冲突,同步将重新开始,这实际上导致了同步不能正常进行。

因此,最佳实践还是结合WinRAR先进行本地的定期备份,再用Resilio同步备份文件夹。

WinRAR定期备份本地文件

1、选定文件,右键“添加到压缩文件”。

2、单击“备份”标签,勾选“按掩码产生压缩文件名”,这样最新的备份就不会覆盖旧的备份。

3、回到“常规”页面,单击“配置”,保存当前配置为新配置,输入配置名。

4、勾选“保存压缩文件名”、“保存选定文件名”,这样确保每次备份的对象、目标地址都相同。注意,这里保存选定文件名支持通配符,这对于备份不确定数量的某个文件夹下的某类文件很有用,典型场景就是网站文件夹。

5、勾选“立即执行”,这样后面加入任务计划后,就可以无需用户再点击“确定”了。

6、勾选“在桌面创建快捷方式”。点击确定后,查看桌面快捷方式的属性,可以看到它运行的是WinRAR程序,后面附加了一个参数,形如“-cpxxxxx”,这个xxxxx就是刚刚设定的配置名称。

6、打开“任务计划程序”,添加任务计划,设定运行周期,操作选择WinRAR程序,同时手动将桌面上的参数复制进去。

7、试运行任务计划,成功。

删除指定时长前的文件

很快想到,如果这样的备份日积月累,文件夹总大小是非常惊人的。势必要定期对一定时间之前的文件进行清理。

这时可以用windows自带的forfiles命令。例如:

forfiles /p F:\Webbak\Data /d -30 /m *.rar /c "cmd /c del /f @path"

它的意思是,对“F:\Webbak\Data”路径进行检索,并记录所有30天前的、后缀名为rar的文件,对这些文件执行“del”命令。

将命令做成bat批处理文件,加入到任务计划程序,即可在每次备份时,同时删掉旧的文件。它的灵活之处在于,可以自定义/d后面的时间,例如改成100,就是删除100天前的文件。

Resilio异地备份

最后,对整个备份文件夹通过Resilio Sync进行实时备份。

1、安装Resilio Sync。

2、添加文件夹并分享密钥。

3、在异地电脑上同样安装Resilio Sync并输入密钥,指定同步文件夹。

4、确定之后,开始同步。

 

这样,整个备份机制就建立成功了。