FreeFileSync 文件备份

需求目标

实现 sql server 数据库文件本地+异地备份,备份文件包括:

  • 【.bak】数据库的备份文件,包含日志与库数据文件;
  • 【.mdf】数据库数据文件,存放一个数据库的数据信息;
  • 【.ldf 】数据库日志文件,存放对该数据库的更新操作(增、删、改)的文件;

当然以下讲述的方案也可以实现其他文件的备份,按自己的实际需求情况部署配置即可,这里以上述需求目标为例来讲解部署配置相关操作。
backup

环境准备

  • 服务器操作系统 Windows Server 2012R2 及以上版本;
  • DB 数据库版本 SQL Server 2012R2 及以上版本;
  • 数据库GUI管理工具 SQL Server Management Studio(简称SSMS);

以上这些基础环境的安装部署此处省略,不作为本篇文章的重点,以下部署操作基于上面这些基础环境已经安装好,接下来我们展开本次重点讲解的【FreeFileSync 文件同步】方案;
img

资源下载

备份流程

清楚需求目标后,整理备份流程12个环节,如下图所示:
img
查看原图:备份流程

备份原理:

  1. 主(Master)服务器环境部署的主数据库先执行本地数据备份作业,然后把 SQL Server 的【.bak】、【.ldf】和【.mdf】备份文件存储到 IIS 搭建的 FTP 服务器或者其他 FTP/SFTP 服务器环境;
  2. 从(Slave)服务器上面安装部署 FreeFileSync 工具,访问主服务器的FTP/SFTP服务器,并设置同步策略,形成作业计划并添加到 Windows 任务计划程序周期执行;

注意事项:

  • sql server 本地备份参考
  • 部署 FTP/SFTP 服务器,新增 windows 账户并设置用户组,添加账户密码访问;
  • 查看主(Master)服务器搭建的 FTP(端口21) 或 SFTP(端口22) 服务器端口监听,命令 =》【netstat -an】;
  • 验证从(Slave)服务器与主服务器上 FTP 或 SFTP 服务器的网络访问性,命令 =》【telnet ip port】;
  • 防火墙开放 FTP/SFTP 对应的端口;

FreeFileSync 文件同步

FreeFileSync 首先是文件(本地或异地)同步功能,可以在指定的两个文件夹之间进行单向或双向的同步,点击程序窗口右上方的绿色齿轮图标可以设置相关参数;期间也可以自定义需要筛选的文件,有“包括”和“排除”两种过滤方式,按实际情况定义需要过滤的文件类型,此外就是比较不同文件夹中的文件是否相同的功能,不过这个功能比较适合同步之前使用,比较的结果会直接显示在列表中,方便查看,这样你就可以清楚的知道是否需要进行同步操作了,节省系统资源。

其次 FreeFileSync 还是开源、跨平台(Windows、macOS、Linux)和 免费(也有付费版)的工具,GUI 界面管理操作可视化,方便快捷,以下我们使用免费版来实践操作(免费版的功能已经足够目标需求的实现了 😊)
img

Download FreeFileSync

在这里插入图片描述

imgDownload FreeFileSync 11.15 Windows
imgDownload FreeFileSync 11.15 macOS
imgDownload FreeFileSync 11.15 Linux
SourceDownload FreeFileSync 11.15 Source
imgSubscribe for FreeFileSync update notifications

选择对应系统环境的版本下载即可,此处我们操作部署的环境是 Windows,所以选择 FreeFileSync for Windows 版本下载,安装后界面如下:
在这里插入图片描述

FreeFileSync + IIS/FTP

准备环境:

  • 主(master)服务器采用 IIS 自带的 FTP 服务器;
  • 从(Slave)服务器安装 FreeFileSync for Windows 版本;
  • 从(Slave)服务器部署的 FreeFileSync 添加 Windows 任务计划程序;

IIS 配置操作:

IIS 搭建 FTP 服务器:

FreeFileSync + SFTP

准备环境:

  • 主(master)服务器配置 SFTP 服务器;
  • 从(Slave)服务器安装 FreeFileSync for Windows版本;
  • 从(Slave)服务器部署的 FreeFileSync 添加 Windows 任务计划程序;

