rsync+inotify实时同步实例教程分享-linux运维

如果您有服务器咨询问题、购买问题、可以联系我们客服 7271895 690624
商祺云-阿里代理、景安代理、西部代理

1.rsync

与传统的cptar备份方式相比,rsync具有安全性高、备份迅速、支持增量备份的优点,通过rsync可以解决对实时性要求不高的数据备份需求,例如定期的备份文件服务器数据到远端服务器,对本地磁盘定期做数据镜像等。

随着应用系统规模不断的扩大,对数据安全性和可靠性也提出了更高的要求,rsync在高端业务中也逐渐暴露出许多不足。首先,rsync实时同步时,需要扫描所有的文件进行比对,进行差量传输。如果文件数量打到了百万甚至千万量级,扫描所有的文件是非常耗时的,而且正在发生变化的往往是其中很少一部分,这是非常低效的方式。其次,rsync不能实时监测、同步数据。虽然它可以通过linux守护进程的方式进行出发同步,但是两次出发动作一定会有时间差,这样就导致了服务端和客户端出现不一致,无法在应用故障时完全的恢复数据。基于以上原因,rsync+inotify就出现了!

2.inotify(监控)

inotify是一种强大的、细粒度的、异步的文件系统事件监控机制。通过inotify可以监控文件系统中的添加、删除、修改、移动等各种细微事件,利用这个内核借口,第三方软件就可以监控文件系统下的各种情况变化,而inotify-tools就是这样的一个第三方软件。

一、服务端配置(只需要安装rsync

共享到/tmp/下:

1.添加虚拟用户useradd rsync -s /sbin/nologin

chown -R rsync.rsync /tmp/

2.配置rsyncd.conf配置文件

vim rsyncd.conf

#rsync_config_______________start

#rsyncd.conf start##

uid = rsync(用户)

gid = rsync(用户)

use chroot = no(防止出现安全问题)

max connections = 200(有多少个客户端可以连接我这个备份服务器)

timeout = 300(超时,多长时间没有动作就断掉连接)

pid file = /var/run/rsyncd.pid(进程号,将进程号放在这个文件里)

lock file = /var/run/rsync.lock(相当于“锁”的概念,上厕所锁门的概念)

log file = /var/log/rsyncd.log(出错了,可以查看log日志文件)

[tmp](模块)

path = /tmp/(路径)

ignore errors(忽略错误)

read only = false(只读为假,可读,可写的意思)

list = false(不允许列表)

hosts allow = 10.0.0.0/24(允许的主机)

hosts deny = 0.0.0.0/32(拒绝的主机)

auth users = rsync_backup(支持虚拟用户)

secrets file = /etc/rsync.password(用户对应的密码文件)

#rsync_config_______________end

3.建立密码文件

echo “rsync_backup:123456” >/etc/rsync.password

凡是密码文件全部600权限 chmod 600 /etc/rsync.password

4.rsync –daemon daemon模式启动

5.rsync –daemon加入/etc/rc.local

echo “/usr/bin/rsync –daemom” >>/etc/rc.local

二、客户端配置

安装rsyncinotify

1.安装rsyncyum安装即可)

2.建立密码认证文件

echo “123456” >/etc/rsync.password 只需要密码

设置权限600 chmod 600 /etc/rsync.password

3.安装inotify

cd /home/cai/tools/

wget

54 tar xf inotify-tools-3.14.tar.gz

55 ls

56 cd inotify-tools-3.14

57 ./configure –prefix=/usr/local/inotify-tools-3.14

58 make && make install

59 yum install -y gcc

60 ./configure –prefix=/usr/local/inotify-tools-3.14

61 make && make install

62 cd /usr/local/inotify-tools-3.14/

63 ls

64 ln -s /usr/local/inotify-tools-3.14/ /usr/local/inotify

4.脚本都是放在/server/scripts

vim /server/scripts/rsync.sh

#!/bin/sh

host=192.168.76.129

src=/tmp/

des=tmp

user=rsync_backup

/usr/local/inotify/bin/inotifywait -mrq –timefmt ‘%d%m%y %H:%M’ –format ‘%T %w%f%e’ -e modify,delete,create,attrib $src | \

