rsync下行同步+inotify实时同步部署

介绍

Rync服务器
Rsync是一款开源的、快速的、多功能的、可实现全量及增量的本地或远程数据同步备份的优秀工具。并且可以不进行改变原有数据的属性信息,实现数据的备份迁移特性。Rsync软件适用于unix/linux/windows等多种操作系统平台。 Rsync是一个快速和非常通用的文件复制工具。它能本地复制,远程复制,或者远程守护进程方式复制。它提供了大量的参数来控制其行为的各个方面,并且允许非常灵活的方式来实现文件的传输复制。它以其delta-transfer算法闻名。 rsync监听端口:873 rsync运行模式:C/S

在这里插入图片描述

部署代码

---------------------------------rsyn同步---------------------------------------
Master 192.168.150.100     rsync
Slave    192.168.150.101    rsync / inotify-tools-3.14.tar.gz

————Master操作:192.168.150.100————

systemctl stop firewalld.service 
setenforce 0

yum -y install httpd rsync 

vim /etc/rsyncd.conf 

uid = nobody       #用户id
gid = nobody       #组id
use chroot = yes          #开启禁锢在源目录                                      
address = 192.168.150.100                #监听地址
port 873                                            #默认端口873                     
log file = /var/log/rsyncd.log                  #日志文件位置
pid file = /var/run/rsyncd.pid                  #存放进程id的文件位置
hosts allow = 192.168.150.0/24                #允许访问的主机,可为网段
[aaabbb]                                                               #共享模块名称
path = /var/www/html                                    #源目录路径
comment = Document Root of www.kgc.com               
read only = yes                                                  #是否为只读
dont comperss = *.gz *.bz2 *.tgz *.zip *.rar *.z        #同步时不在压缩的文件类型  
auth users = ky10                     授权用户,多个账号以空格隔开
secrets file = /etc/rsyncd_users.db            #存放账号信息的数据,一行一个

vim /etc/rsyncd_users.db         #编辑用户帐号文件,固定格式
ky10:123123        

chmod 600 /etc/rsyncd_users.db     #官方要求赋予权限600,否则报错

rsync --daemon           #开启服务
netstat -natp | grep rsync                 #检测端口服务是否启动

cd /var/www/html             #切换至共享目录下
touch aaa.html bbb.html                        #创建两个文件
ls

#关闭服务   kill $(cat /var/run/rsyncd.pid)
————————Slave操作:192.168.150.101————————————
systemctl stop firewalld.service 
setenforce 0

yum -y install rsync

cd /opt
mkdir haha   #创建haha目录
chmod 777 haha       #授权777

vim /etc/server.pass     编辑免交互密钥文件,密码写在第一行
123123

chmod 600 /etc/server.pass  授权600 

rsync -az --delete --password-file=/etc/server.pass ky10@192.168.150.100::aaabbb /opt/haha                 
#rsync使用ky10用户,密钥文件/etc/server.pass将192.168.150.100的共享模块文件进行压缩,归档,同步至当前服务器的/opt目录下,并删除差异内容。
ls haha

使用计划任务进行每天定时更新
crontab -e
30 22 * * * /usr/bin/rsync -az --delete --password-file=/etc/server.pass ky10@192.168.150.100::aaabbb /opt/haha    


---------------------------------rsync+inotify实时同步-----------------------------------
——————Master(192.168.150.100)——————————
vim /etc/rsyncd.conf    
read only = no   #只读模式关闭,否则slave不可写入

kill `cat /var/run/rsyncd.pid`     # 关闭 
netstat -natp | grep rsync     #查看端口

rsync --daemon       #重启
netstat -natp | grep rsync
 
chmod 777 /var/www/html

————————Slave——————————————
cat /proc/sys/fs/inotify/max_queued_events
cat /proc/sys/fs/inotify/max_user_instances 
cat /proc/sys/fs/inotify/max_user_watches 

vim /etc/sysctl.conf 

fs.inotify.max_queued_events = 32768                  #加入3行
fs.inotify.max_user_instances = 1024
fs.inotify.max_user_watches = 1048576

sysctl -p

yum -y install gcc gcc-c++ 

#放入安装包
tar zxvf inotify-tools-3.14.tar.gz -C /opt


cd /opt/inotify-tools-3.14/

./configure
make && make install

vim /opt/inotify.sh
#!/bin/bash                 #编辑一个允许脚本进行同步模式
INOTIFY_CMD="inotifywait -mrq -e create,delete,move,modify,attrib /opt/haha/"
RSYNC_CMD="rsync -azH --delete --password-file=/etc/server.pass /opt/haha/ kiki@192.168.184.10::wwwroot"
 
$INOTIFY_CMD | while read DIRECTORY EVENT FILE
do
    if [ $(pgrep rsync | wc -l) -le 0 ] ; then
        $RSYNC_CMD
	fi
done


cd /opt/
chmod +x inotify.sh 
./inotify.sh &      #在后台执行

按照上述步骤即可完成
主服务器
在这里插入图片描述
从服务器
在这里插入图片描述
从服务器创建aaaw
在这里插入图片描述
主服务器同步
在这里插入图片描述
使用
RSYNC_CMD=“rsync -azH --delete --password-file=/etc/server.pass /opt/haha/ aaa@192.168.150.100::wwwroot”
该命令可使从服务器进行下行同步

小结
Master对Slave进行下行同步 Slave对Master进行实施同步

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值