Python实现tomcat自动启动,关闭,重启

51 篇文章 0 订阅
5 篇文章 0 订阅
# -*- coding:utf-8 -*-
# !/usr/bin/env python3
# name : Alenx

"""
1.自动启动tomcat ;2.自动关闭tomcat ;3.自动重tomcat ;
"""

import os
import sys
import time
import glob
import telnetlib

host = "127.0.0.1"
port = "8080"
tomcat_path = "/opt/admin/tpc/tomcat7/"


# 清空tomcat所有日志
def clearlog():
    os.system("cat " + "/dev/null " + "> " + tomcat_path + "logs/catalina.out")
    map(os.remove, glob.glob(tomcat_path + "logs/*.log"))
    map(os.remove, glob.glob(tomcat_path + "logs/*.txt"))


# 关闭tomcat服务器----------------------------------------------------------
def shutdown():
    clearlog()
    print("tomcat正在关闭,请稍等...")
    os.system(tomcat_path + "bin/shutdown.sh")
    os.system("kill -9 $(ps -ef | grep java| awk '{print $2}')")
    time.sleep(5)
    try:
        tel = telnetlib.Telnet(host, port)
        print("关闭tomcat失败,请手动关闭")
        sys.exit()
    except:
        print("关闭tomcat成功")


# 启动tomcat服务器----------------------------------------------------------
def startup():
    clearlog()
    print("tomcat正在启动,广告过后,马上回来。。。")
    os.system(tomcat_path + "bin/startup.sh")
    time.sleep(3)
    for k in range(38, 0, -1):
        print (k)
        time.sleep(1)
        os.system("clear")
        # 判断是否启动成功
    rizhi = open(tomcat_path + "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 restart():
    os.system("service mysql restart")
    print("哈哈,数据库重启成功,6秒后重启tomcat!")
    time.sleep(6)
    # 关闭tomcat
    shutdown()
    # 启动tomcat
    startup()


# 查看或搜索tomcat日志-----------------------------------------------------
def viewlog():
    if sousuo == "":
        os.system("cat " + tomcat_path + "logs/catalina.out")
    else:
        os.system("grep -n " + sousuo + " " + tomcat_path + "logs/catalina.out")


# -----------------------------------------------------------
def main():
    print("|--------------------------------------------------------------------------|\n\
                    欢迎使用rmao!\n\
            rmao start    #启动tomcat服务器\n\
            rmao stop     #关闭tomcat服务器\n\
            rmao restart  #重启tomcat服务器\n\
            rmao log      #查看tomcat日志\n\
            rmao clear    #清空tomcat日志\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 == "restart":
        restart()
    elif tihuan == "start":
        startup()
    elif tihuan == "stop":
        shutdown()
    elif tihuan == "log":
        viewlog()
    elif tihuan == "clean":
        clearlog()
    else:
        main()
        sys.exit()

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值