自动化软件部署的shell脚本
生活随笔
收集整理的這篇文章主要介紹了
自动化软件部署的shell脚本
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
在實(shí)際項(xiàng)目中,我們經(jīng)常用到需要自動(dòng)化部署軟件的情況,這種情況下,我們就不能人為地在命令行下敲擊命令了,一切都需要通過shell腳本自動(dòng)化完成。所謂自動(dòng)化完成,其實(shí)也就是通過寫shell程序,模擬人為敲擊linux指令,這樣一來(lái),所有的指令一氣呵成,方便自動(dòng)化部署。
我們以一個(gè)簡(jiǎn)單的例子進(jìn)行說明:
需求:通過一臺(tái)服務(wù)器向其他多臺(tái)服務(wù)器安裝jdk,期間自動(dòng)配置ssh免登錄,并且其他多臺(tái)服務(wù)器下載該臺(tái)服務(wù)器上面的jdk,下載完成后,解壓并進(jìn)行環(huán)境變量的配置。
代碼:
boot.sh:
#!/bin/bashSERVERS="weekend02 weekend03" PASSWORD=hadoop BASE_SERVER=weekend01auto_ssh_copy_id() {expect -c "set timeout -1;spawn ssh-copy-id $1;expect {*(yes/no)* {send -- yes\r;exp_continue;}*assword:* {send -- $2\r;exp_continue;}eof {exit 0;}}"; }ssh_copy_id_to_all() {for SERVER in $SERVERSdoauto_ssh_copy_id $SERVER $PASSWORDdone }ssh_copy_id_to_allfor SERVER in $SERVERS doscp install.sh root@$SERVER:/rootssh root@$SERVER /root/install.sh done以上這段shell腳本,首先在weekend01上向weekend02和weekend03進(jìn)行ssh免登錄,然后將install.sh文件發(fā)送過去,并且運(yùn)行該文件進(jìn)行安裝。
install.sh:
#!/bin/bashBASE_SERVER=weekend01 yum install -y wget wget $BASE_SERVER/soft/jdk-7u45-linux-x64.tar.gz tar -zxvf jdk-7u45-linux-x64.tar.gz -C /usr/local cat >> /etc/profile << EOF export JAVA_HOME=/usr/local/jdk1.7.0_45 export PATH=\$PATH:\$JAVA_HOME/bin EOF以上這段腳本,進(jìn)行下載、解壓并且配置環(huán)境變量的功能。
?
轉(zhuǎn)載于:https://www.cnblogs.com/DarrenChan/p/6687228.html
總結(jié)
以上是生活随笔為你收集整理的自动化软件部署的shell脚本的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 通过profile 用maven命令打不
- 下一篇: java中String相等问题