在当前路径下输入
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. SQLite基础-5.数据操作语言

    目录 一.添加数据(insert) 二.查询数据(select) 三.更新数据(update) 三. 删除数据(delete) 一.添加数据(insert) INSERT INTO 用于向数据库的某个 ...

  2. PAT B1006 换个格式输出整数 (15)

    AC代码 #include <cstdio> const int max_n = 3; char radix[max_n] = {' ', 'S', 'B'}; int ans[max_n ...

  3. 用SPFA 解决POJ2240

    Arbitrage Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 30790   Accepted: 12761 Descr ...

  4. css小记:hover 鼠标滑过让该元素的子元素或者其他元素改变样式

    <!DOCTYPE><head><meta http-equiv="Content-Type" content="text/html; ch ...

  5. 第2章:Python生态工具

    1.Python内置小工具 1).1秒钟启动一个下载服务器: python -m SimpleHTTPServer python3 -m http.server 会在当前目录下启动一个文件下载服务器, ...

  6. JavaScript的几种循环方式

    JavaScript提供了许多通过LOOPS迭代的方法.本教程解释了现代JAVASCRIPT中各种各样的循环可能性 目录: for forEach do...while while for...in ...

  7. nginx-consul-template

    概述Consul-template 是 HashiCorp 基于 Consul 所提供的可扩展的工具,通过监听 Consul中的数据变化,动态地修改一些配置文件中地模板.常用于在 Nginx.HAPr ...

  8. Java Web DNS域名解析

    一.什么是DNS DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串 ...

  9. GET方法和POST方法的区别,Get方法到底可传递的字符串的最大长度是多少?

    GET方法和POST方法的区别,Get方法到底可传递的字符串的最大长度是多少?曾经人介绍,如果使用GET方式传输参数,URL的最大长度是256个字节,对此深信不疑. 但是最近看到一些超长的url,能够 ...

  10. Bootstrap3基础教程 01 概述

    移动设备优先是 Bootstrap 3 的最显著的变化. 基础的页面: <!DOCTYPE html> <html> <head> <meta charset ...