可否将整个磁盘添加类似版本控制的机制, 检测到文件变动自动记录

2014-09-12 20:01:50 +08:00
 typcn
有的时候 批量删除文件又不小心框选了其他文件 自己却不知道 直到清空了 Trash...
有的时候 经常会误覆盖文件 导致原来内容丢失...
有的时候 修改了文档 点击保存关掉之后又觉得之前的版本好....

当然这些情况很少出现,谁也不愿意发生这种事,但是又无法避免

所以可否监视文件系统,在文件发生变动的时候自动将其备份到一个专门的分区,记录下备份时间,当磁盘满时自动覆盖最早的备份。

这种想法是否可行?这样会对 IO 性能有很大影响吗?是否已经有现有软件?
4731 次点击
所在节点    奇思妙想
26 条回复
66450146
2014-09-12 20:05:13 +08:00
Time Machine?
qsun
2014-09-12 20:05:50 +08:00
typcn
2014-09-12 20:06:27 +08:00
@66450146 那个是定时的
lsylsy2
2014-09-12 20:06:49 +08:00
在文件发生变动的时候
这个非常难界定。比如QQ的聊天记录存在一个单文件的数据库里(类似SQLite),每分每秒都在读写……然后你的磁盘就塞满了最近一小时的成千上万个版本的数据库,覆盖掉了也许很有用的备份……

实际上定时备份or各种网盘的同步都是不错的方案,经典例子TimeMachine
lsylsy2
2014-09-12 20:07:59 +08:00
@typcn 如何在控制冗余的情况下实现实时版本维护,目前还处在学术界研究的范围……
typcn
2014-09-12 20:11:33 +08:00
@qsun 好东西!! 谢谢
typcn
2014-09-12 20:13:12 +08:00
@lsylsy2 这确实是个问题 二进制文件 怎样只同步变化部分 好像非常难实现....
pfitseng
2014-09-12 20:23:10 +08:00
EMC已经实现了,可以备份到秒
lsylsy2
2014-09-12 20:23:42 +08:00
@typcn 另外,这样等于消耗了至少双倍的IO(写进另一个分区)和若干的内存CPU等资源……
所以目前最现实的还是定时备份,或者寄托第三方云比如Dropbox之类
chenshaoju
2014-09-12 20:26:43 +08:00
其实Windows从XP开始也具备这个功能,基于系统还原……

ffffwh
2014-09-12 20:27:21 +08:00
Linux下NILFS(experimental),append-only,可回退到任意状态。

一些软件自带版本管理,比方说MS Office、比方说Apple自家各种。
另外Windows 8有个和Time Machine差不多的功能叫File History。
chenshaoju
2014-09-12 20:28:44 +08:00
另外,一些文件恢复软件,比如免费的 Recuva ,也可以从系统还原的备份中恢复文件。

banbanchs
2014-09-12 21:23:26 +08:00
btrfs
gamexg
2014-09-12 22:01:57 +08:00
zfs
xdeng
2014-09-12 22:04:16 +08:00
自己写 文件系统驱动过滤阿
ferock
2014-09-12 22:30:14 +08:00
@qsun 已经试用过,这货不怎么样
c742435
2014-09-12 23:09:30 +08:00
有这种文件系统。
如果是定时备份,有现成的,win叫卷影副本,mac叫time machine。
如果是每次更改都可以回滚,那应该要上文件系统了。
c742435
2014-09-12 23:13:44 +08:00
无论定是备份还是特定的文件系统,对读写性能本身都没有大影响。
不过定是备份通常是会备份到另外的磁盘,那么传输备份会占用io。如果只是使用当前磁盘的快照,不被分到其他硬盘,则没有影响
wjqaone
2014-09-13 00:01:16 +08:00
如果这个可以实现那就真的很好了
windywinter
2014-09-13 00:20:10 +08:00
ZFS

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/133134

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX