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 。
|