使用者工具

網站工具


tech:svnmngconfig

SVN 管理主機設定檔異動狀態

- 環境確認

  • 管理主機的 SubVersion 主機確認1)
  • 每台主機的 SubVersion Tool 確認
rpm -q subversion
subversion-1.6.11-10.el5_8

如果不存在就用 yum install subversion 安裝

- 管理主機建立各台 Server 的相對應目錄

- 先建立一個 SVN專案目錄 servercfg

su - root
cd /var/www/svn
svnadmin create servercfg
chown -R apache:apache servercfg

- 在 servercfg 內建立各台 server 的管理目錄

可以使用 svn client 軟體先 checkout servercfg 下來之後, 再建立各台 server 的管理目錄, add/commit 上去就可以.

- 各台 Server 安裝 trysrvtool 與將相關的設定檔納入管理

- 先安裝 trysrvtool

- 建立 svn 工作目錄

  • 以下是以 nw1 為例作說明
    su - root
    cd /root/
    svn co https://xxx.xxxxxx.com/repos/servercfg/nw1
  • 執行之後就會建立出 /root/nw1 的 svn 工作目錄
  • 這樣就開始針對主機 / 建立可納入 svn 的範圍(使用 svnbot 當預設的 svn user)

- 編輯要納入管理的系統參數檔清單

  • 可直接編輯 /opt/trysrvtool/svnsysfile.conf 來定義要管理的參數清單
    cp /opt/trysrvtool/svnsysfile.conf.default /opt/trysrvtool/svnsysfile.conf
    vi /opt/trysrvtool/svnsysfile.conf
    # 13:54 2012/8/30
    # Jonathan Tsai
    # Ver 1.00
    #
    # defined svn control system config file list (CentOS)
    #
    
    /etc/aliases
    /etc/crontab
    /etc/exports
    /etc/fstab
    /etc/group
    /etc/hosts
    /etc/issue
    /etc/logrotate.conf
    /etc/modprobe.conf
    /etc/nsswitch.conf
    /etc/ntp.conf
    /etc/passwd
    /etc/php.ini
    /etc/resolv.conf
    /etc/sensors.conf
    /etc/services
    /etc/shadow
    /etc/smartd.conf
    /etc/sysctl.conf
    /etc/httpd/conf/httpd.conf
    /etc/mrtg/mrtg.cfg
    /etc/snmp/snmpd.conf
    /etc/ssh/ssh_config
    /etc/ssh/sshd_config
    /etc/sysconfig/iptables
    /etc/sysconfig/network
    /etc/sysconfig/network-scripts/ifcfg-eth0
    /etc/sysconfig/network-scripts/ifcfg-eth1
    /opt/trysrvtool/svnsysfile.conf
    /etc/rsnapshot.conf

- 執行 svnsysfile 將設定檔一一納入管理

su - root
/opt/trysrvtool/svnsysfile.pl
[[email protected] etc]# /opt/trysrvtool/svnsysfile.pl
-----
路徑: /root/nw1
URL: https://xxxx.xxxxx.com/repos/servercfg/nw1
檔案庫根目錄: https://xxx.xxxxx.com/repos/servercfg
檔案庫 UUID: 335ed183-f80c-0410-b5c4-909659f95a01
修訂版: 22929
節點種類: 目錄
排程: 正常
最後更新作者: svnbot
最後修改修訂版: 22929
最後修改日期: 2012-08-30 11:57:35 +0800 (四, 30  8月 2012)

-----
Svn Add Skip [/root/nw1/etc/aliases]
:
:
Svn Add Skip [/root/nw1/etc/rsnapshot.conf]
--------------------
Not Found:      0
Skip Files:     30
Add Error:      0
SVN Add OK:     0
--------------------

- 設定自動檢查設定檔並 commit 到 svn server

  • 設定每 5 分鐘自動執行一次
vi /etc/crontab
# auto svn commit
*/5 * * * * root /opt/trysrvtool/updsvnfile.pl config-dir /root > /var/tmp/updsvnfile.log
2 * * * * root /opt/trysrvtool/svnsysfile.pl > /var/tmp/svnsysfile.pl
tech/svnmngconfig.txt · 上一次變更: 2012/09/13 08:55 由 jonathan