文档章节

lsync 实时同步文件

雁南飞丶
 雁南飞丶
发布于 05/16 11:42
字数 849
阅读 7
收藏 0

环境 rhel6.5  64位

wget https://github.com/axkibe/lsyncd/archive/release-2.2.2.tar.gz

2.3版本编译报错

依赖

    lua5.14

    lua-devel-5.14 

    cmake version 2.8.12.2  

编译安装

tar xvf lsyncd-release-2.2.2.tar.gz

cd lsyncd-release-2.2.2

cmake -DCMAKE_INSTALL_PREFIX=/data/lsync2.2.2

make

make install

lsyncd主配置文件

settings {
    nodaemon = false,
    logfile = "/var/log/lsyncd.log",
    statusFile = "/var/log/lsyncd.status",
    inotifyMode = "CloseWrite",
    maxProcesses = 8
}
-- 可以有多个sync,各自的source,各自的target,各自的模式,互不影响。
sync {
    default.rsyncssh,
    source    = "/home/wwwroot/web1/",
    host      = "111.222.333.444",
    targetdir = "/home/wwwroot/web1/",
    -- 忽略文件路径规则,可用table也可用外部配置文件
    -- excludeFrom = "/etc/lsyncd_exclude.lst",
    exclude = {
        ".svn",
        "Runtime/**",
        "Uploads/**",
    },
    -- maxDelays = 5,
    delay = 0,
    -- init = false,
    rsync = {
        binary = "/usr/bin/rsync",
        archive = true,
        compress = true,
        verbose = true,
        _extra = {"--bwlimit=2000"},
    },
}

忽略规则

需要忽略同步的文件或文件夹,excludeFrom 选项才配置该文件,exclude 类型的配置不用该配置文件。假设配置文件放在/etc/lsyncd_exclude.lst

.svn
Runtime/**
Uploads/**

免密登录

为避免每次都需要手动输入密码,可设置为 SSH 免密登录。

自己的配置文件

root@ *zabbix-backed* @yxsjfxapp03:/root# cat /etc/lsyncd.conf 
settings{
    logfile = "/var/log/lsyncd/lsyncd.log",
    statusFile = "/var/log/lsyncd/lsyncd.status",
    inotifyMode = "CloseWrite or Modify",
    maxProcesses = 1,
    statusInterval = 10,
    nodaemon = true,
    maxDelays = 20
}

sync {
    default.rsyncssh,
    source    = "/opt/website/",
    host      = "9.1.8.244",
    targetdir = "/opt/website/",
    exclude = {
        "aa.txt",
    },
    -- maxDelays = 5,
    delay = 0,
    -- init = false,
    rsync = {
        binary = "/usr/bin/rsync",
        archive = true,
        compress = true,
        verbose = true,
        _extra = {"--bwlimit=2000"},
    },
}
sync {
    default.rsyncssh,
    source    = "/opt/kangchangwei/",
    host      = "9.1.8.244",
    targetdir = "/opt/kangchangwei/",
    exclude = {
        "kangchangwei.txt",
    },
    -- maxDelays = 5,
    delay = 0,
    -- init = false,
    rsync = {
        binary = "/usr/bin/rsync",
        archive = true,
        compress = true,
        verbose = true,
        _extra = {"--bwlimit=2000"},
    },
}

启动

/data/lsync2.2.2/bin/lsyncd -log all /etc/lsyncd.conf &>/dev/null &

添加/etc/rc.local

root@ *zabbix-backed* @yxsjfxapp03:/root# ps -ef|grep lsyncd
root     13541 11723  0 12:50 pts/3    00:00:00 /data/lsync2.2.2/bin/lsyncd -log all /etc/lsyncd.conf

关于 lsyncd.conf 配置文件的详细配置及配置项简要说明

settings 部分,其实就是关于lsyncd工具自身的一些选项设置:


logfile 	  : 指定lsyncd工具本身运行所产生的日志文件存放位置
statusFile	  : 定义lsyncd监控目录状态文件的存放位置
statusInterval	  : 隔多少秒记录一次被监控目录的状态
nodaemon=true 	  : 默认是不启用守护模式的
inotifyMode	  : 指定要监控的事件,如,CloseWrite,Modify,CloseWrite or Modify
maxProcesses  	  : 指定同步时进程的最大个数
maxDelays	  : 当事件被命中累计多少次后才进行一次同步
sync 部分主要用来定义同步时的一些设置,可以同时同步多个目录,只需要在该代码块中事先定义好多个sync即可


default.rsync	: 指定lsyncd运行模式,另外,还有default.direct,default.rsyncssh模式,个人建议缺省
source		: 指定要监控的目录,务必全部用绝对路径
target		: 要同步到的目标目录,一般为rsync服务端模块下指定的目录
init		: 为false时表示只同步lsyncd进程启动以后发生改动事件的文件,否则,反之,默认为true
delay		: 当命中的事件累计到多少时再触发同步
exclude		: 通过此选项排除掉不需要同步的文件,可用它自己的正则进行匹配
delete		: 和rsync 的 --delete 作用一样,先清空再同步
下面是关于 rsync 工具自身的一些设置选项


compress	: 压缩后再同步
bwlimit		: 限速同步,当你不想占满带宽时
archive		: 归档模式同步
perms		: 保留文件原有属性同步

查看日志

 tail -f /var/log/lsyncd/lsyncd.log

© 著作权归作者所有

雁南飞丶
粉丝 37
博文 176
码字总数 228466
作品 0
西安
运维
私信 提问
Rsync+inotify实现文件实时同步

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

tianya1993
2017/09/17
0
0
rsync+inotify实时同步

Rsync+Inotify实时同步 Rsync: rsync是类unix系统下的数据镜像备份工具。使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH、rsync主机同步。 Inotify: Inotify 是...

XiaoBingZ
2017/11/28
0
0
用于收集 TiDB 的 Binlog - TiDB Binlog

TiDB Binlog 组件用于收集 TiDB 的 binlog,并准实时同步给下游,如:TiDB/MySQL等。该组件在功能上类似于 MySQL 的主从复制,会收集各个 TiDB 实例产生的 binlog,并按事务提交的时间排序,...

TiDB
05/06
0
0
Sublime WiFi真机同步和WiFi真机预览使用说明

概述 WiFi真机同步: 通过在Sublime中建立调试服务,接收真机设备主动连接调试的方式,配合apploader及自定义loader,为开发者提供在局域网内通过WiFi实现应用快速真机同步和实时预览的服务,...

达斯雷马
2016/12/20
145
0
APICloud全面支持WiFi真机同步和实时预览功能

APICloud工具插件包括APICloud Studio、Sublime Text和Webstorm全面为开发者提供iOS和Android平台真机同步调试功能,不仅可以通过USB方式进行APP真机同步功能,更新增WiFi真机同步和WiFi真机...

duduo丶
2016/07/13
583
3

没有更多内容

加载失败,请刷新页面

加载更多

Spring Aware 到底是什么?

通过如下前序两篇文章: Spring Bean 生命周期之“我从哪里来”? Spring Bean 生命周期之“我要到哪里去”? 我们了解了 Spring Bean 的生命周期核心内容,bean 是如何被初始化变为 Ready fo...

tan日拱一兵
18分钟前
2
0
Android 调用第三方浏览器打开网址或下载文件

/** * 调用第三方浏览器打开 * @param context * @param url 要浏览的资源地址 */ public static void openBrowser(Context context,String url){ final Intent intent = new Intent(); int......

丁佳辉
23分钟前
1
0
PostgreSQL系统表及其TOAST是如何定义的

本文只是讲PG怎样定义系统表,而不是修改系统表甚至是定义自己的系统表。 PG系统表,比如:pg_class、pg_attribute、pg_type 等等 这几个表相互关联,后两者要在pg_class记录自己的表定义,而...

有理想的猪
32分钟前
3
0
总结无线AP与AC之间的各种问题

无线网络搭建中,都说AP+AC的组网模式最现在最先进的,但是在使用过程中还是存在一些问题,下面这些有没有大家碰到的呢? 无线网络搭建中,都说AP+AC的组网模式最现在最先进的,但是在使用过程...

xiangyunyan
36分钟前
2
0
IT兄弟连 Java语法教程 流程控制语句 循环结构语句4

do-while循环 Java还有一种循环是do-while。与for、while这些在循环顶部判断条件表达式的语句不同,do-while是在循环底部进行条件表达式的检查。这意味着do-while循环至少要执行一次循环体。...

老码农的一亩三分地
58分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部