FreeFileSync 文件同步

需求目标

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

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

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

环境准备

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

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

资源下载

备份流程

FreeFileSync 文件同步
查看原图:备份流程

备份原理:

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

注意事项:

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

FreeFileSync 文件同步

FreeFileSync 文件同步

Download FreeFileSync

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1hlQTitS-1639629673616)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20211216102051418.png)]

FreeFileSync 文件同步 Download FreeFileSync 11.15 Windows
FreeFileSync 文件同步 Download FreeFileSync 11.15 macOS
FreeFileSync 文件同步 Download FreeFileSync 11.15 Linux
Source Download FreeFileSync 11.15 Source
FreeFileSync 文件同步 Subscribe for FreeFileSync update notifications

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aqxh3cl8-1639629673618)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20211216103919320.png)]

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),比如在数据盘新建如下文件夹:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-X9ryEHRj-1639629673618)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20211216110342039.png)]

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

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

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

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

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

  • 同步设置 => 比较
    FreeFileSync 文件同步
  • 同步设置 => 过滤器,排除掉其他文件夹和子文件,过滤规则参考:排除文件 - *文件同步 (freefilesync.org)
    FreeFileSync 文件同步
  • 同步设置 => 同步
    FreeFileSync 文件同步
    由于此处是在VM里面部署的,只有一个虚拟C盘,文件结构如下:
    FreeFileSync 文件同步
    把配置好的 FreeFileSync 批处理文件【.ffs_batch】保存到上图 ffs_batch 文件夹中,统一存储,方便后面添加 Windows 的任务计划程序中,实现定时作业备份;

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

方案总结

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

  • 【FreeFileSync + FTP】模式

    • 优点:文件传输效率高;
    • 缺点:安全性低,文件未加密传输;
  • 【FreeFileSync + SFTP】模式

    • 优点:安全性较高,文件加密传输;
    • 缺点:文件传输效率稍低;
  • 两种模式的共同特点

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

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

上一篇:Tabby--一款挺好用且小众的Linux终端工具


下一篇:R处理文本 三国