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 を使用してサーバーに構成の変更を展開します。

このようにすると、さまざまな点で非常に有益です。サーバー構成の完全なオフライン バックアップが作成され、この構成を複数のサーバーやテスト/開発サーバーなどに簡単に適用できます。

これはおそらくあなたが期待していた答えではないことは承知していますが、あらゆる観点から見て、これはシステムを管理するプロフェッショナルな方法です。

関連情報