[python]重启tomcat脚本,写的不好[复制链接] 电梯直达 1# 发表于 2011-9-21 16:07:01 | 只看该作者 | 倒序浏览 本帖最后由 envfull 于 2011-9-21 16:07 编辑 #!/usr/bin/env python #-*-coding=utf-8-*- """ 1.自动启动tomcat ;2.自动关闭tomcat ;3.自动重tomcat ; """ import os import sys import time import glob import telnetlib host = "127.0.0.1" port = "80" tomcat = "/var/apache-tomcat-6.0.18/" #tomcat路径 #清空tomcat所有日志 def clearlog(): os.system("cat " + "/dev/null " + "> " + tomcat + "logs/catalina.out") map(os.remove, glob.glob(tomcat + "logs/*.log")) map(os.remove, glob.glob(tomcat + "logs/*.txt")) #关闭tomcat服务器---------------------------------------------------------- def shutdown(): clearlog() print "tomcat正在关闭,请等13秒。。。" os.system(tomcat + "bin/shutdown.sh") os.system("kill -9 `ps -ef | grep java| awk '{print $2}'`") time.sleep(13) try: tel = telnetlib.Telnet(host, port) print "关闭tomcat失败,请手动关闭" sys.exit() except: print "关闭tomcat成功" #启动tomcat服务器---------------------------------------------------------- def startup(): clearlog() print "tomcat正在启动,广告过后,马上回来。。。" os.system(tomcat + "bin/startup.sh") time.sleep(3) for k in range(38, 0, -1): print k time.sleep(1) os.system("clear") #判断是否启动成功 rizhi = open(tomcat + "logs/catalina.out", 'r') try: telnet = telnetlib.Telnet(host, port) xinxi = rizhi.read() xinxi.index("Server startup in") print "让你久等了,5秒后揭晓答案" time.sleep(6) print "启动tomcat成功,这次算你运气好!" rizhi.close() except: print "启动tomcat失败,其实早在我预料之内!" rizhi.close() #重启tomcat服务器---------------------------------------------------------- def chongqi(): os.system("service mysql restart") print "哈哈,数据库重启成功,6秒后重启tomcat!" time.sleep(6) #关闭tomcat shutdown() #启动tomcat startup() #查看或搜索tomcat日志----------------------------------------------------- def viewlog(): if sousuo == "": os.system("cat " + tomcat + "logs/catalina.out") else: os.system("grep -n " + sousuo + " " + tomcat + "logs/catalina.out") #----------------------------------------------------------- def main(): print "|--------------------------------------------------------------------------|\n\ 欢迎使用rmao!\n\ rmao st #启动tomcat服务器\n\ rmao sh #关闭tomcat服务器\n\ rmao r #重启tomcat服务器\n\ rmao l #查看tomcat日志\n\ rmao c #清空tomcat日志\n\ \n\ rmao l startup #在catalina.out中查找 startup 这个关键字\n\ \n\ |--------------------------------------------------------------------------|\n " os.system("netstat -tnlp") print "-----------------------------------------------------------------------" os.system("df -h") print "-----------------------------------------------------------------------" if __name__ == "__main__": if len(sys.argv) < 2: main() sys.exit() else: pass tihuan = sys.argv[1] sousuo = "" if len(sys.argv) == 3: sousuo = sys.argv[2] if tihuan == "r": chongqi() elif tihuan == "st": startup() elif tihuan == "sh": shutdown() elif tihuan == "l": viewlog() elif tihuan == "c": clearlog() else: main() sys.exit()