我在生产中有一堆* nix服务器。 我想把它放在版本控制中是重要的configuration文件
我的基本想法是
放置一个分布式版本控制系统,使每个系统的configuration保存在自己的驱动器上。
configuration更改的方式是通过编辑器或通过外部源。
假设在$ shell中使用$ EDITOR,可以在保存文件时添加一个额外的命令(所以文件被添加到git中)。 这可能是有问题的,因为用户不一定会使用vim /etc/my.cnf,它可以从vim中打开my.cnf
另一个变化的来源可以通过一个cron脚本来捕获,每一个小时运行一次,并向版本控制添加东西(这已经足够好了)。 然后,git仓库可以被拉到一个中央的地方保pipe。 1小时已经足够好了,因为假定捕获变化的第一种方法大多数情况下都是有效的。
我想知道,如果有一些工具已经这样做(或做得更好)。 在用户发起的每个configuration更改中,他/她都被要求将更改添加到本地回购中。
我做了类似的事情。 但是,我们将pipe理Puppet中的configuration文件,然后将其存储在SVN中。 我有160个服务器的服务器场上的其他两个Linuxpipe理员,这很好。 它提供了更改历史logging(SVN)以及通过Puppet进行configurationpipe理。
看看etckeeper – 这是非常接近你要找的东西。
看看puppet或cfengine等工具。 它通常是一个更好的结果,恕我直言。