rsync实现同步

时间:2022-11-19 20:52:28

一、备份客户端:

1.创建/etc/rsyncd.secrets 权限配置600 (写服务器端的账户密码)

2.客户端配置文件:

port=873
log file=/var/log/rsync.log
pid file=/var/run/rsync.pid
hosts allow =172.16.16.231
hosts deny=*

[backup]           
path=/databackup                (本机的备份用的文件夹)
use chroot=yes 
max nonections=4
read only=no
list=yes
uid=root
gid=root
#auth users=root
secrets file=/etc/rsyncd.secrets

启动rsync :  rsync --daemo --config=/etc/rsyncd.conf

备份服务端

创建/etc/rsyncd.secrets 权限配置600 (写服务器端的账户密码)

服务端配置文件:

port=873
log file=/var/log/rsync.log
pid file=/var/run/rsync.pid
hosts allow=172.16.16.160
hosts deny=*
[abc]
path=/databakup                  (本机的要备份用的文件夹)
use chroot=yes
max nonections=4
read only=no
list=yes
uid=root
gid=root
auth users=root
secrets file=/etc/rsyncd.secrets

安装inotify

1)、1234 tar-zxvf inotify-tools-3.14.tar.gz
2)、cdinotify-tools-3.14
3)、./configure--prefix=/usr/local/inotify
4)、make;makeinstall

同步脚本:

#!/bin/bash
SRC=/databakup/exam
SRC2=/databkup/dspbak
#SRC=/test/test1
#SRC2=/test/test2
HOST=172.16.16.160
/usr/local/inotify/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f%e' -e modify,delete,create,attrib $SRC | while read files
do
/usr/bin/rsync -vzrtopg --delete --progress --password-file=/etc/rsyncd.secrets $SRC root@$HOST::backup
done
~

备份一个文件只能写一条语句

[root@web ~]# chmod u+x /root/shell/rsync.sh

[root@web ~]# setsid /root/shell/rsync.sh &

#后台运行脚本,关闭shell终端继续后台运行

rsync.sh脚本加入开机启动项

# echo "/root/shell/rsync.sh" >> /etc/rc.local

防火墙开启rsync端口:873

添加:

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 873 -jACCEPT

防火墙这关要慎重,有些服务器是不允许打开的

重启:

# /etc/init.d/iptables restart