所以,基本上,我正在寻找 Linux 软件来监视文件夹(及其子文件夹)的任何更改并应用某种形式的版本控制(即,保留“数据库”或其他任何内容,我可以从中恢复文件)。
使用传统 SCM(GIT、SVN、HG 等)无法做到这一点的原因有两个:
- 监控和版本控制必须是自动的(唯一的顺序标准是时间)
- 我需要的软件是做某件具体的事情,与 SCM 不同,SCM 可以做更多的事情(当然也更容易出错)
将要运行的服务器是非托管的 VPS,因此具有相当大的控制权 - 但恐怕不足以安装版本控制文件系统分区。
在此期间,请知悉我已退房回溯已经,但我并不觉得它有什么特别,并且不愿意使用 7 年前(2004 年)最后更新的软件。
很抱歉将麻烦转嫁给其他服务器故障用户,但我无能为力 ;)
编辑:顺便说一句,虽然我更希望它基于 CLI,但也欢迎任何替代方案!
编辑2:并不是要批评 Linux 或其他什么,但是有了 Linux(Unix)的信号概念,这应该不难编写(当然由专门的团队编写)。
事实上,我正在使用一个已经这样做的系统(Dropbox),但目的不同,因此版本控制限制为 30 天(版本控制保存在在线存储中)。但它表明这个概念是完全可行的。
答案1
如果你不想按照 Zoredache 的建议使用 rsync,我的下一个建议是编写一个脚本,使用通知来监控变化。这并不困难。
然后,您的脚本是否自动将更改的文件提交到传统的版本控制系统(如 svn、git 等)或仅将文件的最后 X 个版本保留在其他地方取决于您。
答案2
答案3
我知道一种可以做到这一点的方法。它是一种专有文件系统,附带了一堆其他东西,因此价格非常昂贵,但它确实能满足您的大部分需求。它被称为 NSS,随 Novell 的 Open Enterprise Server 2 一起提供。与 Wayback 不同,它实际上仍受支持。它保留了所谓的“挽救”树,它将保留卷上可用空间减去 20%(可配置)的“已删除”数据。
需要注意的是,它不会跟踪特定文件的修订,只会跟踪被删除并重新创建的文件。因此,Excel 文件会被跟踪,但 Access 数据库不会被跟踪。
NSS Salvage 只会跟踪一段时间,具体取决于卷上剩余的可用空间。将它与一个自动系统配对,将文件从 Salvage 拉出并放入更传统的修订控制系统中,您就拥有了一个非常强大的解决方案。不过,这确实意味着要与 Novell 打交道。