linux 如何重启备份服务,Linux下远程备份、上传工程,重启服务器

Linux服务器实现远程,原项目的备份、删除,新项目上传,以及远程重启服务器!

分成一个主shell调用三个shell文件步骤完成。

mainsh.sh一次按顺序执行多个脚本,将三步sh顺序完成:

#!/bin/sh

#此Shell一次按顺序执行多个脚本

#参数::

#远程jboss服务器所在的ip

IP=127.0.0.1

#服务器登录账户

userx='tskk'

#服务器登录密码

passx='sasa'

#部署jboss远程服务器上项目war文件的全路径名称(用于备份)

jbossfiledirname=/opt/app/jboss5/server/warset/jasmine.war

#备份文件的主目录

filebackupdir=/home/tskk/backup

#同名备份区分标识(防止不同项目文件重名备份)

backupflag=tskk

#本地Linux服务器(或Jenkins下项目)下文件全路径名称

jenkinsfiledirname=/opt/app/jenkins/workspace/jasmine.war

#jboss下服务器/bin路径(用于重启)

jbossbinfiledir=/opt/app/jboss5/server/bin

#远程操作shell文件的全路径,也可为不同文件夹

shfiledir=/opt/app/tskk/commonsh

#远程服务器拷贝,删除,上传,重启jboss

sh $shfiledir/remotebackupdeletewar.sh $IP $userx $passx $jbossfiledirname $filebackupdir $backupflag

sh $shfiledir/remoteuploadwar.sh $IP $userx $passx $jenkinsfiledirname $jbossfiledirname

sh $shfiledir/remoterestartjboss.sh $IP $userx $passx $jbossbinfiledir

注:sh  ***.sh  parm1 parm2…,可以顺序执行多个脚本

remotebackupdeletewar.sh实现远程备份文件:

#!/bin/sh

echo "file backupdelete start………………"

#访问远程服务器ip,user,pass

IP=$1

userx=$2

passx=$3

#jboss服务器上项目war文件的全路径名称 eg:/opt/app/jboss5/server/warset/jsm.war

jbossfiledirname=$4

#dirname获取jboss上war文件路径 eg:/opt/app/jboss5/server/warset

mianjbossfiledir=`dirname $jbossfiledirname`

#basename获取jboss上war文件的名称 eg:jsm.war

jbossfilename=`basename $jbossfiledirname`

#备份文件的主目录

mainbackupdir=$5

#备份同名标识

backupflag=$6

#备份文件夹的名称 eg:tskk-jsm.war201412021439

DATE=$(date +%Y%m%d%H%M)

filename2=$backupflag-${jbossfilename}${DATE}

#sshpass登录远程服务器,进行war文件的备份和删除

sshpass -p $passx ssh -o StrictHostKeyChecking=no -tt $userx@$IP <

cd $mainbackupdir

mkdir $filename2

cd $mianjbossfiledir

cp -R $jbossfilename $mainbackupdir/$filename2

rm -rf $jbossfilename

exit

sshaccess

echo "file backupdelete end-ok………………"

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

echo "file upload start………………"

#访问远程服务器ip,user,pass

IP=$1

userx=$2

passx=$3

#Jenkins下文件全路径名称

jenkinsfiledirname=$4

#获取Jenkins下文件路径

jenkinsfiledir=`dirname $jenkinsfiledirname`

#获取Jenkins上文件名称

jenkinsfilename=`basename $jenkinsfiledirname`

#jboss上war文件全路径名称

jbossfiledirname=$5

#jboss上war文件路径

jbossfiledir=`dirname $jbossfiledirname`

#jboss上war文件名称

jbossfilename=`basename $jbossfiledirname`

#对Jenkins下jar按jboss上规范给文件命名

#cd $jenkinsfiledir

#mv $jenkinsfilename $jbossfilename

#重命名后Jenkins上文件全路径名称

#rejenkinsfiledirname=$jenkinsfiledir/$jbossfilename

#sshpass远程上传文件到jboss服务器

sshpass -p $passx scp -o StrictHostKeyChecking=no $jenkinsfiledirname $userx@$IP:$jbossfiledir <

exit

sshpassupload

echo "file upload end-ok………………"

exit 0

remoterestartjboss.sh实现远程服务器重启:

#!/bin/sh

echo "jboss restart start………………"

#获取jboss服务器的连接信息ip,user,pass

IP=$1

userx=$2

passx=$3

#获取jboss服务器的/bin目录

jbossbindir=$4

sshpass -p $passx ssh -tt -o StrictHostKeyChecking=no $userx@$IP <

cd $jbossbindir

sudo -u jboss5 ./shutdown.sh

sudo -u jboss5 ./start.sh

exit

jbossrestart

echo "jboss restart ok………………"

exit 0

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值