while read files

do

/usr/bin/rsync -avz –delete $src $user@$host::$des –password-file=/etc/rsync.password

echo “${files} was rsynced” >>/var/log/rsyncd.log 2>&1

done

exit o

~

并给予764权限

测试脚本:sh -x /server/scripts/rsync.sh

运行脚本:sh /server/scripts/rsync.sh &

rsync.sh脚本放入到开机启动项中:echo “/tmp/rsync.sh” >>/etc/rc.local

以上就是分享rsync+inotify实时同步实例教程的详细内容,更多请关注学派网其它相关文章!

主题测试文章,只做测试使用。发布者:云大使,转转请注明出处:https://www.xp8.net/server/3150.html

(0)
打赏 微信扫一扫 微信扫一扫
云大使的头像云大使
上一篇 2019年1月15日 下午10:24
下一篇 2019年1月17日 下午9:40

相关推荐

  • Nginx与Apache环境防盗链设置方法-Linux运维-学派吧

    有需要服务器方面的需求和咨询,可以联系博主QQ 7271895(收费) Nginx防盗链方法 Apache防盗链方法 说明:很多人的VPS流量是有限的,而一般情况下我们放在网站上的媒体文件都是可以被别人引用的,我们的文件也就成了别人的免费外链,可想而知流量会消耗的有多快,这时候设置一下防盗链还是很有必要的。 根据我们搭建的系统环境不同,我们在Nginx和Ap…

    服务器运维 2018年9月30日
    2.1K00
  • linux监控工具如何使用?总结监控工具实例用法教程-学派吧

    如果您有服务器咨询问题、购买问题、可以联系我们客服 7271895 690624商祺云-阿里代理、景安代理、西部代理 1、nethogs1)NetHogs是一款开源、免费的,终端下的网络流量监控工具,它可监控Linux的进程或应用程序的网络流量。NetHogs只能实时监控进程的网络带宽占用情况。NetHogs支持IPv4和IPv6协议,支持本地网卡以及PPP…

    2019年1月14日
    2.6K00
  • 购买阿里云ECS服务器后如何确认该服务器的IP信息和地理位置-linux运维

    本篇文章给大家带来的内容是关于购买阿里云ECS服务器后如何确认该服务器的IP信息和地理位置,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 IP地址查询定位 购买阿里云ECS服务器后,如果想确认该服务器的IP信息和地理位置,或需要查询本地公网IP信息,可以使用淘宝IP地址库进行查询。 1. 访问 ip.taobao.com 后,在页面左下侧,…

    服务器运维 2018年11月21日
    2.7K00
  • linxu服务器io带宽测试

    学派吧-受到客户需求。帮忙寻找一个linux服务器测试工具。今天特别找了几个测试工具、经常测试 把这个工具在分享下对于简单的测试手中的Linux VPS、服务器等信息还是有一点点参考比较价值用途的。第一、脚本下载地址1、官方地址 wget https://raw.githubusercontent.com/oooldking/script/master/su…

    2018年8月22日
    4.1K00
  • 学派吧-Linux下如何实现C++操作Mysql数据库的详细介绍-linux教程

    由于工作需要抽出一周的时间来研究C/C++访问各种数据库的方法,并打算封装一套数据库操作类,现在奉上最简单的一部分:在Linux下访问MySQL数据库。 想用C++写项目,数据库是必须的,所以这两天学了一下C++操作MySQL数据库的方法。也没有什么教程,就是在网上搜的知识,下面汇总一下。 连接MySQL数据库有两种方法:第一种是使用ADO连接,不过这种只适…

    2019年1月1日
    2.1K00

发表回复

登录后才能评论
联系我们

联系我们

18838889666

在线咨询: QQ交谈

邮件:xinyun@88.com

工作时间:周一至周五,9:30-18:30,节假日休息

添加微信
添加微信
分享本页
返回顶部
---------官方优惠叠加渠道折扣:通过我们购买腾讯云/阿里云,价格更低,服务更优。更有专业配置指导与服务。微信同步:18838889666----