写了个关于tomcat项目部署脚本 shell
#!/bin/bash
tomcat_project_path=" /server/tomcat"
tomcat_cp_path="/root/tools/apache-tomcat-8.5.30/*"
title="
############################################ \n\t<欢迎进入项目创建系统>\n ############################################
\n
"
# 需要将替换的选项如
#/bin/setclasspath.sh 设置为 java_home_bak= calalina_home_bak
#/conf/server.xml 设置为 <Server port=xxxx <Connector port=xxxx <Context docBase=xxxx #java目录 /server/java/jdk1..0_161
#tomcat目录 /server/tomcat/项目名字
#webroot目录 /www/名字/webroot tomcat_ver=""
jdk_ver="\t1:jdk1.6\n\t2:jdk1.7\n\t3:jdk1.8"
jdk_path=" /server/java"
jdk_list=("'$jdk_path/jdk1.6.0_31'" "'$jdk_path/jdk1.7.0_79'" "'$jdk_path/jdk1.8.0_161'") webroot_path=" /www"
test_setclasspath="/root/setclasspath.sh" function login(){
while true;do
echo -e $title
read -p "输入项目名称:" project
read -p "输入Sever端口名:" sport
read -p "输入Connector端口号:" cport
while true;do
jdk=("1:jdk1.6" "2:jdk1.7" "3:jdk1.8")
for i in ${jdk[*]}
do
echo -e $i
done
read -p "选择JDK版本:" num
if [[ $num -gt ]] && [[ $num -lt ]];then
echo "ok"
jdk_version=${jdk_list[$(($num-))]}
jdk_easy=${jdk[$(($num-))]}
echo -e "所选版本为$jdk_easy"
break
else:
echo "no ok" fi
done
read -p "输入项目存放路径名字:" wname #webroot存放路径 用于修改server.xml文件
tomcat_webroot_path="$webroot_path/$wname/webroot"
echo -e "\t项目名:$project\n\tJDK版本:$jdk_easy\n\tTomcat项目存放:$tomcat_project_path/$project\n\tServer端口号:$sport\n\tConnector端口号:$cport\n\t项目代码存放路径:$tomcat_webroot_path"
read -p "1:确认|2:取消" num
if [[ $num == "" ]]
then
tomcatlist
if [[ $flag == "tru" ]];then
echo -e "\n\n"
echo "##########################################"
#echo "项目名称:$project"
#echo "jdk路径:$jdk_version" #jdk目录
#echo "tomcat代码存放路径:$tomcat_webroot_path"
#echo "tomcat项目路径:$tomcat_project_path/$project"
#echo "Server端口号:$sport"
#echo "Connector端口号:$cport"
echo -e "\t项目名:$project\n\tJDK版本:$jdk_easy\n\tTomcat项目存放:$tomcat_webroot_path\n\tServer端口号:$sport\n\tConnector端口号:$cport\n\t项目代码存放路径:$tomcat_webroot_path"
mkdir -p $tomcat_project_path/$project
cd $tomcat_project_path/$project
cp -ra $tomcat_cp_path $tomcat_project_path/$project
sed -i "s#java_home_bak=#JAVA_HOME=$jdk_version#g" bin/setclasspath.sh >/dev/null
sed -i "s#catalina_home_bak=#CATALINA_HOME='$tomcat_project_path/$project'#g" bin/setclasspath.sh >/dev/null
sed -i "s#<Server port=xxxx#<Server port='$sport'#g" conf/server.xml >/dev/null
sed -i "s#<Connector port=xxxx#<Connector port='$cport'#g" conf/server.xml >/dev/null
sed -i "s#<Context docBase=xxxx#<Context docBase='$tomcat_webroot_path'#g" conf/server.xml >/dev/null
echo -e "\t项目创建成功!!!"
echo "##########################################"
echo -e "\n\n" fi
elif [[ $num == "" ]]
then
echo ""
else
echo "输入有误,请重新输入"
fi
done
}
function tomcatlist(){
flag="tru"
for i in $(ls $tomcat_project_path)
do
if [[ $project == "$i" ]]
then
echo "项目$i已存在,无法创建,请重新输入"
flag="fal"
break
fi
done
}
login
使用图

