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 $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  
实现了,备份、上传、重启的功能,但做了三次对服务器的连接断开!
Linux下远程备份、上传工程,重启服务器的更多相关文章
- linux下将文件上传到svn服务器
		
linux下将文件上传到svn服务器 摘自:https://blog.csdn.net/sky_yangge/article/details/41544773 2014年11月27日 16:47:57 ...
 - linux下使用SVN上传项目
		
linux下使用SVN上传项目 摘自:https://blog.csdn.net/puppet_/article/details/78259591 2017年10月17日 13:51:33 puppe ...
 - Linux下通过ssh上传下载文件
		
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/jun8148/article/deta ...
 - Linux 下  ---ThinkPHP 图片上传提示:上传根目录不存在!请尝试手动创建
		
2016年11月15日11:15:47 Windows下如果碰到如此问题,要看文件保存根路径里的rootpath,比如ThinkPHP框架里config.php文件里的的参数配置: //文件上传相关配 ...
 - windows、linux下通过ftp上传文件小脚本
		
一.windows @echo off #open ip 将要上传文件的IP地址echo open IP>ftp.up #用户名echo ninic>>ftp.up #密码echo ...
 - linux 下向github上传代码
		
上传代码: cd TPS/devices/M8 git init #//初始化 git add . #如果是.表示上传全 ...
 - Linux下安装lrzsz上传下载工具
		
使用yum安装 为什么要使用yum安装? 答:安装十分方便,几乎不需要别的操作,只需要一个yum命令就可以完成所有的安装过程. yum -y install lrzsz 要有网络才行 输入命令:rz ...
 - Linux下自动备份MySQL数据库并上传到远程FTP服务器
		
Linux下自动备份MySQL数据库并上传到远程FTP服务器且删除指定日期前的备份Shell脚本 说明: 1.备份MySQL数据库存放目录/var/lib/mysql下面的xshelldata数据库 ...
 - 解决Windows下编辑脚本上传到Linux后遇到^M的方法
		
Windows下编辑脚本上传到Linux后遇到^M,导致脚本无法执行,原因是因为Linux与Windows对 "回车键" 编码不同 解决方法如下: 在使用UE->文件-> ...
 
随机推荐
- ssh: connect to host 192.168.11.180 port 22: Connection refused
			
错误原因: 1.sshd 未安装:sudo apt-get install openssh-server 2.sshd 未启动:sudo net start sshd 3.防火墙:sudo ufw d ...
 - hdu-4417-主席树+离线
			
Super Mario Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total ...
 - HDOJ1004
			
#include<iostream> #include "cstring" using namespace std; int add(char s1[],char s2 ...
 - UVALive 4168
			
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAA08AAABMCAIAAAA6IBt+AAAgAElEQVR4nO1dybXjOg7tWJSK65yKxL
 - James Whittaker:经营成功的测试职业生涯
			
转注:这篇文章出自 James A. Whittaker,Google的工程总监,负责Google部分产品的测试,包括Chrome.地图.GoogleWebApp.在加盟Google之前,James在 ...
 - bzoj2463
			
题解: 当n为奇数,输出Bob 否则输出Alice 代码: #include<bits/stdc++.h> using namespace std; int n; int main() { ...
 - 在主Android Activity中加载Fragment的一般简易方法 ,来模拟一个微信界面。
			
在Fragment的生命周期中,需要重点关注onCreate.onCreateView.onViewCreated.Activity与Fragment生命周期在设计模式上大体一致. package c ...
 - java 继承 初始化顺序
			
面向对象三大特性: 封装,继承,多态 java 继承初始化顺序 先初始化父类对象, 在父类对象中先初始化父类属性,再初始化父类的构造方法,然后初始化子类对象,初始化子类对象的属性,初始化子类的构造方法 ...
 - DevExpress v18.1新版亮点——ASP.NET Bootstrap篇(二)
			
用户界面套包DevExpress v18.1日前终于正式发布,本站将以连载的形式为大家介绍各版本新增内容.本文将介绍了DevExpress ASP.NET Bootstrap v18.1 的新功能,快 ...
 - java.lang.IllegalStateException: Zip File is closed
			
最近在研究利用sax读取excel大文件时,出现了以下的错误: java.lang.IllegalStateException: Zip File is closed at org.apache.po ...