FreeFileSync 文件备份

本文涉及的产品
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
云数据库 RDS SQL Server,独享型 2核4GB
日志服务 SLS,月写入数据量 50GB 1个月
简介: 需求目标实现 sql server 数据库文件本地+异地备份,备份文件包括:【.bak】数据库的备份文件,包含日志与库数据文件;【.mdf】数据库数据文件,存放一个数据库的数据信息;【.ldf 】数据库日志文件,存放对该数据库的更新操作(增、删、改)的文件;当然以下讲述的方案也可以实现其他文件的备份,按...

需求目标

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

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

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

image.png

环境准备

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

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

image.png

资源下载

备份流程

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

image.png

备份原理:

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

注意事项:

1、MS-SQLServer 本地备份参考:

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

FreeFileSync 文件同步

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

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

image.png

Download FreeFileSync

image.png

OS Download FreeFileSync url
image.png Download FreeFileSync 11.15 Windows
image.png Download FreeFileSync 11.15 macOS
image.png Download FreeFileSync 11.15 Linux
Source Download FreeFileSync 11.15 Source
image.png Subscribe for FreeFileSync update notifications

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

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

image.png

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

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

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

FreeFileSyncGUI 中添加 Master 部署的 FTP/SFTP 服务器地址,并设置访问账号密码信息,如下所示:

image.png

接下来在【同步设置】里面依次配置相应的选项 =>【比较】,【过滤器】和【同步】

image.png

Master 服务器环境安装 SQL Server 的实例路径如下:

image.png

其中 Backup 文件夹就可以存储 SQL Server 本地【.bak】备份文件,而 DATA 文件夹里面存储 SQL Server 相关的【.mdf】+【.ldf】文件,把部署的 FTP & SFTP 服务器文件路径指向这俩文件夹的跟路径【D:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL】,为了安全性考虑,可以在 Master 服务器新建用户组,并设置账号密码(注意密码复杂度设置)访问;

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

  • 同步设置 => 比较,此处选择【文件和时间大小】,勾选【忽略错误】。

image.png

image.png

  • 同步设置 => 同步,此处选择单向的镜像同步策略,删除文件选择【历史版本】,并配置上面创建的文件夹【History】,同时勾选【覆盖默认日志路径】切换为上面创建的文件夹【Logs】,修改【命名规则】为时间戳[文件夹] 模式,并设置右侧的版本保留时间。

image.png

由于此处是在VM里面部署的,只有一个虚拟 C 盘,文件结构如下:

image.png

最后把配置好的 FreeFileSync 批处理文件【.ffs_batch】保存到上图【ffs_batch】文件夹中,统一存储,方便后面添加 Windows 的任务计划程序中,实现定时作业备份;

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

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

image.png

image.png

方案总结

以上文件同步方案中,主要是应用 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】模式,确保相对的安全性,以上两种模式务必设置账户密码访问

相关实践学习
日志服务之数据清洗与入湖
本教程介绍如何使用日志服务接入NGINX模拟数据,通过数据加工对数据进行清洗并归档至OSS中进行存储。
目录
相关文章
|
2月前
|
存储 监控 安全
文件备份系统
文件备份系统
93 1
|
12月前
|
存储 安全 Unix
Restic文件备份工具
Restic文件备份工具
813 0
|
Oracle 关系型数据库 数据库
4、数据文件的备份与恢复
数据文件的备份与恢复
118 0
|
SQL Oracle 关系型数据库
3、控制文件的备份与恢复
控制文件的备份与恢复
103 0
|
Oracle 关系型数据库 数据库
2、参数文件的备份与恢复
参数文件的备份与恢复
132 0
LXJ
|
Shell
文件备份脚本
服务器上文件备份脚本-shell
LXJ
109 0
|
关系型数据库 数据库 Oracle
Confluence 6 从其他备份中恢复数据
一般来说,Confluence 数据库可以从 Administration Console 或者 Confluence Setup Wizard 中进行恢复。
1520 0
文件备份操作
# 1.txt,1.py 1.mp3 1.avi # 允许用户输入任何一个文件 -- 备份 # 打开源文件, 打开备份文件 -- 源文件执行读取,备份文件执行写入 -- 关闭两个文件 import os # 得到这个路径下的所有文件 file_list = os.
944 0
|
SQL Oracle 关系型数据库
[20171225]没有备份数据文件的恢复.txt
[20171225]没有备份数据文件的恢复.txt --//别人问的问题,增加了数据文件没有备份,如何恢复,实际上很简单,因为当前控制文件有记录建立时间只要从建立数据文件开始的 --//归档日志都存在恢复是没有任何问题的.
897 0

热门文章

最新文章