周末加班,在IBM小型機上部署升級版的應用程序。
我在學校學過Linux,實驗室環境下用過red hat 。但是還沒用過IBM 的AIX系統,其實命令應該差不多,整整忙一天。
系統很龐大,我們首先需要使用MQ將程序包從頂級節點下發到下一層每個服務器節點,剩下的都是重復性的工作了。每個下層環境下都有三臺小機,分別是DB2server、MQserver、WASserver,現在總結一下。
使用secureCRT telnet到WASserver上,在這里,創建備份目錄,先備份當前版本的程序包,然后將升級版的程序包copy進去。
1、mkdir -p /tmp/20080621/app_bak 創建備份目錄
如果不指定-p參數,那么若/tmp/20080621路徑不存在的話,app_bak就無法創建;指定-p就可以連續創建不存在的目錄
2、cd /tmp/20080621/app_bak 進入備份目錄 可以使用pwd查看一下當前目錄
3、mv 原來的文件包 ./ 將原來的程序包移動到當前目錄下
到現在為止,備份算是搞定了,接下來將升級版的軟件包copy到WASserver上,由于升級版的軟件包在MQserver上,我們使用ftp命令把它取到WASserver上,過程如下:
1、cd 應用程序目錄
2、ftp MQserver ip
系統提示輸入user、password,驗證之后,進入ftp命令模式下,即ftp>
使用ftp的get命令將MQserver上的升級版軟件包取至當前目錄:ftp>get 軟件包在mqserver上的全路徑 ./
文件不大的話,應該很快就能傳完。然后使用bye命令斷開ftp連接(ftp真是個好東西,其他的命令很多,請見ftp相關資料)
現在升級版的軟件包就copy到WASserver上了,接下來要做的是升級數據庫,這要登錄到DB2server上,AIX提供了一個連接本地主機或遠程主機的命令,rlogin [本地主機或遠程主機名],查看主機名可以使用hostname命令,例如我現在鍵入hostname,系統會打印出WASserver。
1、rlogin DB2server 登錄到DB2server上
2、cd /tmp/datascript 然后使用chown -R db2admin:db2grp1 * 修改此目錄的所有權,使用chmod 777 *修改讀寫權限,chmod 有符號方式和數字方式兩種,不清楚的Google一下。
2、使用同樣的方法,將數據庫升級包從MQserver ftp到DB2server上
3、DB2 -tvf xxxx.sql > ./xxxx.sql.log 執行升級腳本 并創建日志,如果有很多sql腳本要執行的話,可以寫成shell腳本,然后直接執行就ok了,如./update_20080621.sh
4、使用cat或more命令仔細查看腳本執行的日志,確保執行無異常
做到這里,一個地方的升級基本上完成了,重啟一下was就可以到另一個地方的去升級了。全國30多個地方呢,夠我們忙的了。
期間也遇到了很多小問題,值得一提的是,在升級數據庫的時候,腳本文件是dos格式還是unix格式的問題。不知道怎么回事,我們在Windows下編寫好腳本之后,已經改為unix格式,而傳到小機上之后仍然發現有很多dos格式下的回車,只好使用vi編輯器在小機上做了修改。熟練使用vi是在unix/linux工作的必備能力,尚且不熟的請趕快Google,學習學習,vi的內容很多,先不說了。
周末忙了兩天,累,欣慰的是客戶反映升級后,系統使用正常,還沒發現問題。好了,收工嘍!
其實上面這些都是類unix系統中最簡單的操作,對牛人來說不值一提,但我還不是牛人,希望和我同水平的人共同學習!