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