寻找可以跟踪整个 *nix 操作系统中系统文件变化的 VCS 包装器,并通过电子邮件发送差异

寻找可以跟踪整个 *nix 操作系统中系统文件变化的 VCS 包装器,并通过电子邮件发送差异

我需要一些软件来管理整个操作系统中的自定义目录(即 /etc),并在有人编辑其中的某个文件时提醒我。此外,此工具必须自动提交并将更改推送到备份服务器,这样我就可以轻松确定特定文件中的特定更改是在何时进行的。我正在使用备份但我想创造或找到一些更现代的东西。

我认为使用 git 作为 VCS 是个好主意。我可以拥有本地存储库并轻松恢复配置文件中的更改。此外,将更改推送到远程存储库将有助于我在服务器出现故障时恢复配置文件。

编写一些 git 包装器似乎并不困难,但存在很多问题。例如,我需要跟踪自定义目录:/usr/local/nginx//etc/。因此,我的 git 存储库的目标点是/。我不需要跟踪其他目录,因此我必须编写压倒性的.gitignore规则:

*
!.gitignore

!/etc/
!etc/*

!/usr
/usr/*
!/usr/local
/usr/local/*
!/usr/local/nginx
!/usr/local/nginx/*

这非常令人生畏,而且容易出错。因此,创建包装器读取并转换为.gitignore格式的中间文件可能是一个好主意。此外,我不想将 .git 文件夹保留在 / 分区中,因此我需要为 git 设置适当的 GIT_DIR 和 GIT_WORK_TREE 变量。

有没有现成的工具可以实现这个任务?我没有找到,但我相信没有人需要这个功能。

答案1

etceeker 是它支持不同的 VCS 后端。它旨在跟踪/etc,但我敢打赌你可以将其扩展到更多文件夹。并且邮件功能可以作为提交后挂钩来实现。

另一种方法是使用类似以下的备份解决方案巴库拉或者巴雷奥斯,支持文件验证。

相关内容