差異處

這裏顯示兩個版本的差異處。

連向這個比對檢視

兩邊的前次修訂版 前次修改
下次修改
前次修改
tech:svnmngconfig [2009/03/03 00:59] jonathantech:svnmngconfig [2012/09/13 08:55] (目前版本) – [3.5 設定自動將設定檔 commit 到 svn server] jonathan
行 1: 行 1:
 +====== SVN 管理主機設定檔異動狀態 ======
 +===== - 環境確認 =====
 +  * 管理主機的 SubVersion 主機確認((參考 [[tech:subversion|SubVersion 設定]]))
 +  * 每台主機的 SubVersion Tool 確認
 +<file>
 +rpm -q subversion
 +subversion-1.6.11-10.el5_8
  
 +如果不存在就用 yum install subversion 安裝
 +</file>
 +
 +===== - 管理主機建立各台 Server 的相對應目錄 =====
 +==== - 先建立一個 SVN專案目錄 servercfg ====
 +<file>
 +su - root
 +cd /var/www/svn
 +svnadmin create servercfg
 +chown -R apache:apache servercfg
 +</file>
 +
 +==== - 在 servercfg 內建立各台 server 的管理目錄 ====
 +<note tip>
 +可以使用 svn client 軟體先 checkout servercfg 下來之後, 再建立各台 server 的管理目錄, add/commit 上去就可以.
 +</note>
 +  * 以 server hostname nw1 為例作說明, 要先在 svn 的 servercfg 內建立 nw1 的目錄來存放 nw1 主機內納入管理的設定檔案
 +  * svn url - https://xxx.xxxxxx.com/repos/servercfg/nw1
 +
 +===== - 各台 Server 安裝 trysrvtool 與將相關的設定檔納入管理 =====
 +==== - 先安裝 trysrvtool ====
 +  * 參考 [[tech/trysrvtool]]
 +
 +==== - 建立 svn 工作目錄 ====
 +  * 以下是以 nw1 為例作說明<code sh>
 +su - root
 +cd /root/
 +svn co https://xxx.xxxxxx.com/repos/servercfg/nw1
 +</code>
 +  * 執行之後就會建立出 /root/nw1 的 svn 工作目錄
 +  * 這樣就開始針對主機 / 建立可納入 svn 的範圍(使用 svnbot 當預設的 svn user)
 +
 +==== - 編輯要納入管理的系統參數檔清單 ====
 +  * 可直接編輯 /opt/trysrvtool/svnsysfile.conf 來定義要管理的參數清單<code sh>
 +cp /opt/trysrvtool/svnsysfile.conf.default /opt/trysrvtool/svnsysfile.conf
 +vi /opt/trysrvtool/svnsysfile.conf
 +</code><file>
 +# 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
 +</file>
 +
 +==== - 執行 svnsysfile 將設定檔一一納入管理 ====
 +<code sh>
 +su - root
 +/opt/trysrvtool/svnsysfile.pl
 +</code><file>
 +[root@nw1 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
 +--------------------
 +</file>
 +
 +==== - 設定自動檢查設定檔並 commit 到 svn server ====
 +  * 設定每 5 分鐘自動執行一次
 +<code sh>
 +vi /etc/crontab
 +</code><file>
 +# 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
 +</file>
 +
 +{{tag>svn subversion sysmgr linux 經驗 密技}}