如何在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 不遵循符號鏈接,我可以使用綁定掛載,例如

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 將設定變更部署到您的伺服器。

以這種方式進行操作在許多方面都非常有益:您擁有伺服器配置的完整離線備份,您可以輕鬆地將此配置應用於多個伺服器或測試/開發伺服器等。

我知道這可能不是您所希望的答案,但從各方面來看,這是管理系統的專業方法。

相關內容