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