最新文章
- subject 此内容被密码保护
- subject 神船K650D-SL5D1安装Ubuntu 16.04.1 LTS注意事项
- subject 英雄440墨水的正确用途
- subject 写乐极黑与施耐德BK406
- subject 废物利用,将旧手机变成桌面时钟
- subject 控制OneDrive图片链接的尺寸
- subject 给外接电源的USB Hub加上供电隔离
- subject rsync+inotify-tools,靠谱的实时文件备份方案
- subject 用旧手机架设Minecraft服务器
- subject 辣鸡!
最近回复
Nyan Kusanagi
问:那么我的散装内网穿透服务端实际运行在哪呢?(
C
几年没回过北京了,鸟地方环境差,人也暴躁。混完文凭就回国,基本在...
Nyan Kusanagi
加油大佬!大佬打算去哪闯荡?现在应该不在北京吧?前阵子出差北京,...
C
大佬生日快乐!又是一年了,祝一切顺利!明年我要出去闯荡,也快回归...
小M
15元不知道几年的AWS了解一下。我就挂个v2.
分类
归档
友链
肥宅之家
Voya's Blog
所谓曾经,就是幸福。
小Mの坟墓
打杂打杂…哒哒哒…
RanchoH
❤new direction.
妄境
那一场风花雪月的事,飘荡在春去秋来的日子里。
LGiki's Blog
This is LGiki's Blog
螺莉莉数据中心
天才少女螺莉莉的数据中心
rsync+inotify-tools,靠谱的实时文件备份方案
同人音声颇有意思,最近已经到了不听就无法入睡的地步。虽说如此,最近主要听的也只有耳搔耳舐,起初也有听过一些R18的,但感觉并不是很有趣。然而,有了这种兴趣,就免不了收一些合集什么的,一阵搜刮,硬盘空间又少了百来G。
有了这些东西,自然是得找个地方安置,我的意思是,万一出现什么问题,硬盘挂了格了,数据丢了怪可惜,得备份。
说到备份,最先想到的就是各种云存储。说到云存储,记得有段时间国内各家云存储各种撕逼,空间奖励一个比一个豪爽,差点就让人产生了这些东西可以代替仓库盘的错觉,然而好景不长,净网的搅屎棍让这些美好的泡沫提前破灭,尽管知道它们一开始也没打算让用户给自己的数据作主,不过看到这些我才可以放心。总之国内服务不可考虑,那么再看国外,国外云存储的免费额度往往较小,而付费方案相对较高,而且面临出口带宽和众所周知的各种不确定因素,总的来说,也难以考虑。
果然,云存储什么的还是没本地存储简单可靠,嗯,还是买块硬盘吧。不过,我这么健忘和怕麻烦,不一定记得和愿意每隔一段时间手动备份。但这也不是什么难事,交给机器就好了,我知道现在有不少这样的软件,只要文件有一点变化,它们跑的比谁都快,GoodSync就是个中翘楚。正好前不久在张大妈上看到的Newifi Y1路由器能够派上用场了,刷上OpenWrt,安装开启samba,就可以作为GoodSync的服务端了。不过GoodSync毕竟是付费商业软件,并且只支持Windows与OSX,现在我在Linux上又得砍掉重练。起初试了试ownCloud,感觉这货在各个平台上的客户端都很弱鸡,而且由于服务端是php,效率大打折扣,对运行环境和机器硬件的要求严苛,硬件本来很弱加上一些php模块也缺少现成编译版的路由器更是不堪重负,这样的程序就算是运行在VPS上,配置与资源也不能差。虽然ownCloud号称多平台兼容,但限于这个不合适的环境,最终的使用体验并不理想,只得放弃这个方案。
后来在不断Google更换关键词的过程中看到一些文章,得知还可以靠rsync+inotify-tools这个方案实现。Linux下,两个开源软件,安装简单,配置过程也谈不上复杂,我觉得很合适。
那么,到这里就简要的记录一下配置的过程。
一、配置服务端
服务端上只需要rsync,inotify是用于客户端,监控文件变化触发rsync同步动作。不同的发行版安装配置有微小的差异,这里是OpenWrt。
1.安装rsync
不知道为啥,rsync在OpenWrt下分成了两个包,一个里面只有二进制可执行文件,一个是启动脚本和配置文件,不过,rsyncd不装也行,反正配置文件知道内容格式放哪都行,自启动就加在rc.local里也可以。
2.配置rsync
创建和编辑配置文件和secrets文件和启动脚本,配置文件已经有了,在/etc/rsyncd.conf,为了方便找就把它与secrets文件放在同一个目录。
rsyncd.conf的内容:
rsyncd.secrets的内容示例:
因为配置文件位置改变,所以要修改启动脚本:
修改完成,启动rsync,将其设为自启。
至此服务端配置完成。
二、配置客户端
以下是在Ubuntu 16.04 LTS上的步骤。
1.安装rsync和inotify-tools
2.创建密码文件用于认证,并修改权限为600,所有者与用户组为当前用户/组
文件内只有一行密码,与前文rsyncd.secrets里对应用户的密码对应。
3.创建inotify+rsync方法脚本
为了不被忘却,就放在备份目录里。
内容:
保存后运行测试:
如果没有意外,此时应该能看到输出的同步传输的过程了。如果出现报错,注意服务端的rsync运行日志。
将它加进rc.local的“exit 0”之前,使其自启。
至此,客户端的配置完成。
根据短暂的体验,速度还是很快的,rsync以增量方式传输,感觉比之前用GoodSync+samba更快,是否稳定有待观察。
-Update:2016/05/10-
经过几天的日常使用,看起来还是很稳定的,要注意的是客户端与服务端不同文件系统以及内核支持的文件名规范的区别,如文件名长度,允许字符,组成格式等。
参考来源:
通过rsync+inotify实现数据的实时备份
rsync服务器架设(数据同步|文件增量备份)
label rsync, inotify-tools, 实时备份, linux
已有 7 条评论
一直在用坚果云 希望不会倒闭QAQ
坚果云确实能看出来和那堆虚胖盘不是一路的,但它诚心诚意的告诉我的事实就是免费配额完全不够用啊。
原来是这种兴趣 (・∀・)
超棒的!发出去一会想起来了,你是说之前我提到的那个恶劣的兴趣?虽然不是这个...不过那已经过去了,变态就好,恶劣的变态还是算了吧。
SM张大妈我买过几款发现质量不行,然后再也不看了……
我存文件一般式把数据按月份归档,然后同时扔进移动硬盘、115、沃云盘(备选微盘、够快,据说这几家不屏蔽文件)
不过考虑到国内市场的尿性,我一般把那些非常重要的文件备份进VPS。(直接拖进去)
移动硬盘永远是第一选择~
别人的毕竟不如自己的放心
按说做这种事树莓派比较合适,然而树莓派板载无线性能太差,而我实在不太喜欢有线的老树盘根,毕竟就这么点事,路由还便宜,我现在将它放在冰箱上面,无声无息,默默无闻。
我觉得上张大妈学姿势大于剁手的乐趣,而且花比较小的代价吃一堑长一智慢慢积累见闻也算是比较值的。
国内那些就算忽略稳健性和安全性,有Linux客户端的没几家。分散风险是好,我正在做的也是相同的目的,不过,我觉得最好还是不要将免费云存储作为这件事的重心。