文档章节

rsync配置 文件同步

五味格子
 五味格子
发布于 2015/08/14 09:32
字数 1018
阅读 62
收藏 0
点赞 0
评论 0

客户端拉取服务端更新

服务端配置

vim /etc/rsyncd.conf

secrets file = /etc/rsyncd.secrets
#motd file = /etc/rsyncd.motd
read only = yes 
list = yes 
uid = nobody
gid = nobody
hosts allow = 10.51.99.247     #哪些电脑可以访问rsync服务
#hosts deny = 192.168.100.0/24   #哪些电脑不可以访问rsync服务
max connections = 2 
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsyncd.lock
 
[data]
comment = loeye'dir from 10.51.79.40
path = /mnt/wwwroot/data
auth users = root


vim /etc/rsyncd.secrets

root:123456

chmod -R 600  /etc/rsyncd.secrets

rsync --daemon --config=/etc/rsyncd.conf

echo "/usr/bin/rsync --daemon --config=/etc/rsyncd.conf" >>/etc/rc.d/rc.local


客户端配置


vim /etc/rsyncd.secrets

123456

vim /mnt/rsyncd.sh

#!/bin/sh           
rsync -vaAXHzu --progress --delete --exclude={"cache","runtime","*svn"}  root@10.51.79.40::data /mnt/data/ --password-file=/etc/rsyncd.secrets


crontab -e   

*/5 * * * * sh  /mnt/rsyncd.sh 


服务端推送更新

服务端配置


vim /etc/rsyncd.secrets

123456

以计划任务更新(可选)

vim /mnt/ rsyncd.sh

#!/bin/sh                                                                                                                                          
rsync -vaAXHzu --progress --delete --exclude={"cache","runtime","*svn"} /mnt/data/  root@10.51.99.247 ::data  --password-file=/etc/rsyncd.secrets

crontab -e

*/5 * * * * sh  /mnt/rsyncd.sh


以Inotify-tools 实时更新(可选)

1、查看服务器内核是否支持inotify

ll /proc/sys/fs/inotify   #列出文件目录,出现下面的内容,说明服务器内核支持inotify

-rw-r--r-- 1 root root 0 Mar  7 02:17 max_queued_events

-rw-r--r-- 1 root root 0 Mar  7 02:17 max_user_instances

-rw-r--r-- 1 root root 0 Mar  7 02:17 max_user_watches

备注:Linux下支持inotify的内核最小为2.6.13,可以输入命令:uname -a查看内核

CentOS 5.X 内核为2.6.18,默认已经支持inotify

2、安装inotify-tools

wget http://github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz

 https://codeload.github.com/rvoicilas/inotify-tools/tar.gz/v3.14  (备用)

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、修改inotify默认参数(inotify默认内核参数值太小)

查看系统默认参数值

sysctl -a | grep max_queued_events

结果是:fs.inotify.max_queued_events = 16384

sysctl -a | grep max_user_watches

结果是:fs.inotify.max_user_watches = 8192

sysctl -a | grep max_user_instances

结果是:fs.inotify.max_user_instances = 128

修改参数:

sysctl -w fs.inotify.max_queued_events="99999999"

sysctl -w fs.inotify.max_user_watches="99999999"

sysctl -w fs.inotify.max_user_instances="65535"

vi /etc/sysctl.conf #添加以下代码

fs.inotify.max_queued_events=99999999

fs.inotify.max_user_watches=99999999

fs.inotify.max_user_instances=65535

参数说明:

max_queued_events:

inotify队列最大长度,如果值太小,会出现"** Event Queue Overflow **"错误,导致监控文件不准确

max_user_watches:

要同步的文件包含多少目录,可以用:find /home/www.osyunwei.com -type d | wc -l 统计,必须保证max_user_watches值大于统计结果(这里/home/www.osyunwei.com为同步文件目录)

max_user_instances:

每个用户创建inotify实例最大值

5、创建脚本,实时触发rsync进行同步

vim /usr/local/inotify/rsync.sh   #编辑,添加以下代码

======================================

