我需要一些软件来查看整个操作系统(即/ etc)中的自定义目录,并提醒我是否有人在里面编辑文件。 此外,此工具必须自动提交并将更改推送到备份服务器,以便我可以轻松确定何时对特定文件进行了特定更改。 我现在正在使用cvsbackup,但我想创build或发现更现代的东西。
我认为使用git作为VCS是一个好主意。 我可以有本地存储库,并轻松地恢复我的configuration文件的变化。 此外,将更改推送到远程存储库将帮助我在服务器故障时恢复configuration文件。
在git上写一些封装并不难,但是存在很多问题。 例如,我需要跟踪自定义目录: /usr/local/nginx/和/etc/ 。 所以我的git仓库的目标点是/ 。 我不需要跟踪其他目录,所以我必须写出压倒性的.gitignore规则:
* !.gitignore !/etc/ !etc/* !/usr /usr/* !/usr/local /usr/local/* !/usr/local/nginx !/usr/local/nginx/*
这是非常艰巨的,容易出错。 所以创build包装器读取并转换为.gitignore格式的中间文件也许是个好主意。 此外,我不想让我的.git文件夹保存在/分区,所以我需要为git设置适当的GIT_DIR和GIT_WORK_TREEvariables。
有没有准备好使用工具来实现这个任务? 我找不到,但我不相信没有人需要这个function。
有支持不同的VCS后端的etckeeker 。 它旨在跟踪/etc ,但我敢打赌,你可以扩大到更多的文件夹。 邮件function可以实现为提交后的钩子。
另一个问题可能是使用备份解决scheme,如bacula或bareos ,它支持文件的validation。