
https://github.com/infinet/rsync-time-machine
好吧,这个名字很大路。
前段时间勒索软件横行,加上担心文件服务器曾因空调系统故障“发烧”埋下了隐患,所以写了这个脚本打算把文件服务器定期备份到另一台机器。现成的类似程序不少,比如 rsnapshot , backintime 等。个人已经用了好几年 backintime ,很不错,只不过 backintime 可以从本机往远程备份,反过来却不行。需要从远程往本地备份的通常是用 sshfs 把远程 mount 到本地,再从本地备份到本地。这样的话完全不能发挥 rsync 最神奇的功能。
功能:
1 guonning 2016-04-05 00:10:56 +08:00 via Android 已收藏 |
2 RqPS6rhmP3Nyn3Tm 2016-04-05 00:28:34 +08:00 via Android 如果能加密就更好了!现在用的是自己写的脚本,定时打包后 PGP 加密上传百度云。 虽然这样很傻,但是百度云空间大啊… |
3 ivmm 2016-04-05 07:31:57 +08:00 via Android 个人也觉得最好有加密 |
4 churchmice 2016-04-05 09:30:21 +08:00 via Android 楼主这功能 rbme 早就实现了吧 |
5 infinet OP |
6 infinet OP @churchmice以前没 google 到 rbme...,它的报告和自动剩余空间处理很强大,不过对我来说 rbme 还是不太适用,因为它是根据剩余空间和 inode 来删除过去的备份,而不是象时光机器一样配置为自动保留周备份,月备份;另外它必需通过建立几个 rbme 符号连接来同时跑多个备份任务,这种设置方式有点费脑子。 |
7 RqPS6rhmP3Nyn3Tm 2016-04-05 11:02:23 +08:00 @infinet 想也是想到了,但是这样一个显著的问题是无法恢复到指定时间点的文件。不知道有没有办法可以做成 Time Machine 这样的加密备份 |
8 infinet OP @BXIA 刚试了一下,可以在 eCryptfs 上用 hard link ,这样就简单了,在 USB 硬盘上建个保存备份的目录并用 eCryptfs 加密,每次备份前 mount 这个目录。要恢复指定时间点直接查看该时间的备份就是。这个加密目录 umount 后就可以直接向云端同步。 |
9 julyclyde 2016-04-05 21:23:39 +08:00 现成的 rsnapshot rdiff-snapshot |
10 infinet OP rsnapshot 只能设置保留过去 m 天和 n 小时的备份; rdiff-snapshot 我用过一段时间,网络传输效率很高,底层用的就是 rsync ,磁盘空间利用率也不错,但恢复备份不直观,不能直接浏览备份,还有它保存的是文件内容变动 delta ,所以不能任意删除某时间点的备份,删掉后前后备份就连不上了。 备份脚本太多了,各取所需吧。 |
12 infinet OP 多数基于 rsync 的备份软件都是用 hard link 来保存没有变化的文件,如果文件有变动就存一份完整的新拷贝, delta 只用在传送; rdiff-backup 走的不同的路子,它保存前一个备份的基础上的 delta 。 |