Linux服务器利用rsync+inotify-tools实时同步备份 – inotify-tools配置篇

文章目录

  • 第一、准备和检查主服务器
  • 第二、inotify-tools下载和编译安装
  • 第三、设置环境变量
  • 第四、创建触发脚本实现同步
  • 第五、设置开机自动启动
  • 第六、rsync+inotify-tools实时备份小结

年后公司的事情杂七杂八的比较忙,赶紧抽一点点时间把前几天未完成的rsync+inotify-tools实时同步备份的文章完结掉,要不后面忘记又得重新来过。在之前的\”Linux服务器利用rsync+inotify-tools实时同步备份 – rsync配置篇\”文章中,蜗牛已经在主服务器和备份服务器分别配置rsync且可以实现数据的传输备份。

与之前rsync定时备份不同,我们这里要实现实时备份而不是定时备份,所以将会采用inotify-tools工具进行实时备份,这一点比单纯的rsync定时备份完美很多。在这篇文章中,准备在我们的主服务器中安装inotify-tools,然后实现实时同步备份。

文章目录
隐藏

第一、准备和检查主服务器

第二、inotify-tools下载和编译安装

第三、设置环境变量

第四、创建触发脚本实现同步

第五、设置开机自动启动

第六、rsync+inotify-tools实时备份小结

第一、准备和检查主服务器

这篇文章中,蜗牛全部在主服务器中配置,我们需要先检查当前服务器是否支持inotify,一般还是支持的,我们选择的系统是CentOS6以上版本,内核只要在2.6.13以上就没有问题。

1、检查是否支持

ll /proc/sys/fs/inotify

通过上面命令检查,如果能看到上图所示的三行,以及uname -r检测看到内核在2.6.13以上就没有问题。

2、安装必要工具包

yum install make gcc gcc-c++ -y

我们需要在inotify-tools配置安装之前将必要的工具包安装,然后才可以编译。

第二、inotify-tools下载和编译安装

cd /usr/local/src
wget https://soft.itbulu.com/backup/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

我们下载inotify-tools工具包,然后解压和编译安装。

第三、设置环境变量

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

修改配置参数:

vi /etc/sysctl.conf

打开文件,然后在最后添加几行:

fs.inotify.max_queued_events=99999999
fs.inotify.max_user_watches=99999999
fs.inotify.max_user_instances=65535

然后保存退出。

第四、创建触发脚本实现同步

vi /usr/local/inotify/rsync.sh

新建同步触发脚本文件,然后添加脚本:

#!/bin/sh
#同步主服务器网站文件位置
srcdir=/home/wwwroot/itbulu.com
dstdir=www.itbulu.com
excludedir=/usr/local/inotify/exclude.list
rsyncuser=www.itbulu.com_user
rsyncpassdir=/etc/passwd.txt
#备份服务器IP地址
dstip=\”22.22.22.22\”
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

根据我们主服务器备份的目录以及备份服务器的IP地址对应修改。这里还需要注意一个目录:

/usr/local/inotify/exclude.list

这个可以用来排除不参与同步的目录,可以对应位置创建文件,然后文件中一行写一个:

images/

这样表示不备份这个图片文件夹。

chmod +x /usr/local/inotify/rsync.sh

然后我们对配置好的rsync.sh文件授权。dstdir、rsyncuser、rsyncpassdir等配置文件要对应备份服务器之前设置的模块参数。

第五、设置开机自动启动

vi /etc/rc.d/rc.local

开机启动设置,添加脚本:

sh /usr/local/inotify/rsync.sh &

添加到最后一样,然后保存退出。重启服务器生效,这样,我们在主服务器添加文件,删除文件,然后在备份服务器中可以实现实时同步备份。

第六、rsync+inotify-tools实时备份小结

1、蜗牛从开始单独的采用rsync,然后发现弊端之后,决定研究采用rsync+inotify-tools方式,通过文章的记录以及实验是可以实现的,蜗牛记录下来以备日后使用。

2、实时同步相比定时会好很多,这样不用担心万一定时时间差的问题,以及rsync全盘对比文件产生的占用资源问题。

3、本文有参考:http://www.osyunwei.com/archives/7435.html以及其他网上的文章整理出来的,感谢这些网友的分享。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

【声明】:本评测不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告

木沐主机测评网 国外服务器主机测评 Linux服务器利用rsync+inotify-tools实时同步备份 – inotify-tools配置篇 https://www.mumupc.com/archives/10927.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务