FreeFileSync 文件备份

本文涉及的产品
云数据库 RDS SQL Server,基础系列 2核4GB
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
日志服务 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 任务计划程序;

参考文档:

从(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模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
7月前
|
存储 SQL 数据挖掘
服务器数据恢复—误删除VMware虚拟机vmdk文件的数据恢复案例
服务器数据恢复环境: 某大厂PS4000服务器,服务器上部署VMware ESXi虚拟化平台。 服务器故障: 机房断电,重启后服务器中的某台虚拟机不能正常启动。管理员查看虚拟机配置文件,发现无法启动的虚拟机的配置文件除了磁盘文件以外其他配置文件全部丢失,xxx-flat.vmdk磁盘文件和xxx-000001-delta.vmdk快照文件还存在。联系VMware原厂工程师进行诊断,VMware原厂工程师尝试新建一个虚拟机,但发现存储空间不足,于是将故障虚拟机下的xxx-flat.vmdk磁盘文件删除了。VMware工程师重新建了一个虚拟机,分配了固定大小的虚拟磁盘,为虚拟机安装了Window
服务器数据恢复—误删除VMware虚拟机vmdk文件的数据恢复案例
|
7月前
|
存储 监控 安全
文件备份系统
文件备份系统
129 1
|
存储 Windows
数据备份(手动备份与自动备份)
数据备份(手动备份与自动备份)
359 1
|
存储 安全 Unix
Restic文件备份工具
Restic文件备份工具
1081 0
|
安全 Unix Linux
cwRsync 文件备份
需求简介单服务器系统的文件备份;多服务器系统(相同OS 或 不同OS)之间的文件备份;数据库(DB)服务器的 .bak , .mdf & .ldf 等文件备份;Rsync 应用介绍什么是 Rsync ?Rsync 是一款开源(且免费)的、快速的、多功能的、可实现全量及增量的本地或远程数据同步备份的优秀工具,主要是在 Linux 上...
332 1
cwRsync 文件备份
LXJ
|
Shell
文件备份脚本
服务器上文件备份脚本-shell
LXJ
115 0
阿里云混合云备份如何还原文件备份?
当被保护的机器需要从备份的点还原的时候,打开客户端控制台,找到要还原的备份直接还原数据就可以了。 下面我们来介绍一下如何还原一个文件目录备份。 首先,打开浏览器,登陆客户端控制台,单击左侧的恢复页签。
1113 0
|
关系型数据库 数据库 Oracle
Confluence 6 从其他备份中恢复数据
一般来说,Confluence 数据库可以从 Administration Console 或者 Confluence Setup Wizard 中进行恢复。
1684 0
文件备份操作
# 1.txt,1.py 1.mp3 1.avi # 允许用户输入任何一个文件 -- 备份 # 打开源文件, 打开备份文件 -- 源文件执行读取,备份文件执行写入 -- 关闭两个文件 import os # 得到这个路径下的所有文件 file_list = os.
970 0