Документация по ОС FreeBSD Среда, 09.07.2025, 17:46
Приветствую Вас Гость | RSS
Меню сайта

Категории каталога
Мои статьи [0]
Установка и настройка [281]
X Window [25]
Man pages [30]
Ports & Packages [26]
cvs [18]
Multimedia [20]
Нововсти в мире Unix [0]
RFC [4]
RFC (Request for Comments, Запрос на комментарии) - серия документов, публикуемая сообществом исследователей и разработчиков, руководствующихся практическими интересами, в которой описывается набор протоколов и обобщается опыт функционирования Интернет.
Безопасность [52]
Работа с железом [58]
Книги по FreeBSD [17]
Сеть [505]
Программирование [40]
FireWall [58]
Темы экзамена BSDA [14]
Официальные темы экзамена BSDA, включая подробноые описания и советы по обучению.

Главная » Статьи » Установка и настройка

Пример хранения файлов конфигурации серверов в SVN [2008]
SVN оказалась очень и очень удобной штукой для хранения конфигов серверов в едином репозитарии. Типичные случаи - развернуть те же настройки bash и screen на новом FreeBSD сервере, что и на остальных, или  восстановить рабочий конфиг после неверных изменений, которые привели к неработоспособности какого-либо сервиса.

Рассмотрим случай, когда есть три сервера, colo, gate-vasil и gate-vasil2, задача - забекапить /usr/local/etc и восстановить на другом сервере.

Для начала воспользуемся  статьей http://www.opennet.ru/docs/RUS/blfs6/server/svnserver.html для разворачивания svn сервера на хосте colo (я пока делал в тестовых целях без ssh, с минимумом защищенности).

После того как сервер svn создан и запущен займеся созданием репозитария для хранения конфигов. Допустим сервер svn хоста colo настроен на хранение репозитариев в /usr/local/repositories.

           colo# cd /usr/local/etc/repositories
           colo# mkdir conf
           colo# svnadmin create conf

после этого в нашем распоряжении созданный репозитарий, к которому мы сможем обращаться через url  svn://colo/conf

           colo# cd #создадим стру-ру подкаталогов (пока в домашней директории,затем среплицируем в svn)
           colo# svn checkout svn://colo/conf
           colo# mkdir gate-vasil
           colo# mkdir gate-vasil/etc
           colo# mkdir gate-vasil/usr/local/etc
           colo# svn add gate-vasil ## рекурсивное добавление стр-ры

           colo# svn commit -m mycomment ## записываем изменения на сервере svn

Вот пример как добавить /usr/local/etc сервера gate-vasil в хранилище

           gate-vasil# cd /usr/local
           gate-vasil# svn import etc svn://colo/gate-vasil/usr/local/etc ##  рекурсивно проимпортирует дир-рии /usr/local/etc

или второй вариант
  
           gate-vasil# cd /usr/local
           gate-vasil# svn checkout svn://colo/gate-vasil/usr/local/etc
           gate-vasil# cd etc
           gate-vasil# svn add myconfigdir
           gate-vasil# svn add -N myconfigdir2 ## ключ -N позволит не добавлять рекурсивно все содержимое каталога, а лишь сам каталог
           gate-vasil# svn commit -m mycomment ## коммитим содержимое

Ну и, например, как же восстановить конфигурацию на каком-либо другом сервере?
  
в шелл на gate-vasil2
  
           gate-vasil2# cd /usr/local
           gate-vasil2# svn checkout svn://colo/gate-vasil/usr/local/etc

На  что стоит обратить внимание.

   * необходимо поиграться с путями svn для четкого понимания процесса
   * не забывать делать commit для сохранения измененй
 
P.S.
UPDATE:

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


Источник: http://nexus.org.ua/weblog/message/461/
Категория: Установка и настройка | Добавил: oleg (26.02.2008) | Автор: Nexus
Просмотров: 772 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Beastie

Друзья сайта

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
links

Copyright MyCorp © 2025