Назад | Перейти на главную страницу

как поставить конфигурацию сервера в 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 не следует символическим ссылкам, я могу монтировать с помощью привязки, например.

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

есть предложения, как с этим разобраться?

Не делай так.

Вместо этого используйте систему управления конфигурациями (Ansible, Saltstack и т. Д.). Держать те файлы в системе контроля версий и используйте этот CM для развертывания изменений конфигурации на ваших серверах.

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

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