rsync远程同步:下行同步、上行同步+inotify实时同步

发布时间 2023-04-03 23:50:43作者: 此生何必111

一、rsync远程同步

1.什么是rsync远程同步

rsync是CS架构的数据镜像备份工具,可以实现全量备份和快速增量备份支持本地复制或ssh、rsync主机同步。rsync默认端口为 873

rsync特性:可以在不通主机之间镜像同步整个目录树,支持增量备份、保持链接和权限、时间、属性且传输前自动执行压缩、rsync不需要特殊权限即可安装,centos系统默认安装,支持匿名传输,注意发起端要有对应目录位置的读权限。

2. rsync备份类型

完全备份:每次备份将备份源所有文件或目录备份到目的。

差量备份:备份上次完全备份以后有变化的数据。

增量备份:备份上次完全备份以后有变化的数据。

 

 

 

 

 

 

二、rsync下行同步实验部署

1. 实验环境

192.168.50.200:客户端

192.168.50.150:服务端

关闭防火墙,安全防护模块

2. 实验流程

①修改配置文件

 

 1 rpm -q rsync   #检测rsync是否安装,一般系统已默认安装rsync
 2 rpm -qc rsync  #查看配置文件在什么地方
 3 cp /etc/rsyncd.conf /etc/rsyncd.conf_bak   
 4 #备份配置文件,便于回滚还原
 5 vim /etc/rsyncd.conf    #建立/etc/rsyncd.conf配置文件
 6 Uid = root     #用户id,注意不用root使用rsync同步时可能会报错
7 Gid = root #组id,注意不用root使用rsync同步时可能会报错
8 Use chroot = yes #禁锢在源目录
 9 Address = 192.168.50.150  #监听地址
10 Port 873  #监听端口  tcp/udp  端口可通过cat /etc/services | grep rsync 查看
11 Log file = /var/log/rsyncd.log   #日志文件位置
12 Pid file = /var/run/rsyncd.pig   #存放进程id的文件位置
13 Hosts allow = 192.168.50.0/24  #允许访问的客户机地址
14 Dont compress = *.gz *.bz2 *.tgz *.zip *.rar *.z  #同步时不在压缩的文件类型
15 
16 [myhtml]   #共享模块名称
17 Path = /var/www/html   #源目录的实际路径
18 Comment = this is rsync of www.kgc.com  #解释说明
19 Read only = yes   #是否为只读
20 Auth users = daiwei       #授权账户,多个账号以空格分隔
21 Secrets file = /etc/rsyncd_users.db   #存放账户信息的数据文件
22 #如采用匿名的方式,只要将其中的“auth users”和“secrets file”
23 配置项去掉即可
24 
25 mkdir -p /var/www/html  #创建目录
26 ls -ld /var/www/html/   #查看权限
27 #如果没有读权限需要加上读权限
28 Chmod +r /var/www/html/
29 
30 vim /etc/rsyncd_users.db
31 Daiwei:123456   #无需建立同名系统用户
32 Chmod 600 /etc/rsyncd_users.db   
33 #设置权限,保证所以用户对源目录/var/www/html都有读取权限
34 rsync --daemon   #启动rsync服务,以独立监听服务的方式运行
35 netstat -antp |grep rsync 
36 #关闭rsync服务使用kill命令, kill 进程号,cat /var/run/rsyncd.pid查看进程号;或rm -rf /var/wrun/rsyncd.pid

 

 

 

 

②进入客户端(发起端200),同步数据

 

1 mkdir /opt/ky26   #创建文件ky26
2 rsync -avz daiwei@192.168.50.150::myhtml /opt/ky26 
3 #将模块下载到本地的ky26 ,密码:123456

 

 

 

③进入服务端

/etc/passwd  /etc/shadow拷贝到/var/www/html目录下

 

 

 

 

 

④进入客户端查看数据是否变更,如下图,数据已变更

 

 

 

 

⑤在服务端/var/www/html目录下修该用户信息文件,在尾

 

行插入一条zhangsan的信息,客户端也会同步

 

 

 

 

 

 

 

设置免交互密码,只给当前用户使用,其他用户无法使用

 

 

 

 

 

 

 

服务端删除数据,客户端若要同步需要加--delete命令

 

 

 

 

 

 

实时备份

 

设置每天十点半备份

 

 

 

补充配置源的表达方式

 

rysnc -avz -e ssh -p ssh的端口号’ 原始位置 目标位置

 

服务端添加信息

 

 

 

客户端同步信息