ubuntu 中的版本控制文件(类似于 mac os 中的版本)

ubuntu 中的版本控制文件(类似于 mac os 中的版本)

我有点不知道去哪里查找这个问题,所以我才问,可能存在一些显而易见的东西,而我只是没有找到正确的谷歌关键词。

我想要实现的是:我有多个用户通过 Web 应用访问和修改目录(及其子目录)中的文件。它可以从编辑到上传等等……如果有人犯了错误,我想实现一些版本控制,让用户最终可以在需要时回滚更改(有点像 Mac 上的版本)

我们主要讨论视频、图像,但也讨论 zip、pdf、文本、word 等。在 Ubuntu Server 12.04 上

我希望找到最好的选择,而不必在 Web 应用程序内开发功能(这绝对是最后的手段)。我知道我必须向应用程序添加一些功能,以便与我可能找到的任何工具进行桥接,这很好。

如果我愿意牺牲所需的空间,我可能会使用 rdiff-backup,但考虑到我们在某些情况下谈论的是太比特,我不太倾向于使用此选项(尽管它仍然是一种可能性)

是否有任何可用于生产的文件系统版本控制工具?它们是否可以限制在单个目录中?是否有可以监视目录中的更改并以透明方式将其写入差异的工具?即:修改文件不会修改文件,但会生成差异,所有这些都是透明的,因此就像文件被修改了一样。等等。

提前感谢你的见解。有没有可用的工具

答案1

在这种情况下,最好的选择是 ZFS 或 btrfs 提供的快照。但是,目前还没有将 ZFS 移植到 Linux 的可靠方法,而且 btrfs 还不够稳定,无法用于生产用途(在我看来)。

答案2

另一个选择是设置一个 subversion (SVN) 存储库并研究使用 FSVS (http://fsvs.tigris.org/)。我使用它来对我们所有的 Linux 服务器进行版本控制,尽管我们告诉它忽略很多对版本控制实际上没用的目录(例如 /tmp、/proc、/sys、/var/run 等)。

举个例子,我们用它来监控我们的 FTP 上传目录并定期将任何更改推送到 SVN。

#!/bin/sh
# Only executes FSVS if FSVS reports outstanding changes

FSVS_CONF=~/.fsvs-conf
FSVS_WAA=~/.fsvs-waa
export FSVS_CONF FSVS_WAA

cd /var/ftp

FCOUNT=`/usr/local/bin/fsvs | grep -v 'dir.*\.$' | wc -l`

if [ $FCOUNT -gt 0 ] ; then
    /usr/local/bin/fsvs ci -m "Automatic FSVS snapshot"
else
    echo "Nothing changed"
fi

相关内容