====== SVN 管理主機設定檔異動狀態 ======
===== - 環境確認 =====
* 管理主機的 SubVersion 主機確認((參考 [[tech:subversion|SubVersion 設定]]))
* 每台主機的 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 hostname nw1 為例作說明, 要先在 svn 的 servercfg 內建立 nw1 的目錄來存放 nw1 主機內納入管理的設定檔案
* svn url - https://xxx.xxxxxx.com/repos/servercfg/nw1
===== - 各台 Server 安裝 trysrvtool 與將相關的設定檔納入管理 =====
==== - 先安裝 trysrvtool ====
* 參考 [[tech/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
[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
--------------------
==== - 設定自動檢查設定檔並 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
{{tag>svn subversion sysmgr linux 經驗 密技}}