加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_宿迁站长网 (https://www.0527zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 创业热点 > 经验 > 正文

Rsysnc安装、配置教程:实现VPS主机文件备份同步

发布时间:2016-01-26 14:56:42 所属栏目:经验 来源:免费资源部落
导读:副标题#e# 通常我们备份网站数据的做法,就是打包网站文件和MysqL数据库,然后下载到本地或者放在网盘中。一旦需要恢复网站数据时,重新将网盘或者本地的打包文件和MysqL数据库上传到网站服务器。这个网站备份的方法,对于中小型的博客网站基本上没有任何问

1、上面还只是实现了自动定时同步,对于一些要求的高网站可能还需要实时同步,这里我们就可以利用上了inotify-tools了。你需要确保内核支持inotify,并安装inotify-tools和rsync。判断内核是否支持inotify方法有如下:

###确保内核版本高于2.6.13,低于则需重新编译内核###root@mon11:~# uname -r3.2.0-64-generic###查看内核是否默认支持inotify—API###root@mon11:~# ll /proc/sys/fs/inotify/-rw-r--r-- 1 root root 0 Sep 18 18:06 max_queued_events-rw-r--r-- 1 root root 0 Oct 20 10:24 max_user_instances-rw-r--r-- 1 root root 0 Sep 18 18:06 max_user_watches###相关说明max_queued_events        表示调用inotify_init时分配给inotify instance中可排队的event的数目的最大值,
超出这个值的事件被丢弃max_user_instances 表示每一个real user ID可创建的inotify instatnces的数量上限max_user_watches 表示每个inotify instatnces可监控的最大目录数量。如果监控的文件数目巨大,
需要根据情况,适当增加此值的大小,例如:echo "9000000" > /proc/sys/fs/inotify/max_user_watches

Rsysnc Rsysnc配置 Rsysnc安装 VPS主机内容同步

2、安装inotify-tools的方法有(在安装过程中如果遇到“configure: error: no acceptable C compiler found in $PATH”的错误,你需要安装gcc:yum install gcc):

wget http://github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gztar xf inotify-tools-3.14.tar.gzcd inotify-tools-3.14/./configure --prefix=/usr && make && su -c 'make install'

3、inotify-tools监控某一个文件目录的变化的命令是:

/usr/bin/inotifywait -mrq --timefmt '%Y/%m/%d-%H:%M:%S' --format '%T %w %f'  -e modify,delete,create,move,attrib /root/tmp/

4、上面的命令表示,持续监听/root/tmp目录及其子目录的文件变化,监听事件包括文件被修改、删除、创建、移动、属性更改,显示到屏幕。执行完上面的命令后,在/root/tmp下创建或修改文件都会有信息输出信息。

Rsysnc Rsysnc配置 Rsysnc安装 VPS主机内容同步

5、如果遇到错误:/usr/bin/inotifywait: error while loading shared libraries: libinotifytools.so.0: cannot open shared object file: No such file or directory,则采用下列方法解决:

32位系统:ln -s /usr/local/lib/libinotifytools.so.0 /usr/lib/libinotifytools.so.064位系统:ln -s /usr/local/lib/libinotifytools.so.0 /usr/lib64/libinotifytools.so.0

6、通过inotifywait监控目标文件上的相应事件,并在事件触发时启动同步,操作命令如下:

root@mon11:/data/rsyncd# vim inotifyrsync.sh#!/bin/bashhost=10.168.23.101src=/home/git/dst=Git_rsyncuser=git/usr/local/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' 
--format '%T %w%f%e' -e modify,delete,create,attrib $src | while read filesdo/usr/bin/rsync -avzP --exclude".gitolite/logs/*" --progress
--password-file=/etc/rsync.passwd $src $user@$host::$dst &>/dev/null && echo "${files} was rsynced" >> /data/rsyncd/rsync.log 2>&1doneroot@mon11:/data/rsyncd#chmod 755 inotifyrsync.shroot@mon11:/data/rsyncd# bash inotifyrsync.sh &

六、Rsysnc使用小结

1、Rsysnc安装还是挺方便的,linux内核从2.6.13起便加入了Inotify支持,通过Inotify可以监控文件系统中添加、修改、移动等各种细微事件,Inotify-tools第三方软件就可以监控文件系统下文件的各种变化情况。

2、Rsysnc同步备份的速度很快,如果是内网的话基本上不用考虑带宽的事情,Rsysnc与Inotify-tools搭配可以实现不同的VPS主机之间的数据同步镜像,对网站数据安全性要求的集群网站可以采用这种方式。

注:相关网站建设技巧阅读请移步到建站教程频道。

(编辑:云计算网_宿迁站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读