近来,需要对公司部署系统的相关附近进行备份,防止服务器宕机或者用户误操作导致的附件丢失。
需求:
1、服务器之间备份(可以远程磁盘访问),增加备份的安全性。
2、文件较大,一般都是图片或者pdf文档等,大小在100G以上,最大的文件夹有300G,当初设计存在缺陷,文件夹下没有较细的分类,所以没法通过业务逻辑关系或其他条件进行增量备份。
3、类似的同步有四个子系统需要进行,每个的要求基本一致。
4、计划每天夜间在无用户使用时进行备份。
前后尝试了几种方式以及查看了部分软件,大体对比如下:
一、BAT命令+计划任务(最初使用方式)
最初采用的是使用bat+计划任务的方式完成,主要使用XCOPY命令完成。
实现思路如下:编写bat脚本文件,通过计划任务每天定时调用。bat文件中主要是对文件进行拷贝(例如:xcopy 远程备份原路径*.* 目标路径 /v /d /s /e /r /h /y,之前采用完全备份的方式,随着文件增长,逐渐采用根据日期增量备份的方式),在拷贝后,根据日期对文件夹惊醒命名,同时删除N(可自行指定)天之前的数据备份。在初步数据较少的情况下还增加过备份文件的压缩(但因为后期文件越来越多,压缩效率低而没有继续压缩,备份速度还可以50G的文件10分钟左右可以完成备份)。
通过bat命令备份,有以下几个缺点:
1、需要编写bat命令,较为复杂,需要有一定的命令编写基础。
2、无法实现真正同步(我们现在做到根据日期进行增量更新,切只有追加,无法实现删除)。
另外,在使用的过程中,偶尔会遇到备份文件存在丢失的情况,打个比方,如果有100个文件,备份之后只有90个,一直未找到原因。
二、文件夹同步软件
基于使用bat命令的缺点以及文件量的增长,因此考虑采用专业的文件夹同步软件来实现文件备份。主要考虑了以下几款软件(个人评价可能比较片面与主观,如有问题,请大家多多指教),简单对比如下:
1、goodsync
软件需要收费,在SERVER服务器上安装需要指定版本。
支持的同步类型较多(本地、远程服务器、网盘等)以及备份方式。
2、filegee
分免费版本和收费版本,免费版本限制比较多。
安装企业版试用了一下,确实比较好用,功能很齐全。
分多种不同方式备份以及支持本地、远程服务器等多种类型备份。
安全性上考虑比较周全,另外还提供增量数据备份的恢复。
有比较完善的中文手册,比较方便学习。
3、Allway Sync
对个人用户是免费,但是限制较多。
提供多种同步方式以及数据类型的同步。
有自动执行策略(可以每天执行,但是我安装版本不提供固定时间点的设置,使用起来比较别扭)。
4、freefilesync
免费软件。
使用较为方便,简单易上手(我任务从操作上讲,是最人性化的设计)。
有多种同步方式,可以满足不同情况下的需求。
可以对本地、远程服务器、FTP多种类型进行备份。
但是任务创建较为麻烦,没有较为合适的自动执行策略,需要配合windows计划任务使用,较为麻烦。
5、diffsync
版本比较旧(未安装使用)。
只能提供追加方式,如果同步的时候包括删除,则删除内容无记录,无法实现后续恢复。
对于备份性能未进行详细测试。建议如果有一定的预算,最好选用goodsync或者filegee,免费版freefilesync比较合适。可以根据自己的备份(同步)需要进行选择。
另外,如果需要对空间数据和Oracle数据库部分数据进行了备份。空间数据备份可以采用计划任务+FME的方式备份,Oracle库数据可以采用bat+计划任务进行备份。