需求简介
- 单服务器系统的文件备份;
- 多服务器系统(相同 OS 或不同 OS)之间的文件备份;
- 数据库(DB)服务器的
.bak、.mdf & .ldf
等文件备份;
Rsync 应用介绍
什么是 Rsync ?
- Rsync 是一款开源(且免费)的、快速的、多功能的、可实现全量及增量的本地或远程数据同步备份的优秀工具,主要是在
Linux
上面用于文件同步备份用的,也有windows
版cwRsync
(分为免费和付费版本),不过基本上免费版本就可以满足大部份要求了。 - Rsync 具有可使本地远程两台主机之间的快速复制同步镜像、远程、备份的功能。这个功能类似
ssh
带有的scp
命令,但又优于scp
命令的功能,ssh
的scp
每都是全量拷贝,而rsync
的scp
可以增量拷贝,当然rsync
还可以在本地主机的不同目录之间全量及增量的复制数据,这又类似cp
命令,但也同样优于cp
命令,cp
每次都是全量拷贝,而rsync
可以增量拷贝,rsync
还可以实现删除文件和目录的功能。
Linux 为我们提供了两个用于文件 copy
的命令,一个是 cp
,一个是 scp
,但是他们略有不同:
- cp:主要是用于在同一台电脑上,在不同的目录之间来回 copy 文件;
- scp:主要是在不同的 Linux 系统之间来回 copy 文件;
查看更多:Linux 中 cp 和 scp 命令的使用方法 (cnblogs.com)
什么是 cwRsync ?
cwRsync
是基于 cygwin
平台的 rsync
软件包,支持 windows
对 windows
、windows
对 Linux
、Linux
对 windows
高效文件同步。由于 cwRsync
已经集成了 cygwin
类库,因此安装的时候可以省去 cygwin
包。Cwrsync
还集成了 OpenSSH for windows
,可以实现 Linux
下 Rsync
一模一样的操作。cwRsync
的架构很简单,有一个 Server
和多个 Client
组成。安装 cwRsync Server
以后,在服务器上面启动 cwRsync
服务,然后在客户端上面执行文件同步命令即可实现文件同步功能。如果我们将文件同步命令添加到 windows
计划任务当中,就可实现定义同步的功能。
Rsync 的特性
- 支持拷贝特殊文件,如连接文件,设备等。
- 可以有排除指定文件或目录同步的功能,相当于打包命令
tar
的排除功能。 - 可以做到保持原有文件或目录的权限、时间、软硬链接、属主、组等所有属性均不改变。
- 可以实现增量同步,即只同步发生变化的数据,因此数据传输效率很高。
- 可以使用
rcp,rsh,ssh
等方式来配合传输文件(rsync
本身不对数据加密)。 - 可以通过
socket
(进程方式)传输文件和数据。 - 支持匿名的或认证(无需系统用户)的进程模式传输,可实现方便安全的进行数据备份及镜像。
Rsync 工作原理
- 单个主机本地之间的数据传输(此时类似
cp
命令的功能); - 不同系统之间借助
rcp、ssh
等通道来传输数据(此时类似scp
命令的功能); - 以守护进程(
socket
)的方式传输数据(这个是rsync
自身存在的重要功能);
rsync comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. See the GNU General Public Licence for details.
Rsync绝对没有任何保修。这是自由软件,欢迎您在特定条件下重新分发。有关详细信息,请参阅GNUGeneral Public License(通用公共许可证)。
rsync is a file transfer program capable of efficient remote update via a fast differencing algorithm.
rsync 是一个文件传输程序,能够通过快速差分算法进行有效的远程更新。
用法|Usage:
=> rsync [OPTION]... SRC [SRC]... DEST
=> rsync [OPTION]... SRC [SRC]... [USER@]HOST:DEST
=> rsync [OPTION]... SRC [SRC]... [USER@]HOST::DEST
=> rsync [OPTION]... SRC [SRC]... rsync://[USER@]HOST[:PORT]/DEST
=> rsync [OPTION]... [USER@]HOST:SRC [DEST]
=> rsync [OPTION]... [USER@]HOST::SRC [DEST]
=> rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]
The ':' usages connect via remote shell, while '::' & 'rsync://' usages connect to an rsync daemon, and require SRC or DEST to start with a module name.
使用 ':' 通过远程shell连接,而使用 '::' & 'rsync://' 连接到 rsync 守护进程,并要求 SRC 或 DEST 以模块名称开头。
参数说明:
rsync:同步的命令
[OPTION...]:同步的参数选项
[SRC]:源,及待拷的分区、文件或目录等
[DEST]:目的分区、文件、或目录等
cwRsync 资源下载
- cwRsync 官网 => cwRsync - Rsync for Windows | itefix.net
适用于 Windows 的 rsync 客户端的基本版本。这就是从您的计算机发起 rsync 请求所需的全部内容。提供的 rsync 二进制文件有以下方便的补丁:transliterate, timelimit, ignore case, no strict check of password file permissions (unofficial).
将 rsync
守护程序设置为 Windows
服务,以便您可以为传入的 rsync
请求提供服务。
还提供了管理 GUI。提供的 rsync
二进制文件具有以下方便的补丁: transliterate, timelimit, ignore case, no strict check of password file permissions (unofficial)
.
该产品套件包含 cwRsync
和 Copssh
服务器安装程序,允许您通过 ssh
传输设置安全的 rsync
服务器。有关更多信息,请参阅我们的常见问题解答:Windows Linux/Unix
- github cwRsync 整合资源包(4.0.5) => GitHub - dennis-zheng/cwRsync: cwRsync 文件同步工具
- cwRsync Server & Client 整合资源包 (4.1.0)=> 服务器文件同步软件 服务器端 cwRsyncServer_3.1.0_Installer.zip
整合资源包里面有一个服务器的安装程序【cwRsyncServer_4.1.0_Installer.exe
】和一个绿色的客户端【cwRsync_5.4.1_x86_Free_客户端
】。
注意:rsync
的 windows
发行版收费:rsync
下载 (samba.org)
Cygwin
是MS Windows
的Posix
运行时,在其许多软件包中包括rsync
。cwRsync
是MS Windows
的rsync
的原生打包(不过,它们似乎只提供付费版本)。
cwRsync 安装
服务端安装 cwRsync Server
- 直接运行exe安装文件;
- 安装目录默认 C:\Program Files (x86)\ICW ;
- 修改成本机当前登录的账号密码(也可以自定义账号和密码);
- 安装完成后,替换安装目录中的 rsyncd.conf 文件(配置查看附件1);
- 然后在【服务】中把 RsyncServer 服务【启动模式】改成【自动】;
客户端安装 cwRsync
1、直接运行客户端 .exe 安装文件;
2、安装目录默认 C:\Program Files (x86)\cwRsync;
3、运行脚本:
- master2slave_1h.bat:master 更新到 slave, 建议做成服务,1小时运行一次bat文件
- master2slave_30s.bat:master 更新到 slave, 建议做成服务,30秒运行一次bat文件
- slave2master_1h.bat:slave更新到master, 建议做成服务,1小时运行一次bat文件
- slave2master_30s.bat:slave更新到master, 建议做成服务,30秒运行一次bat文件
注意事项:查看【附件1-服务端注意事项】
ps:
Master:主服务器,运行cwRsyncServer
服务端;
Slave:从服务器(备份服务器)运行cwRsync
客户端;
Window 中添加任务计划
在 Window 中添加任务计划,不同的系统,操作有点不一样。
- windows xp/Server 2003 : 开始->设置->控制面板->任务计划->打开添加任务计划->下一步
- windows 7/Server 2008 : 开始-> 控制面板 -> 管理工具 -> 任务计划
总结
- 对
Rsync
有个基本的了解,特别是Rsync
的特性和工作原理的掌握,能够应用到实际的场景中进行文件的备份操作。 - 合理配置
rsyncd.conf
文件的各项参数特性。 Rsync
文件备份的完整性高。对于不同系统linux
和windows
之间的文件同步,虽然会有一些报错,主要是权限配置的问题,但对于文件的完整性来说,并没有问题。
cwRsync
文件备份【附件1】请查看,
https://blog.csdn.net/ChaITSimpleLove/article/details/121925253