闲来无事,就自己写一个shell脚本,方便自己以后在服务器上部署tomcat下的项目。我本地用maven打包,然后每次都要人工去切换一堆堆目录,有点繁琐,所以我写了下面的shell脚本。

#! /bin/sh

usage()
{
echo "Usage: ${0##*/} {start|stop} "
exit 1
} start()
{
#切到tomcat下bin路径
echo "************梦似烟花心似水,同学少年不言情****************"
cd /root/tomcat/apache-tomcat-8.0.30/bin
#拉服务起来
sh startup.sh
echo "========>>启动服务成功<<=================="
ps -ef | grep tomcat | grep -v "grep"
echo "========>>移动日志成功<<=================="
# cp /root/tomcat/apache-tomcat-8.0.30/logs/catalina.out ~
# mv ~/catalina.out ~/log
ln -s /root/tomcat/apache-tomcat-8.0.30/logs/catalina.out ~/huhu.log
echo "************不会一辈子兵荒马乱*************************"
} stop()
{
#切到tomcat下webapps路径
cd /root/tomcat/apache-tomcat-8.0.30/webapps
#删掉项目
rm -rf suiyi*
echo "************梦似烟花心似水,同学少年不言情****************"
echo "========>当前服务进程<=================="
ps -ef | grep tomcat | grep -v "grep"
echo "=======>>删除项目成功<<================="
#输出tomcat进程
(ps -ef|grep tomcat|grep -v grep)|awk '{print $2}'|xargs kill -9
echo "=======>>终止服务成功<<================="
rm -rf ~/huhu.log
echo "************不会一辈子兵荒马乱*************************"
} [ $# -gt 0 ] || usage APP_HOME=`dirname $(cd "$(dirname "$0")"; pwd)` if [ $1 = "start" ]; then
start
elif [ $1 = "stop" ]; then
stop
elif [ $1 = "-m" ]; then
main $2
else
usage
fi

这样子的话就很方便了,现在我自己的服务器上还没有装SVN服务器和maven,到时候装上这2个东西,然后修改这个脚本就直接一键来发布了。







自己写的一个tomcat发布脚本的更多相关文章

  1. 基于七牛Python SDK写的一个批量下载脚本

    前言 上一篇基于七牛Python SDK写的一个同步脚本所写的脚本只支持上传,不支持文件下载. 虽然这个需求不太强烈,但有可能有人(在备份.迁移时)需要,而官方有没提供对应的工具,所以我就把这个功能也 ...

  2. 把登录和退出功能单独写到一个公共.py脚本,其它用例test1,test2调用公共登录,退出函数

    公共登录/退出函数模块(login_exit.py): #coding:utf-8import timedef login(driver, username, password):#此处的driver ...

  3. 任务:写一个tomcat自启动脚本

    写一篇<gitlab无法启动了应该怎么办>

  4. tomcat发布脚本

    #!/bin/bash #发布相关目录Tomcat_log='/home/CodePub/tomcatlog'dev_package='/home/CodePub/package'old_packag ...

  5. 写了一个RenderInBackground的脚本

    某主管希望write节点有多线程渲染的功能,而nuke中的render in background功能恰恰可以多个渲染任务同时执行,于是我考虑使用这个方法来实现. 调 试过程中发现renderinba ...

  6. python3 写的一个压测脚本(有待开发)

    import requests import queue import threading import time status_code_list = [] exec_time = 0 class ...

  7. python+imageMagick写的一个压缩图片脚本

    !/usr/bin/python import os import cPickle as p import re import Image def imageCompre(imagedir = '.' ...

  8. 大型项目linux自动化版本发布脚本(shell)之tomcat、nginx服务脚本

    开发十年,就只剩下这套Java开发体系了 >>>   最近,又临近博主所负责的一个大型项目的发版了.之前有提到过,该项目涉及到30-40台服务器的发版.且项目客户规定发版需在晚上10 ...

  9. 手把手用Monkey写一个压测脚本

    版权声明: 本账号发布文章均来自公众号,承香墨影(cxmyDev),版权归承香墨影所有. 允许有条件转载,转载请附带底部二维码. 一.为什么需要一个测试脚本? 昨天讲解了Android Monkey命 ...

随机推荐

  1. MariaDB的"response time"插件

    "响应时间"是衡量数据库性能的常用指标.在MariaDB中可以使用插件"QUERY_RESPONSE_TIME"来获取查询时间区间的统计信息. // 安装插 件 ...

  2. C#学习笔记-状态模式

    题目1:通过代码描述每一天的不同时间段的工作效率 分析: 首先确定,工作状态指正在工作,或者以及下班这些情况,而这些情况所受影响的因素包括:当前时间以及任务是否已经完成.所以在Work中需要两个属性: ...

  3. Zabbix Agent for Windows部署(五)

    一.环境介绍 二.软件准备 1.Zabbix官方下载地址:https://www.zabbix.com/download进入Zabbix pre-compiled agents项,下载相应版本 2.将 ...

  4. NC和NO、耳机美标和欧标的区别

    NO是常开(NORMAL OPEN),就是通常即未通电状态下,是断开的,通电后在电磁线圈的作用下(吸合)处于闭合状态.NC是常闭(NORMAL CLOSE),就是通常即未通电状态下,是闭合的,通电后在 ...

  5. 52e174ef38c96afbbeabe55d2ec53622 我知道这是什么

    52e174ef38c96afbbeabe55d2ec53622   我知道这是什么52e174ef38c96afbbeabe55d2ec53622   我知道这是什么52e174ef38c96afb ...

  6. RequireJS对文件合并与压缩实现方法

    RequireJS 是一个JavaScript模块加载器.它非常适合在浏览器中使用, 它非常适合在浏览器中使用,但它也可以用在其他脚本环境, 就像 Rhino and Node. 使用RequireJ ...

  7. HDU 1003 Max Sum【动态规划求最大子序列和详解 】

    Max Sum Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Sub ...

  8. BZOJ 1432: [ZJOI2009]Function(新生必做的水题)

    1432: [ZJOI2009]Function Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 1205  Solved: 895[Submit][Sta ...

  9. HDU1754-I Hate It-线段树

    I Hate It Time Limit: 9000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total S ...

  10. Elasticsearch介绍,一些概念的笔记

    Elasticsearch,分布式,高性能,高可用,可伸缩的搜索和分析系统 什么是搜索? 如果用数据库做搜索会怎么样? 什么是全文检索和Lucene? 什么是Elasticsearch? Elasti ...