SFTP 工具选型:

参考文档:

从(Slave)服务器新建文件夹

在从服务器创建如下文件夹(除开系统盘C),比如在数据盘新建如下文件夹:
在这里插入图片描述

  • ffs_batch 存储 FreeFileSync 的批量作业计划;
  • History 存储 Master 服务器的备份文件的历史版本;
  • Logs 存储 FreeFileSync 作业的日志记录信息;

以上文件夹的配置不是唯一的,可以根据自己实际情况和 FreeFileSync 作业计划配置,

从(Slave)服务器添加 Windows 任务计划

在 FreeFileSync 的 GUI 中添加 Master 部署的 FTP/SFTP 服务器地址,并设置访问账号密码信息,如下所示:
在这里插入图片描述
接下来在【同步设置】里面依次配置相应的选项 =>【比较】,【过滤器】和【同步】
在这里插入图片描述
Master 服务器环境安装 SQL Server 的实例路径如下:
在这里插入图片描述
其中 Backup 文件夹就可以存储 SQL Server 本地【.bak】备份文件,而 DATA 文件夹里面存储 SQL Server 相关的【.mdf】+【.ldf】文件,把部署的 FTP & SFTP 服务器文件路径指向这俩文件夹的跟路径【D:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL】,为了安全性考虑,可以在 Master 服务器新建用户组,并设置账号密码(注意密码复杂度设置)访问;

同步设置里面分别有:【比较】,【过滤器】和【同步】这三个选项,里面分别设置相应的模式即可,本人此处设置的模式依次如下图所示:

  • 同步设置 => 比较,此处选择【文件和时间大小】,勾选【忽略错误】。
    在这里插入图片描述
  • 同步设置 => 过滤器,排除掉其他文件夹和子文件,过滤规则参考:[排除文件 - 自由文件同步 (freefilesync.org)]。(https://freefilesync.org/manual.php?topic=exclude-files)
    在这里插入图片描述
  • 同步设置 => 同步,此处选择单向的镜像同步策略,删除文件选择【历史版本】,并配置上面创建的文件夹【History】,同时勾选【覆盖默认日志路径】切换为上面创建的文件夹【Logs】,修改【命名规则】为时间戳[文件夹] 模式,并设置右侧的版本保留时间。
    在这里插入图片描述
    由于此处是在VM里面部署的,只有一个虚拟C盘,文件结构如下:
    在这里插入图片描述
    最后把配置好的 FreeFileSync 批处理文件【.ffs_batch】保存到上图【ffs_batch】文件夹中,统一存储,方便后面添加 Windows 的任务计划程序中,实现定时作业备份;

FreeFileSync 批处理文件添加 Windows 的任务计划程序参考文档

接下来我们看下测试 600M +的文件数据同步情况,如下图所示:
start file rsync
end file rsync

方案总结

以上文件同步方案中,主要是应用 FTP & SFTP 实现文件的传输,其中 FreeFileSync 充当 FTP & SFTP 的客户端,从而间接的做到 DB 数据库备份的目标,优缺点对比如下:

【FreeFileSync + FTP】模式

  • 优点:文件传输效率高;
  • 缺点:安全性低,文件未加密传输;

【FreeFileSync + SFTP】模式

  • 优点:安全性较高,文件加/解密传输;
  • 缺点:文件传输效率较低;

FTP 与 SFTP 的异同 => FTP与SFTP两者有什么区别

两种模式的共同特点

  • 基于 FTP & SFTP 协议的特性,可以做到跨机器,跨平台系统之间的访问;
  • FreeFileSync 支持 Windows,macOS,Linux;

综上所述,FreeFileSync + FTP/SFTP 文件同步备份方案,可以实现多平台之间的文件备份目标,局域网环境为了追求传输效率,可以采用【FreeFileSync + FTP】模式,公网环境建议【FreeFileSync + SFTP】模式,确保相对的安全性,以上两种模式务必设置账户密码访问。

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ChaITSimpleLove

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值