目标机
修改rsync配置文件
vim /etc/rsyncd.confuid = root
gid = root
use chroot = yes
max connections = 10strict mode=yes
pid file = /var/run/rsyncd.pidlock file=/var/run/rsync.locklog file=/var/log/rsyncd.log
[backup]
path = /同步文件夹/
comment = backup file
ignore errrors
read only=no
write only=no
hosts allow=192.168.157.129
hosts deny=*
list=false
uid=root
gid=root
auth users=root
secrets file=/etc/rsync.password
设置密码
echo "root:123456" > /etc/rsync.password
限权
chmod 600 /etc/rsync.password
启动 rsync 守护进程
/usr/local/bin/rsync --daemon
启动之后可查看 rsync 进程,如下
ps -ef | grep rsync
加入系统自启动文件
echo "/usr/local/bin/rsync --daemon" >> /etc/rc.local
rsync 默认端口为873,开放873端口
firewall-cmd --add-port=873/tcp --permanent --zone=public#重启防火墙(修改配置后要重启防火墙)firewall-cmd --reload
源服务器节点部署(rsync+inotify)
设置密码 权限
echo "root:123456" > /etc/rsync.password
chmod 600 /etc/rsync.password
启动 rsync 守护进程
/usr/local/bin/rsync --daemon
加入系统自启动文件
echo "/usr/local/bin/rsync --daemon" >> /etc/rc.local
测试同步
rsync -avH --delete /xingfufit/new-saas-api/ root@172.17.106.14::backup --password-file=/etc/rsync.password
rsync -avzu --progress /xingfufit/new-saas-api/import/ root@172.17.106.14::backup --password-file=/etc/rsync.password
安装 inotify
wget http://github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14…
tar zxvf inotify-tools-3.14.tar.gz
cd inotify-tools-3.14/
./configure
make && make install创建inotify配置配置文件
inotifyrsync.sh
#!/bin/bash
host1=192.168.1.2
src=/xingfufit/new-saas-api/import/
dst1=backup
user1=root
/usr/local/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f%e' -e close_write,delete,create,attrib $src \
| while read files
do
rsync -vzrtopg --progress $src $user1@$host1::$dst1 --password-file=/etc/rsync.password > /dev/null 2>&1
echo "${files} was rsynced." >> /var/log/rsync.log 2>&1
done
赋权
chmod 755 inotifyrsync.sh
启动测试同步
sh inotifyrsync.sh
报错
usr/local/bin/inotifywait: error while loading shared libraries: libinotifytools.so.0
建立映射
ln -sv /usr/local/lib/libinotify* /usr/lib/
ln -s /usr/local/lib/libinotifytools.so.0 /usr/lib64/libinotifytools.so.0
加入系统自启动文件
echo "/root/data/backuptest/inotifyrsync.sh &" >> /etc/rc.local