系统版本: CentOS 6.5    rsync软件版本:rsync-3.0.6-9


  rsync(Remote Sync)是一款开源的快速备份工具,可以在不同主机之间镜像整个目录树,支持增量备份,保持连接和权限,且采用优化的同步算法,传输前执行压缩,因此是一款非常实用的异地备份软件


案例拓扑图:

wKiom1bWUXqjJyaHAABQ0SLI-5A735.jpg

案例环境:这里就不做×××了,就全当已经通过×××连接好了,嘿嘿

wKioL1bWVP2zS0_fAAB8s_aiLZA957.jpg


一、安装与配置rsync同步源

1.安装

wKiom1bWVfbzf0e3AAAQ1jPgj1s894.jpg

一般系统都会默认安装,如果没有可以使用rpm包安装一下


2.配置

在/etc/下建立rsyncd.conf主配置文件,需要手动添加,内容如下:

wKioL1bWVyjhtU_iAAARYApqJ1g970.jpg

wKiom1bWWWvyJA5-AADRqdZTOkI557.jpg


为授权账号创建数据文件,及调整文件权限

wKioL1bWWqbj5yNPAAASdsEC1WU529.jpg

wKioL1bWWy-CsPwjAAAZu94FzvA599.jpg

wKiom1bWW0riBOFZAAAUh52poFI760.jpg

注意:设置权限的时候必须为“600”,避免账号信息泄露


授权账号还需要对wwwroot共享模块的源目录/var/www/html有相应的读取权限,实际上只要other组有读取权限即可

wKiom1bWXVmx5RD3AAAiaMyuZ-k224.jpg


3.启动rsync服务程序,运行参数“--daemon”,并且注意防火墙建立对应的规则

wKioL1bWXtPwnhMNAABsrGsM1b0676.jpg


二、rsync发起端的配置及用法

1.客户端同样需要安装rsync工具

wKioL1bWbWagcsb7AAAXm08a5IQ897.jpg


2.使用方法(两种方法,个人偏好第一种,因为与SSL类似)

第一种:rsync [选项] 授权用户名@主机地址::共享模块名 本地目录

第二种:rsync [选项] rsync://授权用户名@主机地址/共享模块名 本地目录


3.rsync命令的常见选项

-a:归档模式,递归并保留对象属性,等同于 -rlptgoD

-v:显示同步过程的详细(verbose)信息

-z:在传输文件时进行压缩(compress)

-H:保留硬连接文件

-A:保留ACL属性信息

--delete:删除目标位置有而原始位置没有的文件

--checksum:根据对象的校验和来决定是否跳过文件


三、客户端使用rsync操作示例

1.在rsync同步源(服务器)的/var/www/html下创建测试文件

wKiom1bWcVOxQAOLAAAvqwsp3XM220.jpg


2.在rsync发起端(客户端)的根目录下创建一个测试目录www,并查看里面是否有文件

wKiom1bWcgvRU72pAAAmdSsSH0Q630.jpg


3.在客户端发起同步,进行数据同步

wKiom1bWcrDDeBTaAAB3ZCfkml8987.jpg


生产环境下的客户端数据同步,也就是备份工作一般都是按计划重复执行的,所以我们还需要将此同步工作做成计划任务,如:每天晚上22:30进行同步工作

首先为了在自动同步过程中不用输入密码,需要创建一个密码文件,用于保存backuper用户的密码,并将该文件的权限设置为600

wKioL1bWdY6RzylwAAAS0skvpFc240.jpg

wKiom1bWdaDwL4frAAAS0jy_UVc380.jpg

wKiom1bWdf3RVLjzAAAUhIl8_Yc845.jpg


然后在计划任务中同步时通过选项“--password-file=/etc/rsyncd.password”指定即可

wKioL1bWeNmCKjtvAAANKySG1Hc315.jpg

wKiom1bWeHfBRibbAAAzRsbVvDs058.jpg


这样rsync同步源与客户端就配置好了