博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
centos 7 编译安装以及配置rsync+inotify 文件实时同步操作记录
阅读量:5227 次
发布时间:2019-06-14

本文共 2508 字,大约阅读时间需要 8 分钟。

准备工作:

服务器A 源文件服务器 192.168.0.1

服务器B 数据备份服务器 192.168.0.2

 

注意:服务器A修改文件 实时同步到 服务器B, 服务器A和B都需要安装rsync,

并且B服务器的rsync要实时运行保持随时准备接收数据的状态,并且服务器A还需要安装inotify。

一、 安装rsync  、inotify

看一下你服务器有没有安装这两款软件  rpm -aq|grep rsync     rpm -aq|grep inotify

我们尽可能采用编译安装的方式,能学习到更多

下载  rsync-3.0.9.tar.gz 和inotify-tooles-3.14.tar.gz的压缩包,我下载放到了我服务器上的/usr/local/src 目录下,这个随意

 

  

 二、配置rsync

创建 /home/wwwroot/test 目录  

mkdir /home/wwwroot/test#修改权限,必须要有读,写,执行权限,否而会失败chmod 770 /home/wwwroot/test#修改所属chown nobody.nobody /home/wwwroot/test

  

 1、在B服务器上新建rsync配置文件

touch /etc/rsyncd.conf  我们放在 /etc目录下

内容如下:

# /etc/rsyncd: configuration file for rsync daemon mode# See rsyncd.conf man page for more options.# configuration example:uid = nobody gid = nobodyuse chroot = nomax connections = 4log file = /var/log/rsyncd.log #日志记录lock file = /var/run/rsyncd.lock #锁文件pid file = /var/run/rsyncd.pidmotd file = /etc/rsyncd.motdtransfer logging = yesport = 873 #rsync使用的端口read only = yes #是否允许客户端上传数据,yes 表示不允许#timeout = 900#ignore nonreadable = yes#dont compress   = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2[test]path = /home/wwwroot/testauth user = rcyncuser
secrets file = /etc/rsyncd.secrets #用来认证客户端的密钥文件 #hosts allow = 192.168.0.1 #设置允许那些主机进行同步数据 #hosts deny = * #除了hosts allow定义的主机外,拒绝其他所有 #exclude = // #排除指定目录

  

2、 创建 rsyncd.secrets 文件,用来存放认证A服务器的密钥文件

echo "rcyncuser:123" > /etc/rsyncd.secrets#设置密钥文件权限chmod 600 /etc/rsyncd.secrets#开启rsyncrsync --daemonecho "rsync --daemon" >> /etc/rc.local#rsync默认端口是873,设置防火墙永久允许firewall-cmd --permanent --add-port=873/tcp    firewall-cmd --reload

  

二、A服务器rsync inotify 配置

1、rsync安装 同上, 可以不用配置 /etc/rsyncd.conf

 2、设置密码文件

echo "123" > /etc/rsyncd.passwdchmod 600 /etc/rsyncd.passwd

  

现在其实就可以用过rsync命令来查看 B服务器上的组

raync -avz rsyncuser@192.168.0.1::    这样运行后会返回:  test

 

3、安装 inotify

4、编写安装脚本 inotify.sh 

#!/bin/bash#export PATH=/bin:/usr/bin:/usr/local/binsrc=/home/wwwroot/www_57yn_cn/uploads/passfile=/etc/rsync.passwordclient=192.168.0.2desc=testinotifywait -mrq --timefmt '%y-%m-%d %H:%M' --format '%T %w%f %e' -e modify,create,move,delete,attrib $src | while read linedo        #if [-f $line];then                echo "" > /var/log/inotify_test 2>&1                rsync -avz --delete --progress --password-file=$passfile $src rsyncuser@$client::$desc >> /var/log/sync_test 2>&1        #else        #       cd $src && \        #       rsync -az ./ --delete --password-file=$passfile $src rsyncuser@$client::$desc     #fidone

  

执行inotify.sh

sh inotify.sh &  #后台执行

转载于:https://www.cnblogs.com/murenhui/p/8929840.html

你可能感兴趣的文章
pip和easy_install使用方式
查看>>
博弈论
查看>>
Redis sentinel & cluster 原理分析
查看>>
我的工作习惯小结
查看>>
把word文档中的所有图片导出
查看>>
浏览器的判断;
查看>>
ubuntu 18.04取消自动锁屏以及设置键盘快捷锁屏
查看>>
Leetcode 589. N-ary Tree Preorder Traversal
查看>>
机器学习/深度学习/其他开发环境搭建记录
查看>>
xml.exist() 实例演示
查看>>
判断是否为空然后赋值
查看>>
zabbix监控日志文件
查看>>
正则表达式
查看>>
pip install torch on windows, and the 'from torch._C import * ImportError: DLL load failed:' s...
查看>>
环套树
查看>>
java基础(一):我对java的三个环境变量的简单理解和配置
查看>>
arcgis api 4.x for js 结合 Echarts4 实现散点图效果(附源码下载)
查看>>
YTU 2625: B 构造函数和析构函数
查看>>
apache自带压力测试工具ab的使用及解析
查看>>
C#使用Xamarin开发可移植移动应用(2.Xamarin.Forms布局,本篇很长,注意)附源码
查看>>