环境 | 系统 | IP 地址 |
主服务器 | CentOS7.4 | 192.168.1.1 |
备份服务器 | CentOS7.4 | 192.168.1.2 |
一, 备份服务器
安装 rsync(备)
- wget https://rsync.samba.org/ftp/rsync/src/rsync-3.1.3.tar.gz
- tar -xf rsync-3.1.3.tar.gz
- ./configure --prefix=/usr/local/rsync
- make && make install
配置 rsyncd.conf
- cat <<EOF> /etc/rsyncd.conf
- pid file = /var/run/rsync.pid
- log file = /var/log/rsync.log
- lock file=/var/run/rsync.lock
- secrets file = /etc/rsync.pw
- motd file = /etc/rsyncd.motd
- transfer logging = yes
- log format = %t %a %m %f %b
- syslog facility = local3
- [data]
- path = /data/test/
- comment = data
- exclude =
- port = 873
- uid = root
- gid = root
- timeout = 600
- max connections = 200
- use chroot = no
- read only = no
- list = no
- hosts allow = 192.168.1.1
- EOF
可以设置多个目录
- # 增加 test1 目录
- [test1]
- path = /data/test1
- list = yes
- ignore errors
- comment = ucweb-file system
- secrets file = /etc/rsync.pw
- exclude = blank.png ; spinner.gif ; downsimple.png ; rails.png ; WEB-INF/
建立密码认证文件
- cat <<EOF> /etc/rsync.pw
- root:123456
- EOF
配置 rsyncd.motd 文件, 开始传送的时候会显示
- cat <<EOF> /etc/rsyncd.motd
- ###############################
- # #
- # start rsync #
- # #
- ###############################
- EOF
启动 rsync
/usr/local/rsync/bin/rsync --daemon --config=/etc/rsyncd.conf
开机启动 rsync
echo '/usr/local/rsync/bin/rsync --daemon --config=/etc/rsyncd.conf'>>/etc/rc.d/rc.localer
二, 主服务器
建立密码认证文件
- cat <<EOF> /etc/rsync.pw
- 123456
- EOF
测试开始
/usr/local/rsync/bin/rsync -avH --port=873 --progress --delete /data/test/ root@192.168.1.3::data --password-file=/etc/rsync.pw
查看 192.168.1.2 上是否有同步
安装 inotify-tools
yum install inotify-tools -y
新建 inotify.sh 文件同步
- #!/bin/sh
- # get the current path
- CURPATH=`pwd`
- /usr/bin/inotifywait -mr --timefmt '%d/%m/%y %H:%M' --format '%T %w %f' -e close_write /data | while read date time dir file; do
- FILECHANGE=${dir}${file}
- # convert absolute path to relative
- FILECHANGEREL=`echo "$FILECHANGE" | sed 's_'$CURPATH'/__'`
- /usr/bin/rsync -avH --port=873 --progress --delete /data/test/ root@192.168.1.2::data --password-file=/etc/rsync.pw
- echo "At ${time} on ${date}, file $FILECHANGE was backed up via rsync"
- done
注意:
如果仅仅是备份的话, 不要带 delete 参数
参考链接
https://blog.csdn.net/liuzheng0915/article/details/52003942
来源: http://www.bubuko.com/infodetail-2625751.html