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

简介:     Linux服务器实现远程,原项目的备份、删除,新项目上传,以及远程重启服务器! 分成一个主shell调用三个shell文件步骤完成。 mainsh.sh一次按顺序执行多个脚本,将三步sh顺序完成: #!/bin/sh#此Shell一次按顺序执行多个脚本#参数:: #远程jboss服务器所在的ip IP=127.0.0.1 #服务器登录账户 userx='tskk'

    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 <<sshaccess
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 <<sshpassupload
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 <<jbossrestart
cd $jbossbindir
sudo -u jboss5 ./shutdown.sh
sudo -u jboss5 ./start.sh
exit
jbossrestart
echo "jboss restart ok………………"
exit 0

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

 

 



 

目录
相关文章
|
1月前
|
弹性计算 运维 监控
免费的ECS备份重磅上线!100GiB 免费额度,全地域覆盖!
阿里云推出ECS文件备份基础版,全地域享100GiB免费额度,支持文件级增量备份,秒级恢复单个文件,低成本高效保护数据。适用于Web配置、代码等轻量备份场景,三步开启,零成本上手,为ECS实例提供开箱即用的数据安全保障。
253 11
|
3月前
|
弹性计算 安全 Linux
阿里云服务器ECS安装宝塔Linux面板、安装网站(新手图文教程)
本教程详解如何在阿里云服务器上安装宝塔Linux面板,涵盖ECS服务器手动安装步骤,包括系统准备、远程连接、安装命令执行、端口开放及LNMP环境部署,手把手引导用户快速搭建网站环境。
|
3月前
|
存储 安全 数据管理
服务器违规资源被删,数据定时备份OSS 云存储才是 “救命稻草”
在数字化时代,数据已成为企业与个人的核心资产。然而,服务器违规、硬件故障等问题频发,导致数据丢失、业务中断,甚至造成不可挽回的损失。为保障数据安全与业务连续性,定时备份至关重要。阿里云国际站OSS提供高效、可靠的云存储解决方案,支持自动定时备份,帮助用户轻松应对数据风险。本文详解OSS备份操作步骤与注意事项,助你为数据穿上“防护甲”,实现安全无忧存储。
|
4月前
|
Java Linux 网络安全
Linux云端服务器上部署Spring Boot应用的教程。
此流程涉及Linux命令行操作、系统服务管理及网络安全知识,需要管理员权限以进行配置和服务管理。务必在一个测试环境中验证所有步骤,确保一切配置正确无误后,再将应用部署到生产环境中。也可以使用如Ansible、Chef等配置管理工具来自动化部署过程,提升效率和可靠性。
514 13
|
4月前
|
监控 Linux 网络安全
FinalShell SSH工具下载,服务器管理,远程桌面加速软件,支持Windows,macOS,Linux
FinalShell是一款国人开发的多平台SSH客户端工具,支持Windows、Mac OS X和Linux系统。它提供一体化服务器管理功能,支持shell和sftp同屏显示,命令自动提示,操作便捷。软件还具备加速功能,提升访问服务器速度,适合普通用户和专业人士使用。
1096 0
|
4月前
|
存储 安全 Linux
Linux服务器上安装配置GitLab的步骤。
按照以上步骤,一个基础的GitLab服务应该运行并可以使用。记得定期检查GitLab官方文档,因为GitLab的安装和配置步骤可能随着新版本而变化。
381 0
|
1月前
|
弹性计算 运维 安全
阿里云轻量应用服务器与云服务器ECS啥区别?新手帮助教程
阿里云轻量应用服务器适合个人开发者搭建博客、测试环境等低流量场景,操作简单、成本低;ECS适用于企业级高负载业务,功能强大、灵活可扩展。二者在性能、网络、镜像及运维管理上差异显著,用户应根据实际需求选择。
206 10
|
28天前
|
运维 安全 Ubuntu
阿里云渠道商:服务器操作系统怎么选?
阿里云提供丰富操作系统镜像,涵盖Windows与主流Linux发行版。选型需综合技术兼容性、运维成本、安全稳定等因素。推荐Alibaba Cloud Linux、Ubuntu等用于Web与容器场景,Windows Server支撑.NET应用。建议优先选用LTS版本并进行测试验证,通过标准化镜像管理提升部署效率与一致性。
|
1月前
|
弹性计算 ice
阿里云4核8g服务器多少钱一年?1个月和1小时价格,省钱购买方法分享
阿里云4核8G服务器价格因实例类型而异,经济型e实例约159元/月,计算型c9i约371元/月,按小时计费最低0.45元。实际购买享折扣,1年最高可省至1578元,附主流ECS实例及CPU型号参考。
316 8
|
29天前
|
存储 监控 安全
阿里云渠道商:云服务器价格有什么变动?
阿里云带宽与存储费用呈基础资源降价、增值服务差异化趋势。企业应结合业务特点,通过阶梯计价、智能分层、弹性带宽等策略优化成本,借助云监控与预算预警机制,实现高效、可控的云资源管理。