自動化部署腳本使用說明:
前置要求:使用expect實現自動交互,所以要求每臺服務器都需要安裝expect軟件,通過命令which expect查看是否安裝。如果發現沒有安裝,使用yum install expect安裝。
關于登陸:1. 直接使用root賬號 2. 無法獲取root密碼,可以使用自己的賬號(有sudo權限)。 3. 配置ssh互信,無密碼登陸。
這里采用第2種方式,首先會將需要拷貝的文件[中轉]復制到目的服務器/home/liudewei/目錄下,然后登陸到目的服務器通過shell命令sudo拷貝到指定目錄下。
詳細步驟:
1. 修改servers.conf 服務器IP及賬號配置
10.126.32.89 liudewei xxx
...
2. 修改transfer_file.conf 需要拷貝到多臺服務器上的文件配置
#需要拷貝的腳本,目標服務器中轉目錄,目標服務器實際目錄
/data/bin/performance.py /home/liudewei/performance.py /data/bin
3. batch_exec.sh和deploy.sh 批量執行腳本, deploy.sh基本不用改動。
文件拷貝到目標服務器后,我們需要做個校驗是否拷貝成功,或者執行一些其他命令,比如驗證并重啟nginx等。
可以修改batch_exec.sh腳本:
# custom execute command
exec_command="sudo cp -r $dest_file $real_dest_file; /data/bin/./show.sh"
注意:假設在A主機上執行腳本,需要在目標服務器上開通A主機白名單訪問,否則會提示:ssh_exchange_identification: Connection closed by remote host。
以上都搞定后直接執行./batch_exec.sh,執行日志記錄到nowdate-deploy.log。
日志2015-07-27-deploy.log:
########################開始部署時間: 2015-07-27 11:38:44##########################
--------->No:1 deploy host IP:10.126.32.89
scp file is ok
deploy 10.126.32.89 is ok
########################結束部署時間: 2015-07-27 11:38:49##########################
點擊這里下載腳本
posted on 2015-07-29 13:48
David1228 閱讀(5555)
評論(0) 編輯 收藏 所屬分類:
Linux 、
云計算、虛擬化