#!/bin/sh
srcdir=/mnt/data/
dstdir=data
rsyncuser=root
rsyncpassdir=/etc/rsyncd.secrets
dstip="192.1681.127 192.168.1.128"
for ip in $dstip
do
rsync -vaAXHzu --progress --delete --exclude={"cache","runtime","*svn"}  $srcdir $rsyncuser@$ip::$dstdir --password-file=$rsyncpassdir >> /dev/null 2>&1
done
/usr/local/inotify/bin/inotifywait -mrq --exclude='^.*/(cache|runtime|\.svn|download|(index\.php$)|(.*\.(swp|swx)$))' --timefmt '%d/%m/%y %H:%M' --format '%T %w %f %e' --event close_write,modify,delete,create,attrib,move $srcdir |  while read file
do
for ip in $dstip
do
rsync -vaAXHzu --progress --delete --exclude={"cache","runtime","*svn"}  $srcdir $rsyncuser@$ip::$dstdir --password-file=$rsyncpassdir >> /dev/null 2>&1 
echo "  ${file} was rsynced" >> /tmp/rsync.log 2>&1
done
done

======================================

chmod u+x  /usr/local/inotify/rsync.sh    #添加脚本执行权限

脚本参数说明:

srcdir=/mnd/data/  #源服务器同步目录

dstdir=data    #目标服务器rsync同步目录模块名称

rsyncuser=root  #目标服务器rsync同步用户名

rsyncpassdir=/etc/rsyncd.secrets #目标服务器rsync同步用户的密码在源服务器的存放路径

dstip="192.168.1.127 192.168.1.128"  #目标服务器ip,多个ip用空格分开

/tmp/rsync.log  #脚本运行日志记录

6、设置脚本开机自动执行

vim /etc/rc.d/rc.local  #编辑,在最后添加一行

/usr/local/inotify/rsync.sh & #设置开机自动在后台运行脚本

7、启动脚本

/usr/local/inotify/rsync.sh &


客户端配置

vim /etc/rsyncd.conf

secrets file = /etc/rsyncd.secrets
#motd file = /etc/rsyncd.motd
read only = no 
#list = yes 
uid = root
gid = root
hosts allow = 10.51.79.40     #哪些电脑可以访问rsync服务
#hosts deny = 192.168.100.0/24   #哪些电脑不可以访问rsync服务
max connections = 2 
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsyncd.lock
 
[data]
comment = loeye'dir from 10.51.79.40
path = /mnt/wwwroot/data
auth users = root


vim /etc/rsyncd.secrets

root:123456


chmod -R 600  /etc/rsyncd.secrets

rsync --daemon --config=/etc/rsyncd.conf

echo "/usr/bin/rsync --daemon --config=/etc/rsyncd.conf" >>/etc/rc.local


© 著作权归作者所有

共有 人打赏支持
五味格子

五味格子

粉丝 67
博文 246
码字总数 188782
作品 0
成都
程序员
Linux系统与windows系统文件同步

这篇文章我们需要分三个部分进行讲解: 1、 windows系统同步文件到Linux系统 2、 Linux系统同步文件到windows系统 3、 windows与windows系统之间的文件同步 一、windows系统同步文件到Linux...

vfast_wuwei
2015/06/02
0
0
Rsync 实现文件定时同步

rsync的规划: Rsync配置前首先规划好,同步的方向性。方向性分为推和拉的方式,规划推、拉是为了可以在防火墙设置端口是谁主动连接。例如:一般为从APP服务器生成的静态页面使用推的方式将文...

stone_
2015/07/09
480
0
烂泥:Linux系统与windows系统文件同步

本文由秀依林枫提供友情赞助,首发于烂泥行天下。 上篇文章中,我们介绍了有关Linux系统之间的文件同步,这篇文章我们来介绍下,有关Linux系统与windows系统,以及windows系统与windows系统之...

烂泥行天下
2015/01/20
0
0
rsync , rsync + ssh, rsync + lsyncd 多种同步方案与比较

利用 ssh+rsync 只需要在服务器端打开 ssh 服务, 并启动 xinetd 中 rsync 服务则可使用 a. 增量同步 rsync -av /src-dir/. user@ipadress:/dest-dir/. b. 镜像同步 rsync -av --delete /src-...

文弱书生_罗剑
2015/08/19
0
0
Rsync+Inotify-client 实现实时同步

在前面的博文实践记录之-Rsync镜像备份介绍了镜像备份工具Rsync的安装和使用.但在大数据时代,rsync的不足之处也暴露出来. 首先.rsync本身实现不了实时备份.靠系统的crontab实现的话也受...

乜波
2014/07/16
0
0
rsync+inotify实时同步

rsync+inotify实时同步 一、rsync与inotify介绍: 1、rsync (remote sync)是一款非常好的数据同步工具,能够通过对比同步双方的数据变动,实现增量同步,还可以通过LAN/WAN实现远程多台主机...

