Linux下简单的tomcat管理脚本

Stella981
• 阅读 629

现在使用Linux作为项目运行环境的已经越来越多,Linux下tomcat启动默认是看不到输出信息的,如日常开发中可以在eclipse中看到的输出信息都被输出到logs/catalina.out.需要查看的话可以使用

tail -f logs/catalina.out

笔者经常需要发布项目新版本,需要不断操作tomcat启动和关闭。于是写了以下tomcat.py的Python脚本:

# encoding:utf-8

import os, sys

start_operation = ['startup', '-startup', '--startup', 'start', '-start', '--start']
stop_operation  = ['shutdown', '-shutdown', '--shutdown', 'stop', '-stop', '--stop']
show_operation  = ['show', 'log']

def show_help():
    print 'usage:  python tomcat.py start|stop|show'
    print '\n\n'
    print 'startup operation : '
    print start_operation
    print '----------------------------'
    print 'stop operation    : '
    print stop_operation
    print '----------------------------'
    print 'show operation    :'
    print show_operation
    print '----------------------------'

if __name__=="__main__":
    operation = ''
    try:
        operation = sys.argv[1]
    except:
        show_help()
        sys.exit(0)
    if operation in start_operation:
        # start tomcat
        os.system('/opt/apache-tomcat-8.0.32/bin/shutdown.sh')
        os.system('/opt/apache-tomcat-8.0.32/bin/startup.sh')
        os.system('tail -f /opt/apache-tomcat-8.0.32/logs/catalina.out')
    elif operation in stop_operation:
        # stop tomcat
        os.system('/opt/apache-tomcat-8.0.32/bin/shutdown.sh')
        os.system('tail -f /opt/apache-tomcat-8.0.32/logs/catalina.out')
    elif operation in show_operation:
        os.system('tail -f /opt/apache-tomcat-8.0.32/logs/catalina.out')
    else:
        show_help()
        sys.exit(0)

注释一下:

  • show_help()是在没有输入指令的时候进行输出显示用法的函数。
  • 一共有三种操作,start,stop,show.为了满足不同的习惯,每种操作有各种开关习惯。(感觉这里确实用得有点麻烦,顺便给出一种读取开关指令并控制操作的方法。)
  • os.system()就是通过python调用操作系统中的指令。
点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
待兔 待兔
3个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Stella981 Stella981
3年前
Linux查看GPU信息和使用情况
1、Linux查看显卡信息:lspci|grepivga2、使用nvidiaGPU可以:lspci|grepinvidia!(https://oscimg.oschina.net/oscnet/36e7c7382fa9fe49068e7e5f8825bc67a17.png)前边的序号"00:0f.0"是显卡的代
Easter79 Easter79
3年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Stella981 Stella981
3年前
Linux下shell脚本监控Tomcat的状态并实现自动启动
最近公司需要在Linux下监控tomcat的服务,一旦tomcat服务存在异常或者宕机,重启tomcat保证服务的正常运行,由于Linux下有Shell脚本可以实现此效果,下面是Linux下shell脚本监控Tomcat的状态并实现自动启动的步骤。1.编写Shell脚本monitor.sh!/bin/sh\func:自动监控tomcat脚本
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
MongoDB 分片管理(一)检查集群状态
一、检查集群状态1.1使用sh.status()查看集群摘要信息1、使用sh.status()可以查看分片信息、数据库信息、集合信息sh.status()如果数据块较多时,使用sh.status(true)又是输出会很多,就不会截断,要使用如下查看2、tooman
Stella981 Stella981
3年前
JOptionPane修改图标
1.在Linux平台下.JOptionPane会显示Java默认的图标,在window平台不显示图标,如何替换这个图标了?2JOptionPane.setIcon(Icon)修改的是内容区域的icon,而不是左上角的Icon.所以需要通过修改Jdialog/Frame的图标来达到修改默认图标的问题.3.代码:if(JOptio
Easter79 Easter79
3年前
Tomcat7 自动加载类及检测文件变动原理
在一般的web应用开发里通常会使用开发工具(如Eclipse、IntelJ)集成tomcat,这样可以将web工程项目直接发布到tomcat中,然后一键启动。经常遇到的一种情况是直接修改一个类的源文件,此时开发工具会直接将编译后的class文件发布到tomcat的web工程里,但如果tomcat没有配置应用的自动加载功能的话,当前JVM中运行的class还是