1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
| import time import paramiko import tkinter as tk from tkinter import scrolledtext
HOST = "192.168.10.102" USERNAME = 'root' PASSSWORD = '1'
TOMCAT_START_CMD = '/usr/local/tomcat/bin/catalina.sh start' TOMCAT_STOP_CMD = '/usr/local/tomcat/bin/catalina.sh stop' TOMCAT_STATUS_CMD = 'ps -ef | grep tomcat | grep -v grep'
current_timestamp = time.time() timestamp = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(current_timestamp))
def run_command(command): ssh=paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) try: ssh.connect(HOST,username=USERNAME,password=PASSSWORD) stdin,stdout,stderr=ssh.exec_command(command) output=stdout.read().decode("utf-8") error=stderr.read().decode("utf-8") if "Picked up JDK_JAVA_OPTIONS" in error: error = ""
return output.strip(),error.strip() except Exception as e: return "",str(e) finally: ssh.close()
def get_tomcat_status(): output,error=run_command(TOMCAT_STATUS_CMD) if error: log_text.insert(tk.END,f"check tomcat status failed: {error} {timestamp}\n") else: if output.strip(): log_text.insert(tk.END,f"Tomcat is running {timestamp}\n") else: log_text.insert(tk.END,f"Tomcat is stopped {timestamp}\n")
def start_tomcat(): output,error = run_command(TOMCAT_START_CMD) if error: log_text.insert(tk.END,f"tomcat start failed{error}\n") else: log_text.insert(tk.END,"tomcat started successfully\n") get_tomcat_status()
def stop_tomcat(): output, error = run_command(TOMCAT_STOP_CMD) if error: log_text.insert(tk.END, f"tomcat stop failed: {error}\n") else: log_text.insert(tk.END, "tomcat stopped successfully\n") get_tomcat_status()
def check_tomcat_status(): get_tomcat_status() root.after(5000, check_tomcat_status)
root = tk.Tk() root.title("Tomcat管理")
start_button = tk.Button(root, text="启动tomcat",command=start_tomcat,width=20) start_button.grid(row=0,column=0,padx=10,pady=10)
stop_button = tk.Button(root,text="关闭tomcat",command=stop_tomcat,width=20) stop_button.grid(row=0,column=1,padx=10,pady=10)
log_text = scrolledtext.ScrolledText(root,width=60,height=20) log_text.grid(row=1,column=0,columnspan=3,padx=10,pady=10)
exit_button = tk.Button(root,text="退出",command=root.quit,width=20) exit_button.grid(row=0,column=3,padx=10,pady=10)
check_tomcat_status() root.mainloop()
|