听雨x
2017/11/30
0
0
Rsync实现主服务器热备份

Rsync全称是remote synchronize,也就是远程同步工具。官网介绍,“rsync is an open source utility that provides fast incremental file transfer. (rsync是一款提供快速增量文件传输的开...

shiw019
2016/05/22
191
0
sersync+rsync原理及部署

一、为什么要用rsync+sersync架构? 1、sersync是基于inotify开发的,类似于inotify-tools的工具 2、sersync可以记录下被监听目录中发生变化的(包括增加、删除、修改)具体某一个文件或者某...

次渠龙哥
2015/07/23
0
0
Rsync+inotify实现文件实时同步

数据备份、文件备份是运维、DBA等岗位最熟悉不过的话题,这里不介绍数据库的备份,简单介绍一下文件同步工具,这样的工具有很多,Windows环境下有Goodsync、FreeFileSync等,Linux下rsync、u...

tianya1993
2017/09/17
0
0
rsync 远程同步 linux 及 windows 主机

一、前言 1、rsync原理及rsync+inotify触发同步 可以配置SSH信任,做信任后,同步就不需要密码文件了 http://nmshuishui.blog.51cto.com/1850554/1387048 2、本篇说明 为了保证数据的绝对可靠...

nmshuishui
2014/07/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

http状态码与ajax的状态值

ajax状态值 1.1 200 & OK:状态请求成功

litCabbage
8分钟前
0
0
iOS动画效果合集、飞吧企鹅游戏、换肤方案、画板、文字效果等源码

iOS精选源码 动画知识运用及常见动画效果收集 3D卡片拖拽卡片叠加卡片 iFIERO - FLYING PENGUIN 飞吧企鹅SpriteKit游戏(源码) Swift封装的空数据提醒界面EmptyView 沙盒文件浏览与分享调试控...

sunnyaigd
11分钟前
0
0
AngularJS配置.run()块中设置路由事件的监听器以及过滤未经授权的请求

AngularJS中的run方法初始化全局数据,只对全局作用域起作用,如$rootScope.多个控制器之间可以共享数据,如下代码所示: <script type="text/javascript"> var m1 = angular....

孟飞阳
12分钟前
0
0
Java语言学习(十):输入/输出

Java中,I/O操作代表着输入、输出,Java所有的I/O机制都是基于数据流进行输入输出。java.io类包提供了很多的输入输出处理功能方法,大家可以参考下JDK文档中关于I/O的一些处理方法:JDK在线中...

海岸线的曙光
21分钟前
0
0
基于阿里出得ng-Alain搭建后台管理系统

首先跟大家介绍一下ng_Alain(阿里团队出品) ng-alain技术栈基于 Typescript、Angular、g2、@delon 和 ng-zorro-antd,提前了解和学习这些知识会非常有帮助。 ng-alain 脚手架是基于 Angular ...

方宏春
26分钟前
1
0
Spring框架IOC和AOP的实现原理

一、IoC(Inversion of Control) (1). IoC(Inversion of Control)是指容器控制程序对象之间的关系,而不是传统实现中,由程序代码直接操控。控制权由应用代码中转到了外部容器,控制权的转...

HaierBrother
28分钟前
0
0
C++模版编程实现Haskell的函数模式匹配特性[图]

C++模版编程实现Haskell的函数模式匹配特性[图]: 大神 Bartosz Milewski 在2009年写了一篇文章《What Does Haskell Have to Do with C++?》,使用C++实现Haskell函数式编程语言的一些特性。...

原创小博客
29分钟前
0
0
${value}

1、就算 mapper 里面配置的名称是configSql ,在xml 里面配置的时候要注意 报错:org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.Reflectio......

职业搬砖20年
35分钟前
1
0
Xamarin 学习笔记 - Layout(布局)

本文翻译自CodeProject文章:https://www.codeproject.com/Articles/1227733/Xamarin-Notes-Xamarin-Forms-Layouts 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案...

葡萄城技术团队
36分钟前
0
0
开启Tomcat APR运行模式,优化并发性能

Tomcat支持三种接收请求的处理方式:BIO、NIO、APR 1) BIO模式:阻塞式I/O操作,表示Tomcat使用的是传统Java I/O操作(即java.io包及其子包)。Tomcat7以下版本默认情况下是以bio模式运行的,...

blackfoxya
44分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部