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

一、rsync下行同步部署

1. 实验环境

主机操作系统主机IP软件包
MasterCentOS7192.168.117.10rsync
SlaveCentOS7192.168.117.20rsync、inotify-tools-3.14.tar.gz

2. 服务部署

Master:192.168.117.10

systemctl stop firewalld.service 
setenforce 0

yum -y install httpd rsync 

vim /etc/rsyncd.conf 

uid = nobody
gid = nobody
use chroot = yes                                                
address = 192.168.117.10
port 873                                                                
log file = /var/log/rsyncd.log                  
pid file = /var/run/rsyncd.pid                  
hosts allow = 192.168.117.0/24
[wwwroot]                                                               
path = /var/www/html                                    
comment = Document Root of www.ng.com
read only = yes                                                  
dont comperss = *.gz *.bz2 *.tgz *.zip *.rar *.z        
auth users = kiki                                            
secrets file = /etc/rsyncd_users.db             

在这里插入图片描述
在这里插入图片描述

vim /etc/rsyncd_users.db
kiki:123

chmod 600 /etc/rsyncd_users.db
rsync --daemon
netstat -natp | grep rsync

cd /var/www/html
touch a.html b.html

在这里插入图片描述
在这里插入图片描述
Slave:192.168.117.20

systemctl stop firewalld.service 
setenforce 0
yum -y install rsync

cd /opt
mkdir ng
chmod 777 ng

在这里插入图片描述

vim /etc/server.pass
123
chmod 600 /etc/server.pass 
rsync -az --delete --password-file=/etc/server.pass kiki@192.168.117.10::wwwroot /opt/ng
ls ng

在这里插入图片描述
在这里插入图片描述

二、rsync+inotify实时同步部署

Master:192.168.117.10

vim /etc/rsyncd.conf
read only = no

kill `cat /var/run/rsyncd.pid`
netstat -natp | grep rsync

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

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
Slave:192.168.117.20

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    	#内核参数优化,加大三个参数的值
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 

cd /opt/ng
touch c.html
rm -rf a.html

在这里插入图片描述
验证:
Master:192.168.117.10

cd /var/www/html
ls

在这里插入图片描述
上图slave同步时会出现报错,原因是以匿名用户身份登陆的
在这里插入图片描述
Master:192.168.117.10
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值