一、rsync概述
1、rsync的概念
rsync(Remote Sync,远程同步)是一款开源的快速增量备份工具,可以在不同主机之间镜像同步整个目录树,支持增量备份,并保持链接和权限,且采用优化的同步算法,传输前执行压缩,因此非常适用于异地备份、镜像服务器等应用。
支持本地复制,或者与其他SSH、rsync主机同步
官方网站:http://rsync.samba.org
2、rsync同步源(备份源)
指备份操作的远程服务器,也称为备份源。
在远程同步任务中,负责发起rsync同步操作的客户机称为发起端,而负责响应来自客户机的rsync同步操作的服务器称为同步源。在同步过程中,同步源负责提供文件的原始位置,发起端应对该位置具有读取权限。
二、配置rsync
1. 关闭防火墙
[root@rsync ~]# systemctl stop firewalld
[root@rsync ~]# systemctl disable firewalld
[root@rsync ~]# setenforce 0
setenforce: SELinux is disabled
2.查看rsync是否安装(系统默认已装)
rpm -q rsync #一般系统已默认安装rsyn
3. 配置/etc/rsync.conf配置文件
[root@rsync ~]# vim /etc/rsyncd.conf
##添加以下配置
uid = nobody
gid = nobody
##禁锢在源目录
use chroot = yes
##监听地址
address = 192.168.100.6
##监听端口tcp/udp873,可通过"cat /etc/services | grep rsync"查看
port 873
##日志文件位置
log file = /var/log/rsyncd.log
##存放进程ID的文件位置
pid file = /var/run/rsyncd.pid
##允许访问的客户机地址
hosts allow = 192.168.100.0/24
##共享模块
##共享模块名称
[qiao]
##源目录的实际路径
path = /var/www/html
comment = Document Root of www.qiao.com
##是否为只读
read only = yes
##同步时不再压缩的文件类型
dont compress = *.gz *.bz2 *.tgz *.zip *.rar *.z
##授权账户,多个账号以空格分隔
auth users = backuper
##存放账户信息的数据文件
secrets file = /etc/rsyncd_users.db
如采用匿名的方式,只要将其中的“auth users”和“secrets file”配置去掉即可。
4.为备份账户创建数据文件
vim /etc/rsyncd_users.db
backuper:abc123 //无须建立同名系统用户
chmod 600 /etc/rsyncd_users.db
//SSH -i 密钥文件位置 root@192.168.200.1 #授权远程登录 #密钥文件的权限需要是600
5.保证所有用户对源目录/var/www/html 都有读取权限
需要安装httpd服务
yum -y install httpd
systemctl start httpd
systemctl enable httpd
chmod +r /var/www/html/
ls -ld /var/www/html/ #以长格式显示文件目录权限
drwxr-xr-x. 2 root root 6 2月 28 09:01 /var/www/html