Linux下遠程備份、上傳工程,重啟伺服器

來源:互聯網
上載者:User

標籤:執行   rmi   服務   back   遠程   term   backup   檔案夾   遠程伺服器   

Linux下遠程備份、上傳工程,重啟伺服器

Linux伺服器實現遠程,原項目的備份、刪除,新項目上傳,以及遠程重啟伺服器!
分成一個主shell調用三個shell檔案步驟完成。
mainsh.sh一次按順序執行多個指令碼,將三步sh順序完成:

#!/bin/sh
02.#此Shell一次按順序執行多個指令碼
03.#參數::
04. #遠程jboss伺服器所在的ip
05. IP=127.0.0.1
06. #伺服器登入賬戶
07. userx=‘tskk‘
08. #伺服器登入密碼
09. passx=‘sasa‘
10. #部署jboss遠程伺服器上項目war檔案的全路徑名稱(用於備份)
11. jbossfiledirname=/opt/app/jboss5/server/warset/jasmine.war
12. #備份檔案的主目錄
13. filebackupdir=/home/tskk/backup
14. #同名備份區分標識(防止不同專案檔重名備份)
15. backupflag=tskk
16. #本地Linux伺服器(或Jenkins下項目)下檔案全路徑名稱
17. jenkinsfiledirname=/opt/app/jenkins/workspace/jasmine.war
18. #jboss下伺服器/bin路徑(用於重啟)
19. jbossbinfiledir=/opt/app/jboss5/server/bin
20.
21.#遠程操作shell檔案的全路徑,也可為不同檔案夾
22.shfiledir=/opt/app/tskk/commonsh
23.#遠程伺服器拷貝,刪除,上傳,重啟jboss
24.sh $shfiledir/remotebackupdeletewar.sh $IP $userx $passx $jbossfiledirname $filebackupdir $backupflag
25.sh $shfiledir/remoteuploadwar.sh $IP $userx $passx $jenkinsfiledirname $jbossfiledirname
26.sh $shfiledir/remoterestartjboss.sh $IP $userx $passx $jbossbinfiledir
註:sh ***.sh parm1 parm2…,可以順序執行多個指令碼

remotebackupdeletewar.sh實現遠程備份檔案:
#!/bin/sh
02.echo "file backupdelete start………………"
03.#訪問遠程伺服器ip,user,pass
04.IP=$1
05.userx=$2
06.passx=$3
07.#jboss伺服器上項目war檔案的全路徑名稱 eg:/opt/app/jboss5/server/warset/jsm.war
08.jbossfiledirname=$4
09.#dirname擷取jboss上war檔案路徑 eg:/opt/app/jboss5/server/warset
10.mianjbossfiledir=`dirname $jbossfiledirname`
11.#basename擷取jboss上war檔案的名稱 eg:jsm.war
12.jbossfilename=`basename $jbossfiledirname`
13.#備份檔案的主目錄
14.mainbackupdir=$5
15.#備份同名標識
16.backupflag=$6
17.#備份檔案夾的名稱 eg:tskk-jsm.war201412021439
18.DATE=$(date +%Y%m%d%H%M)
19.filename2=$backupflag-${jbossfilename}${DATE}
20.#sshpass登入遠程伺服器,進行war檔案的備份和刪除
21.sshpass -p $passx ssh -o StrictHostKeyChecking=no -tt [email protected]$IP <<sshaccess
22.cd $mainbackupdir
23.mkdir $filename2
24.cd $mianjbossfiledir
25.cp -R $jbossfilename $mainbackupdir/$filename2
26.rm -rf $jbossfilename
27.exit
28.sshaccess
29.echo "file backupdelete end-ok………………"
30.exit 0
註:Shell命令sshpass非互動SSH有密碼驗證

-tt 防止指令碼調用ssh後出現Pseudo-terminal will not be allocated because stdin is not a terminal問題

-o StrictHostKeyChecking=no 避免第一次登入出現公開金鑰檢查

remoteuploadwar.sh實現遠程項目部署伺服器:
#!/bin/sh
02.echo "file upload start………………"
03.#訪問遠程伺服器ip,user,pass
04.IP=$1
05.userx=$2
06.passx=$3
07.#Jenkins下檔案全路徑名稱
08.jenkinsfiledirname=$4
09.#擷取Jenkins下檔案路徑
10.jenkinsfiledir=`dirname $jenkinsfiledirname`
11.#擷取Jenkins上檔案名稱
12.jenkinsfilename=`basename $jenkinsfiledirname`
13.#jboss上war檔案全路徑名稱
14.jbossfiledirname=$5
15.#jboss上war檔案路徑
16.jbossfiledir=`dirname $jbossfiledirname`
17.#jboss上war檔案名稱
18.jbossfilename=`basename $jbossfiledirname`
19. #對Jenkins下jar按jboss上規範給檔案命名
20. #cd $jenkinsfiledir
21. #mv $jenkinsfilename $jbossfilename
22. #重新命名後Jenkins上檔案全路徑名稱
23. #rejenkinsfiledirname=$jenkinsfiledir/$jbossfilename
24.#sshpass遠程上傳檔案到jboss伺服器
25.sshpass -p $passx scp -o StrictHostKeyChecking=no $jenkinsfiledirname [email protected]$IP:$jbossfiledir <<sshpassupload
26.exit
27.sshpassupload
28.echo "file upload end-ok………………"
29.exit 0

remoterestartjboss.sh實現遠程伺服器重啟:
#!/bin/sh
02.echo "jboss restart start………………"
03.#擷取jboss伺服器的串連資訊ip,user,pass
04.IP=$1
05.userx=$2
06.passx=$3
07.#擷取jboss伺服器的/bin目錄
08.jbossbindir=$4
09.sshpass -p $passx ssh -tt -o StrictHostKeyChecking=no [email protected]$IP <<jbossrestart
10.cd $jbossbindir
11.sudo -u jboss5 ./shutdown.sh
12.sudo -u jboss5 ./start.sh
13.exit
14.jbossrestart
15.echo "jboss restart ok………………"
16.exit 0
實現了,備份、上傳、重啟的功能,但做了三次對伺服器的串連斷開!

Linux下遠程備份、上傳工程,重啟伺服器

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.