写了个关于tomcat项目部署脚本 shell的更多相关文章
- linux系统tomcat项目部署和tomcat访问日志
一.只用ip地址访问 先把端口号改成80,然后用 <Host name="localhost" appBase="webapps" 137 ...
- Tomcat项目部署问题记录
Tomcat项目部署问题记录 1. -bash: ./startup.sh: Permission denied 问题: 新装tomcat后,执行启动命令会出现 -bash: ./startup.sh ...
- Linux CentOS6.8 项目部署脚本实现
面向刚接触linux环境的新手,老鸟勿拍~ 部署环境及配置: tomcat9,maven3.3.9,git 1.12.0 ##定义一些变量,将需要用到的 source目录,项目目录,名称等定义变量,方 ...
- Tomcat项目部署
一 之前一直是在ecplise 利用tomcat插件的形式启动项目,这里可以通过选择server.xml和context files两种方式这里选择这两者方式,都是会在tomcat/bin下产生对应的 ...
- Tomcat项目部署方式
一.静态部署 1.直接将web项目文件件拷贝到webapps 目录中 Tomcat的Webapps目录是Tomcat默认的应用目录,当服务器启动时,会加载所有这个目录下的应用.所以可以将JS ...
- tomcat 项目部署问题
我本地Tomcat版本:Apache Tomcat/8.0.3.0 服务器端:Apache Tomcat/6.0.37 JVM都是:1.7.0_40-b43 之前项目运行正常,在我更新了一些模块后,重 ...
- 解释Eclipse下Tomcat项目部署路径问题(.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps)
配置eclipse的开发环境,配置jdk的安装路径和tomcat安装路径.在eclipse下建立Dynamic Web Project工程zhgy,在使用eclipse中new一个tomcat,通过启 ...
- Tomcat项目部署的三种方法
第一种方法如下:直接把我们的项目文件夹放到tomcat里面,在这里我自己做的是一个测试项目oa,如图 启动tomcat,打开浏览器,输入localhost/oa 即可打开你的文件,注意 :访问的时候 ...
- Javaweb Tomcat 项目部署方式
一.静态部署 1.直接将web项目文件件拷贝到webapps 目录中 Tomcat的Webapps目录是Tomcat默认的应用目录,当服务器启动时,会加载所有这个目录下的应用.所以可以将JSP ...
随机推荐
- 安装了python之后Windows的cmd中cd指令无法转换路径怎么办?
1首先我们看看盘符,我的电脑里有 C D E,F. G盘. 2按下WIN+R键 输入cmd,打开cmd窗口. 3默认路径为用户文档路径,如果想切换到D盘 ,输入cd d: 是不行的. 4:AppDat ...
- FS,FT,DFT,DFS和DTFT的关系
对于初学数字信号(Digital Signal Processing,DSP)的人来说,这几种变换是最为头疼的,它们是数字信号处理的理论基础,贯穿整个信号的处理. FS:时域上任意连续的周期信号可以分 ...
- Linux 设备驱动之 UIO 机制(基本概念)
一个设备驱动的主要任务有两个: 1. 存取设备的内存 2. 处理设备产生的中断 对于第一个任务.UIO 核心实现了mmap()能够处理物理内存(physical memory),逻辑内存(logica ...
- drupal7 怎样将一个date字段加入上日期插件效果
//这里以created字段为样例 function Hook_form_alter($form,$form_state,$form_id){ $form['created']['#type'] = ...
- node07---post请求、表单提交、文件上传
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 7. 关于IntelliJ IDEA删除项目
转自:https://www.cnblogs.com/zhangqian27/p/7698148.html 刚开始使用IDEA . 自己创建项目玩,结果发现IDEA无法删除,我也是醉了,Eclipse ...
- 16.允许重复的multimap
#include <iostream> #include <map> #include <cstring> using namespace std; void ma ...
- 搭建Hadoop的全分布模式
此教程仅供参考 注意:此文档目的是为了本人方便以后复习,不适合当教程,以免误导萌新... 1.安装三台Linux2.在每台机器上安装JDK3.配置每台机器的免密码登录 (*) 生成每台机器的公钥和私钥 ...
- PostgreSQL Replication之第八章 与pgbouncer一起工作(3)
8.3 配置您的第一个pgbouncer设置 一旦我们已经完成了pbouncer的编译与安装,我们可以容易地启动它.要做到这一点,我们已经在一个本地实例(p0和p1) 建立了两个数据库.在本例中,执行 ...
- The 2018 ACM-ICPC China JiangSu Provincial Programming Contest(第六场)
A Plague Inc Plague Inc. is a famous game, which player develop virus to ruin the world. JSZKC wants ...