重启linux远程服务器,Linux下远程备份、上传工程,重启服务器(示例代码)

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 <

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 <

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 <

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

实现了,备份、上传、重启的功能,但做了三次对服务器的连接断开!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值