Linux下远程备份、上传工程,重启服务器
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Linux下远程备份、上传工程,重启服务器,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3529字,纯文字阅读大概需要6分钟。
内容图文
![Linux下远程备份、上传工程,重启服务器](/upload/InfoBanner/zyjiaocheng/1096/41ae08dd620a4ee69a25819020b42f4c.jpg)
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 $userx@$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 $userx@$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 $userx@$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
实现了,备份、上传、重启的功能,但做了三次对服务器的连接断开!
原文:http://www.cnblogs.com/wangchunniu1314/p/6340092.html
内容总结
以上是互联网集市为您收集整理的Linux下远程备份、上传工程,重启服务器全部内容,希望文章能够帮你解决Linux下远程备份、上传工程,重启服务器所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。