Я заметил, что несколько человек рекомендовали использовать etckeeper для применения контроля версий к моему каталогу / etc.
Мне кажется, что установка по умолчанию помещает репозиторий на тот же компьютер, что и / etc, которым вы пытаетесь управлять. Это прекрасно работает для контроля версий, но не дает дополнительного преимущества создания резервных копий файлов вне сервера или позволяет дублировать части / etc с одного исходного компьютера на другой.
Можно ли использовать один репозиторий git на компьютере с центральным администратором, чтобы etckeeper на каждом сервере сохранял свои данные в одном месте?
(Сейчас я делаю то же самое с svn и некоторыми пользовательскими скриптами для фиксации и возврата файлов, но я должен помнить, чтобы фиксировать их при внесении изменений.)
источник
git push
работает на ваш созданный Git репо? Вероятно, вам нужно создать голое репо в somedir-хуке под commit.d - это действительно хорошая идея, мне это нравитсяМожно добавить конфигурацию удаленной ветви, чтобы сопоставить главную ветку репозитория etckeeper с каждого сервера с веткой в удаленном репозитории. Для этого вы можете выполнить следующие команды на каждом сервере:
После этой настройки последующие
git push
будут отправлять изменения из каждой главной ветви сервера в выделенную ветку сервера в центральном хранилище.Хотя ветви не будут иметь общей отправной точки, это позволяет легко сравнивать один и тот же файл из двух разных ветвей, представляющих два разных сервера, запустив:
Это можно сочетать с автоматической настройкой, предложенной jojoo .
источник
Как это сделать автоматически, полная история:
Создайте файл /etc/etckeeper/commit.d/60-push (не забудьте chmod + x it) на клиентах.
central_server определен в конфигурации ssh, см. ниже. /var/git/client_name.git - это каталог на центральном сервере, содержащий git-репо.
~ / .Ssh / config от root (!) Должен содержать что-то вроде этого:
Затем вам нужно запустить git-репо на центральном сервере
Протестируйте его с небольшим редактированием в / etc, а затем etckeeper передаст "test push'ing".
источник
Не в этом дело. Если вы хотите широко распространять конфигурацию, вы настраиваете другой репозиторий в дополнение к локальному репо каждой машины и при необходимости выбираете из нее каждую машину . Это позволяет каждой машине отклоняться (в действительности, ветвиться) и сохранять контроль версий.
источник
Вы действительно не хотите делать etckeeper своей политикой резервного копирования. Хотя наличие копии ваших файлов конфигурации было бы неплохо, этого едва ли достаточно для того, чтобы считаться планом аварийного восстановления.
Вместо этого сфокусируйтесь на создании реальных резервных копий вашей системы. Упрощенным может быть cronjob для подачи тарбола на ленту ... о, верно. Никто не использует ленты больше. Хорошо, черт побери, чтобы rsync все ваши файлы на выделенном NAS . Чтобы найти более надежные решения для резервного копирования, взгляните на Amanda и Bacula .
И в случае академиков, я был в состоянии подтолкнуть мой etckeeper репо до GitHub так же , как и любого другого мерзавца репо.
источник