最新消息: 新版网站上线了!!!

linux rsync inotify做同步服务器

两台服务器的配置 192.168.0.168(主服务器) 192.168.0.188(备份服务器)

192.168.0.188备份服务器安装的软件

yum -y install rsync 

192.168.0.188备份服务器的配置

[root@inotify-slave /]# cat /etc/rsyncd.conf
#工作中指定用户(需要指定用户)
uid = root
gid = root
#相当于黑洞.出错定位
use chroot = no
#有多少个客户端同时传文件
max connections = 200
#超时时间
timeout = 300
#进程号文件
pid file = /var/run/rsyncd.pid
#日志文件
lock file = /var/run/rsync.lock
#日志文件
log file = /var/log/rsyncd.log
#模块开始
#这个模块对应的是推送目录
#模块名称随便起
[backup]
#需要同步的目录
path = /backup/
#表示出现错误忽略错误
ignore errors
#表示网络权限可写(本地控制真正可写)
read only = false
#这里设置IP或让不让同步
list = false
#指定允许的网段
hosts allow = 10.174.132.80
#拒绝链接的地址,一下表示没有拒绝的链接。
hosts deny = 0.0.0.0/32
#不要动的东西(默认情况)
#虚拟用户
auth users = rsync_backup
#虚拟用户的密码文件
secrets file = /etc/rsync.password
#配置文件的结尾

密码配置

echo 'rsync_backup:qq123456' >/etc/rsync.password 

更改权限

chmod -R 600 /etc/rsync.password

启动服务器B上的rsync服务

#rsync --daemon -v
rsync --daemon

监听端口873

netstat -an | grep 873
lsof -i tcp:873

COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
rsync   31445 root    4u  IPv4 443872      0t0  TCP *:rsync (LISTEN)
rsync   31445 root    5u  IPv6 443873      0t0  TCP *:rsync (LISTEN)

设置rsync为服务启动项(可选)

echo "/usr/local/bin/rsync --daemon" >> /etc/rc.local

要 Kill rsync 进程,不要用 kill -HUP {PID} 的方式重启进程,以下3种方式任选

#ps -ef|grep rsync|grep -v grep|awk '{print $2}'|xargs kill -9
#cat /var/run/rsyncd.pid | xargs kill -9
pkill rsync
#再次启动
/usr/local/bin/rsync --daemon

主服务器

192.168.0.168数据源服务器安装的软件

yum -y install rsync inotify-tools
vi /etc/rsyncd.conf

/etc/rsyncd.conf的内容

uid = nobody
gid = nobody
use chroot = no
max connections = 200
timeout = 300
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
ignore errors
read only = false
list = false
hosts allow = 10.25.29.232
echo "qq123456" > /etc/rsync.password 

启动服务器

rsync --daemon

监听端口873

netstat -an | grep 873
lsof -i tcp:873

关闭rsync进程

pkill rsync

再次启动

/usr/local/bin/rsync --daemon

主服务器执行

在主服务器测试代码

rsync -avz aa rsync_backup@192.168.0.188::backup --password-file=/etc/rsync.password

在主服务器上配的脚本

vi sh.sh
#!/bin/sh

/usr/bin/inotifywait -mrq --timefmt "%d/%m/%y %H:%M" --format '%T %w%f' -e create,delete,close_write  /data/|while read line
do 
  cd /data
    rsync -avz ./ --delete rsync_backup@192.168.0.188::backup --password-file=/etc/rsync.password
done
chmod +x sh.sh
./sh.sh

大功告成啦

转载请注明:谷谷点程序 » linux rsync inotify做同步服务器