环境介绍
1、源服务器及目录
172.20.2.10 /data
2、目的服务器及目录
172.20.2.11 /data
源服务器部署
1、rsync
与传统的cp、tar备份方式相比,rsync具有安全性高、备份迅速、支持增量备份等优点,通过rsync可以解决对实时性要求不高的数据备份需求,例如定期的备份文件服务器数据到远端服务器,对本地磁盘定期做数据镜像等。
2、inotify Inotify 是一种强大的、细粒度的、异步的文件系统事件监控机制,linux内核从2.6.13起,加入了Inotify支持,通过Inotify可以监控文件系统中添加、删除,修改、移动等各种细微事件,利用这个内核接口,第三方软件就可以监控文件系统下文件的各种变化情况,而inotify-tools就是这样的一个第三方软件。
源服务器
1、安装rsync
安装rsync有两种方式,yum和编译安装,均可以,这里为方便采用yum安装
yum install rsync -y
2、安装inotify
首先下载源码包
[url href=http://pan.cloudcared.cn/f/6fd1e53eb99448d1b5fe]个人网盘[/url]
解压 tar zxf inotify-tools-3.14.tar.gz cd inotify-tools-3.14 编译(需要gcc及make环境,提前安装) ./configure --prefix=/usr/local/inotify make && make install
同步方式一、SSH互信
1、做SSH互信,采用脚本同步
首先做好两台机器的SSH互信
同步脚本
#!/bin/bash host=172.20.2.11 src=/data/ des=/data user=root /usr/local/inotify/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f' -e modify,delete,create,attrib ${src} | while read file do rsync -az --rsh=ssh --delete --progress ${src} ${user}@${host}:/${des} done
同步方式二、密码保存至本地文件
1、将目的服务器密码保存至本地,读取密码文件来同步
目的服务器配置:
[root@172-20-2-11 ~]# echo "rsyncbak:rsyncpwd" > /etc/rsync.pwd [root@172-20-2-11 ~]# chmod 600 /etc/rsync.pwd
请记住,在server端建立的密码文件,只有密码,没有用户名;而在备份服务端client里建立的密码文件,用户名与密码都有。
建立配置文件
vim /etc/rsyncd.conf
uid = root gid = root use chroot = no max connections = 10 strict modes = yes pid file = /var/run/rsyncd.pid lock file = /var/run/rsync.lock log file = /var/log/rsyncd.log [web] path = /data comment = web file ignore errors read only = no write only = no hosts allow = 172.20.2.11 hosts deny = * list = false uid = root gid = root auth users = rsyncbak secrets file = /etc/rsync.pwd
启动服务
rsync --daemon --config=/etc/rsyncd.conf
源服务器配置:
[root@172-20-2-10 ~]# echo "rsyncpwd" > /etc/rsync.pwd [root@172-20-2-10 ~]# chmod 600 /etc/rsync.pwd
其中rsyncpwd可以自己设置密码,rsync.pwd名字也可以自己设置
建立配置文件
vim /etc/rsyncd.conf
uid = root gid = root use chroot = no max connections = 10 strict modes = yes pid file = /var/run/rsyncd.pid lock file = /var/run/rsync.lock log file = /var/log/rsyncd.log [web] path = /data comment = web file ignore errors read only = no write only = no hosts allow = 172.20.2.11 hosts deny = * list = false uid = root gid = root auth users = rsyncbak secrets file = /etc/rsync.pwd
启动服务
rsync --daemon --config=/etc/rsyncd.conf
同步测试
运行脚本,并打入后台执行
采用watch命令监控目的服务器的/data目录及/data目录中一个文件
[root@172-20-2-11 ~]# watch -d 'ls -l /data/' [root@172-20-2-11 ~]# watch -d 'cat /data/test'
在源服务器/data目录创建、删除、修改文件,分别观察目的服务器种的变化
新建
修改
删除
inotify安装包的解密密码多少?
@腾讯视频 cloudcared.cn
@起风 好的 多谢