The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Пример хранения файлов конфигурации серверов в SVN (cvs svn subversion config freebsd)


<< Предыдущая ИНДЕКС Исправить src / Печать Следующая >>
Ключевые слова: cvs, svn, subversion, config, freebsd,  (найти похожие документы)
From: Nexus <nexus@REMOVE-THIS-FAKE.it-link.com.ua.> Date: Sun, 23 Feb 2008 17:02:14 +0000 (UTC) Subject: Пример хранения файлов конфигурации серверов в SVN Оригинал: http://it-expert.com.ua/weblog/message/461/ SVN оказалась очень и очень удобной штукой для хранения конфигов серверов в едином репозитарии. Типичные случаи - развернуть те же настройки bash и screen на новом FreeBSD сервере, что и на остальных, или восстановить рабочий конфиг после неверных изменений, которые привели к неработоспособности какого-либо сервиса. Рассмотрим случай, когда есть три сервера, colo, gate-vasil и gate-vasil2, задача - забекапить /usr/local/etc и восстановить на другом сервере. Для начала воспользуемся статьей http://www.opennet.me/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 для сохранения измененй

<< Предыдущая ИНДЕКС Исправить src / Печать Следующая >>

Обсуждение [ RSS ]
  • 1, Andrey Y. Ostanovsky (?), 23:16, 14/05/2008 [ответить]  
  • +/
    > * не забывать делать commit для сохранения измененй

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

    .DEFAULT = all
    all:    cvs_commit restart

    CVSROOT=/home/cvsroot

    cvs_commit:
            @cd ./primary
            @echo "Commit changes to local cvs repository"
            @echo "Using CVSROOT = ${CVSROOT}"
            @cvs -d ${CVSROOT} ci -m "commit last changes"

    restart:
            @echo "Now try restart DNS server"
            @rndc reload; tail /var/named/var/log/named.log

     
  • 2, Sergej Kandyla (?), 19:04, 06/08/2008 [ответить]  
  • +/
    а можно немного подробней как использовать мейк файлы ?
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру