重启tomcat脚本

[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()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值