bat脚本中获取上级目录_使用Python写一个可以监控Tomcat 运行的脚本,并且把.py文件转换成.exe文件...
使用Python寫一個可以監控Tomcat 運行的腳本,并且把.py文件轉換成.exe文件
文章來源與博主本人的CSDN博客,博客地址:https://blog.csdn.net/weixin_43558566/article/details/101458567
之前寫過.bat 腳本用來監控tomcat運行宕機后自動重啟的文章,接下來提供下python腳本方法,供各位同仁參考,所有方法基于本人實際開發環境,如有瑕疵,還望各位看官批評指正!
## 原理
1.通過socket 連接需要監控的服務器及端口
2.如果無法建立連接,則說明該都端口存在問題,此時調用tomcat重啟方法。注意:tomcat 啟動也需要一定的時間,這里我們需要做個時間緩沖。
## 具體流程
1.打開python 編輯器,我用的是PyCharm
2.隨便新建一個python項目
3.這里我開始創建python file取名TomcatRestart.py
直接上代碼,具體原理上面已做說明
# -*- coding: utf-8 -*-import os import sys import socket import time import datetime import pip #到python的pip的路徑下,一般是pythonscripts下執行命令(pip install psutil)#-----服務器上tomcat的信息和服務器的信息--- path = 'path' #服務器tomcat路徑 注意需要雙斜杠 ip = 'ip' #服務器ip地址 port = 8080 #tomcat端口 file_path = 'E:tomcatlog' #記錄每次腳本執行的日志文件文件夾路徑#-------檢測8080端口是否能連接,能則tomcat運行中,否則重啟tomcat---- def tomcat():try:b = s.connect((ip,port))# os.system("echo %s connect to port 8080 successfully! >> %s" %(otherStyleTime, logfile))status_code = 1except Exception:status_code = 2if status_code == 2:os.chdir(path)os.system('shutdown.bat')os.system("echo %s can't connect to port 8080, stop tomcat >> %s" %(otherStyleTime,logfile))time.sleep(1)os.system('startup.bat')os.system("echo %s tomcat restart! >> %s" %(otherStyleTime, logfile))time.sleep(60) //注:重啟需要一段時間,這里放置60秒等待時間,一般服務器足夠重啟了 if __name__ == '__main__':while True : #每1秒循環執行一次腳本#--------創建ipv4地址簇的tcp連接的socket-------------------try:s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)s.settimeout(1)//設置連接時間,超過1秒無法鏈接,即默認tomcat 發生異常,執行tomcat()方法except socket.error as msg:os.system("echo Failed to create socket. Error code: %s , Error message : %s >> %s " %s(str(msg[0]),msg[1],logfile))now = int(time.time())timeArray = time.localtime(now)otherStyleTime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray) #獲取固定格式時間的字符串logfile = file_path + '%s.log' %(time.strftime('%Y%m%d',time.localtime())) #日志文件存放處tomcat()time.sleep(1)4.可以現在本地測試效果,直接run 這個TomcatRestart.py文件 ,然后發現自動打開了本地tomcat
關閉tomcat后,程序監控到關閉又會自動打開,還是比較流暢好用的對于一般中小型項目沒壓力。
## .py文件轉換成.exe文件
上面的代碼可以達到預期的效果,但是操作起來未免太麻煩,接下來我將TomcatRestart.py文件進行轉換生成一個.exe,保證高效可移植。
轉換步驟
1.需要安裝pywin32
打開setings-------選擇
查看自己編輯器是否含有標紅處的插件,如沒有點擊右側“+”號,搜索pywin32
選中相應版本然后進行安裝
注:如果安裝失敗,看下具體什么原因,一般情況是pip需要升級,按照英文提示的本部進行更新,然后再重新安裝pywin32就好了。
2.新建一個文件夾例如 pytomcat,將你需要轉換的.py文件和exe文件的.ico圖片復制到此文件下。(至于如何把圖片轉換成.ico格式,直接網上一大堆在線工具)
接下來打開cmd 命令窗口,通過命令進入文件夾目錄下
執行命令 pyinstaller -F -i 1.ico TomcatRestart.py
很棒!轉換完成!
執行完命令后,需要的exe文件就在dist文件夾中
## 雙擊啟動TomcatRestart.exe 文件 完美運行!
總結
以上是生活随笔為你收集整理的bat脚本中获取上级目录_使用Python写一个可以监控Tomcat 运行的脚本,并且把.py文件转换成.exe文件...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: matlab浮点数求绝对值_MATLAB
- 下一篇: sql两个列值以下划线拼接得到一个新的列