The OpenNET Project / Index page

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

Пример хранения файлов конфигурации серверов в 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.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 для сохранения измененй

<< Предыдущая ИНДЕКС Исправить 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:      
    Заголовок:
    Текст:





      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor