[linux] lsyncd 文件增量同步利器 用法
简介
自从有一次不小心把home目录删没了,还有一次调整分区大小不小心把home给格没了,我就长心眼了。一定要数据备份。
然后统计了一下,我的个龟龟,30w个文件我拿命备份啊,文件倒是不到(迁移了一部分在移动硬盘里),但是qq聊天记录那些乱七八糟的表情包啊小图片啊,光这一部分就有8w个文件,淦。自然就想到了增量备份。
我比较懒就不发引用了,增量同步大致就有点像git仓库,原理上是会根据文件差异来传输文件,而不是一股脑把所有文件都拷过去(当然它肯定没法像git一样回溯)
安装、配置与使用
原理
其实lsyncd[3]它使用的工具是rsync+inotify。rsync是linux自带的,几乎所有发行版应该都有这个工具,你们也可以尝试一下,直接rsync -av /home/core /tmp/xxx
就好了。第一次拷因为很大所以慢,但是在做出一些修改之后,第二次使用同样的命令就非常快了,只会拷贝修改的文件,具体其它骚操作可以看这里Linux文件同步工具-rsync[2]或者直接man一下手册。
关于lsync的原理下面直接引用大佬的发言[1],本文主要参考的就是这篇了
Lysncd 实际上是lua语言封装了 inotify 和 rsync 工具,采用了 Linux 内核(2.6.13 及以后)里的 inotify 触发机制,然后通过rsync去差异同步,达到实时的效果。我认为它最令人称道的特性是,完美解决了
inotify + rsync
海量文件同步带来的文件频繁发送文