как поместить конфигурацию сервера в git на linux

как поместить конфигурацию сервера в git на linux

Я хочу отслеживать случайные файлы конфигурации / каталоги с моего сервера в репозиторий 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 для развертывания изменений конфигурации на ваших серверах.

Такой подход очень выгоден во многих отношениях: у вас есть полная автономная резервная копия конфигураций вашего сервера, вы можете легко применить эту конфигурацию к нескольким серверам или к серверам тестирования/разработки и т. д.

Я понимаю, что это, скорее всего, не тот ответ, на который вы надеялись, но, по всем показателям, это профессиональный способ управления системами.

Связанный контент