如何在 Linux 上将服务器配置放入 git

如何在 Linux 上将服务器配置放入 git

我想将服务器上的随机配置文件/目录跟踪到 git 存储库中。我的意思不是跟踪 /etc,以下是一些示例:

/etc/named.conf
/etc/named/*
/var/named/*
/usr/local/apache/conf/*
/etc/php.ini
/etc/my.ini
/var/www/config.ini

等等...

由于 git 不遵循符号链接,我可以使用 bind 进行挂载,例如

mount /etc/named /REPO/etc-named -obind
mount /var/named /REPO/var-named -obind

我不喜欢这种方法,因为它会为每个目录进行挂载,但至少这是安全的并且可以正常工作。

对于文件,我可以进行硬链接,但我不太喜欢这个想法,因为如果我执行以下操作,我很容易“丢失”链接:

mv /etc/named.conf /etc/named.conf.old
cp xxxxx /etc/named.conf

有什么建议可以解决这个问题吗?

答案1

不要这样做。

相反,使用配置管理系统(Ansible、Saltstack 等)。保持那些版本控制中的文件并使用 CM 将配置更改部署到您的服务器。

这样做在很多方面都非常有益:您拥有服务器配置的完整离线备份,您可以轻松地将此配置应用于多个服务器或测试/开发服务器等。

我知道这可能不是您所希望的答案,但无论如何,这是管理系统的专业方法。

相关内容