在当前路径下输入
chmod 777 脚本名
给脚本授权,
然后就可以执行脚本
./脚本名 
 
777 是最高权限,有读、写、执行权限;和属组用户和其他用户的读、写、执行权限。
其他权限分别是
-rw------- (600) -- 只有读写权限。
-rw-r--r-- (644) -- 只有有读写权限;而属组用户和其他用户只有读权限。
-rwx------ (700) -- 只有有读、写、执行权限。
-rwxr-xr-x (755) -- 有读、写、执行权限;而属组用户和其他用户只有读、执行权限。
-rwx--x--x (711) -- 有读、写、执行权限;而属组用户和其他用户只有执行权限。
 
read -p "请按任意键继续." var            --脚本中进行暂停,需要按任意键继续……

自用部署脚本1

cd /mnt/jfinalgit/web
echo "############## 进入 /mnt/jfinalgit/web 目录 ##############"
rm -rf *
rm -rf .*
git clone git**********.git
echo "############## git拉取完毕,开始打包 ##############"
cd /mnt/jfinalgit/web/jfinalweb
mvn package
echo "############## maven打包完毕,关闭tomcat复制war包 ##############"
killall java
sleep 3s
cd /mnt/apache-tomcat-9.0..M4/webapps/jf
cp /mnt/jfinalgit/web/jfinalweb/target/jfinalweb-V0..war .
jar -xvf jfinalweb-V0..war
cd /mnt/
echo "############# 进入mnt目录开始启动tomcat,并查看日志###########"
./tomcatstart
tailf catalina.out &

脚本2

buildpkg=/mnt/tbkmark-tomcat-9.0..M4/gitsourcepkg/
buildpkgName=tbkmark-0.0.-SNAPSHOT.war
targetpath=/mnt/tbkmark-tomcat-9.0..M4/gitsourcepkg/tbk_market/target/tbkmark-0.0.-SNAPSHOT.war
projectName=/mnt/tbkmark-tomcat-9.0..M4/gitsourcepkg/tbk_market
tomcatName=tbkmark
projectPath=/mnt/tbkmark-tomcat-9.0..M4/webapps/ROOT
startpath=/mnt/tbkmark-tomcat-9.0..M4/bin/startup.sh
logpath=/mnt/tbkmark-tomcat-9.0..M4/logs/catalina.out
echo "##### start build tbkmark #####"
cd $buildpkg
rm -rf *
git clone https://git.oschina.net/mrning001/tbk_market.git
echo "##### git pull ok #####"
cd $projectName
mvn package -Dmaven.test.skip=true
echo "##### maven pkg ok #####"
ps -ef | grep tomcat | grep $tomcatName | awk '{print $2}'|xargs kill -
cd $projectPath
rm -rf *
cp $targetpath $projectPath
jar -xvf $buildpkgName
echo "##### kill tomcat and cp pkg to root ok !!! #####"
\cp /application.properties /mnt/tbkmark-tomcat-9.0..M4/webapps/ROOT/WEB-INF/classes
sh $startpath
sleep 5s
tailf -n $logpath

【根据ps -ef查找出指定进程并且杀掉,然后重启tomcat进程】

ps -ef|grep xxxxName|grep tomcat|awk '{print $2}'|xargs kill -
sh /mnt/data1/esports/tomcat-8.0./bin/startup.sh

【SVN打包部署脚本】

 
projectName=projectName
targetMathineme=duoyou
targetMathine=esports@112.xxx.xxx.34
targetTomcatWebAppsDir="~/tomcat-8.0.35/webapps"
svnPath=http://xxxx.xxx.xxx
checkoutDir="checkout"
targetWarName=projectName
mvn scm:bootstrap -DconnectionUrl=scm:svn:$svnPath -DcheckoutDirectory=$checkoutDir -Dgoals=package -Dprofiles=skipTest,dev -DmavenHome=""
if [ -f "./$checkoutDir/target/$targetWarName.war" ]; then
echo "File projectName Generate success!"
scp $checkoutDir/target/$targetWarName.war $targetMathine:$targetTomcatWebAppsDir/$targetWarName.war.tmp
ssh $targetMathine "mv $targetTomcatWebAppsDir/$targetWarName.war.tmp $targetTomcatWebAppsDir/$targetWarName.war"
fi
echo "projectName.war publish success. "

