现在使用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调用操作系统中的指令。