标签:exclude chmod 文件夹 tar max yum 运行 cti syn
准备两台主机服务器 服务端:host1 192.168.1.109
客户端:host2 192.168.1.107
~]# vim /etc/rsyncd.conf
uid=root
gid=root
use chroot=no
max connections=0 #不限制最大连接数
exclude = lost+found
pid file = /var/run/rsyncd.pid
log file = /var/log/rsyncd.log
lock file =/var/run/rsyncd.lock
reverse lookup = no
hosts allow = 192.168.1.107/24 #允许连接的主机
ignore errors
[backup]
path = /backup/ #备份的到路径
comment = backup
read only= no
auth users = kobe #客户端同步数据到服务端时的授权账户
secrets file=/etc/rsync.pass #将授权账户与密码存放到此文件中
...
...
...
创建用于备份的文件目录
~]# mkdir /backup/
创建授权用户
~]# useradd -r -s /sbin/nologin kobe
将授权的用户名及密码存入文件,为了安全将此文件设置600权限
~]# echo ‘kobe:123456‘ > /etc/rsyncd.pass
~]# chmod 600 /etc/rsyncd.pass
~]# systemctl restart rsyncd.service
~]# yum install inotify-tools -y
导入授权用户密码
~]# echo 123456 > /etc/rsyncd.pass
~]# chmod 600 /etc/rsynd.pass
~]# vim /data/shell.sh/rsync_inotify.sh
#!/bin/bash
SRC=‘/data/shell.sh/‘
DEST=‘kobe@192.168.1.109::backup‘
inotifywait -mrq --timefmt ‘%Y-%m-%d %H:%M‘ --format ‘%T %w%f‘ -e create,delete,moved_to,close_write,attrib ${SRC} |while read DATE TIME DIR FILE;do
FILEPATH=${DIR}${FILE}
rsync -az --delete --password-file=/etc/rsync.pass $SRC $DEST && echo "At ${TIME} on ${DATE}, file $FILEPATH was backuped up via rsync" >> /var/log/changelist.log
done
:wq #保存退出
运行脚本文件实时同步开始 .....
~]# rsync_inotify.sh
监控backup文件夹,每秒钟刷新一次:
~]# watch -n 1 ls -l /backup
~]# ls -l /data/shell.sh
可以看出实现数据实时同步,在客户端修改数据时会自动将修改数据同步到服务端
显示客户端已备份到服务端的文件及备份的时间
~]# cat /var/log/changelist.log
INOTIFY监控服务与RSYNC服务实现CLIENT与SERVER之间的实时同步
标签:exclude chmod 文件夹 tar max yum 运行 cti syn
原文地址:https://blog.51cto.com/14234542/2396863