Linux 一键部署脚本的更多相关文章

  1. 源码编译安装Apache-附一键部署脚本

    1.进入apache官网https://www.apache.org/,点击Download 2.如图选择 3.选择httpd 4.下载两个包,2.2为CentOS6使用,2.4为CentOS7使用 ...

  2. ceph集群一键部署脚本

    分布式存储ceph相信大家比较熟悉了.某项目临时要做一个40个节点的存储集群.所以写了这个脚本. 一键部署脚本如下: git clone https://github.com/luckman666/d ...

  3. 单个机器部署redis集群模式(一键部署脚本)

    一.检查机器是否安装gcc.unzip.wget 二.部署模式 #模式1: 将所有主从节点以及sentinel节点部署在同一台机器上 #模式2: 将一个数据节点和一个sentinel节点部署在一台机器 ...

  4. Centos 环境一键部署脚本(shell脚本)

    谨以此文纪念吊炸天的Centos环境一键部署方案的新鲜出炉 辛苦大半年,产品准备上线了,BOSS亲自体验安装部署,看着超过200+页的安装文档直接崩溃了(需要部署23个基础服务),经历了超过3个小时的 ...

  5. redis一键部署脚本

    1.新建一个名为 auto_install_redis.sh的文件 2.将下面脚本拷贝到文件中,具体步骤在注释里面 #环境 linux #一键安装redis,在linux环境中使用脚本运行该文件(sh ...

  6. rabbitmq一键部署脚本

    1.新建一个名字叫 auto_install_rabbitmq.sh  的文件 2.将下面脚本拷贝到文件中,具体操作步骤在注释里面 #环境 linux #一键安装rabitmq,在linux环境中使用 ...

  7. 福利来了~Linux一键部署包,环境安装不用愁!!!

    前言 昨天一哥们的弟弟突然问我有没有部署过的Linux,公司连个运维都没有,服务器都要后端部署.... 你有没有相似的遭遇呢?公司规模小,后端即是运维,一份工资干两份活,哈哈~ 为了解决这老弟的困惑, ...

  8. mysql5.7.25集群部署和方案设计(附PXC一键部署脚本)

    还记得我们之前部署mysql集群有多麻烦嘛?波哥来救你们啦!~ 我已将项目上传到了我的github仓库中,大家可以点击仓库地址出现的连接登录查看相应的代码!如果觉得不错别忘了转发.点赞哦! 部署步骤: ...

  9. kubernetesV1.13.1一键部署脚本(k8s自动部署脚本)

    部署k8sv1.13.1只需要下面几步就OK了: git clone https://github.com/luckman666/deploy_Kubernetes-v1.13.1.git cd de ...

随机推荐

  1. SQLSERVER2008 内存占用高的处理方式

    原文:SQLSERVER2008 内存占用高的处理方式 方法一: 方法二: 使用以下语句查找出什么语句占内存最高,针对占内存高的语句进行优化SELECT SS.SUM_EXECUTION_COUNT, ...

  2. C++中用ODBC和ADO方式连接SQL数据库

    https://wenku.baidu.com/view/f01e4e762f3f5727a5e9856a561252d380eb2033.html

  3. YAPTCHA(HDU2973)【威尔逊定理】

    威尔逊原理.即对于素数p,有(p-1)!=-1( mod p). 首先,将原式变形为[ (3×k+6)! % (3×k+7) + 1] / (3×k+7),所以: 1.3×k+7是素数,结果为1, 2 ...

  4. Maven 之 profile 与Spring boot 的 profile

    一.概述 不同的环境(测试环境.开发环境)有不同的配置,目前希望在打包的时候,就直接打出针对不同环境的包(内含有某个环境的配置).Maven本身在 pom.xml 中就提供了 profile 标签进行 ...

  5. Scala学习九——文件和正则表达式

    一.本章要点 Source.fromFile(...).getLines.toArray输出文件的所有行; Source.fromFile(...).mkString以字符串形式输出文件内容; 将字符 ...

  6. Java实现的基础数据结构

    Java实现的基础数据结构 0,常用的基础数据结构 图1 基础数据结构&相关特性 图2 Java自带的类集框架&继承关系图 1,数组[Array] 特点:长度固定.查找方便[直接使用i ...

  7. vue学习(2)-过滤器

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. js跳转页面与打开新窗口的方法

    1.超链接<a href="http://www.jb51.net" title="脚本之家">Welcome</a> 等效于js代码 ...

  9. Python 之subprocess模块

    Python subprocess模块运行python的时候,我们都是在创建并运行一个进程.像Linux进程那样,一个进程可以fork一个子进程,并让这个子进程exec另外一个程序.在Python中, ...

  10. layDate面板出现红色花纹图案

    要使用layDate,有两种方法: 1. 要么在引用layui.js和layui.css,然后通过layui.use('laydate', callback) 加载模块后,调用方法使用. 2. 去la ...