我想將伺服器中的隨機設定檔/目錄追蹤到 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 將設定變更部署到您的伺服器。
以這種方式進行操作在許多方面都非常有益:您擁有伺服器配置的完整離線備份,您可以輕鬆地將此配置應用於多個伺服器或測試/開發伺服器等。
我知道這可能不是您所希望的答案,但從各方面來看,這是管理系統的專業方法。