2、下载和安装inotify-tools
- cd /usr/local/src
- wget https://download.laobuluo.com/tools/inotify-tools-3.14.tar.gz
- tar -zxvf inotify-tools-3.14.tar.gz
- cd inotify-tools-3.14
- ./configure --prefix=/usr/local/inotify
- make
- make install
3、配置环境变量
- echo "PATH=/usr/local/inotify/bin:$PATH" >>/etc/profile.d/inotify.sh
- source /etc/profile.d/inotify.sh
- echo "/usr/local/inotify/lib" >/etc/ld.so.conf.d/inotify.conf
- ln -s /usr/local/inotify/include /usr/include/inotify
4、配置参数
- vi /etc/sysctl.conf
添加到脚本最后:
- fs.inotify.max_queued_events=99999999
- fs.inotify.max_user_watches=99999999
- fs.inotify.max_user_instances=65535
5、创建触发脚本
- vi /usr/local/inotify/rsync.sh
创建脚本:
- #!/bin/sh
- #同步主服务器网站目录
- srcdir=/home/wwwroot/www.laobuluo.com
- #目录名称
- dstdir=www.laobuluo.com
- excludedir=/usr/local/inotify/exclude.list
- #对应同步名称要一致
- rsyncuser=www.laobuluo.com_user
- rsyncpassdir=/etc/passwd.txt
- #备份服务器IP地址
- dstip="xxx.xxx.xxx.xxx"
- for ip in $dstip
- do
- rsync -avH --port=873 --progress --delete --exclude-from=$excludedir $srcdir $rsyncuser@$ip::$dstdir --password-file=$rsyncpassdir
- done
- /usr/local/inotify/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f%e' -e close_write,modify,delete,create,attrib,move $srcdir | while read file
- do
- for ip in $dstip
- do
- rsync -avH --port=873 --progress --delete --exclude-from=$excludedir $srcdir $rsyncuser@$ip::$dstdir --password-file=$rsyncpassdir
- echo " ${file} was rsynced" >> /tmp/rsync.log 2>&1
- done
- done
修改自行的文件和目录,然后保存退出。
6、创建排除目录列表
- vi /usr/local/inotify/exclude.list
创建一个排除目录,这里可以添加不同步的目录,一行一个目录。如果暂时没有可以留空,以后需要用到在添加。
7、授权和设置开机启动
- chmod +x /usr/local/inotify/rsync.sh
这里我们授权。
- vi /etc/rc.d/rc.local
最后一行添加:
- sh /usr/local/inotify/rsync.sh &
第五、检测以及生效小结
1、检查生效
设置完毕之后,我们可以通过手工检查
- sh /usr/local/inotify/rsync.sh &
在主服务器执行脚本,如果看到有目录在进度,说明完美,然后去备份服务器中可以看到已经备份到的文件目录。
2、自动生效
重启主服务器,然后就会自动生效。如果不放心我们可以在主服务器对应目录丢一个文件看看备份服务器是否有增加。
这样,我们就通过rsync实现主服务器与备份服务器之间的同步增量备份,来解决大数据吞吐的解决容灾问题。如果我们数据不大,可以采用定时和手工备份,毕竟这样一套设置下来确实比较费时间。 【编辑推荐】 - 当Serverless到来:都“无服务器”了,运维人员何去何从?
- Java技术总结:主流Web服务器有哪些?
- 分布式机器学习的参数服务器
- 了解超融合与传统服务器部署
- 服务器和移动硬盘之间传输数据
【责任编辑:武晓燕 TEL:(010)68476606】
点赞 0 (编辑:PHP编程网 - 黄冈站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|