簡體   English   中英

Python腳本檢查服務器狀態

[英]Python script to check server status

我想使用python檢查某些服務狀態(例如MySQL,Apache2)。 我寫了一個簡單的腳本。

#!/usr/bin/python
from subprocess import call

command = raw_input('Please enter service name : ')

call(["/etc/init.d/"+command, "status"])

該腳本將要求用戶輸入服務,並在終端上顯示其結果,如下所示。

● apache2.service - LSB: Apache2 web server
   Loaded: loaded (/etc/init.d/apache2)
  Drop-In: /lib/systemd/system/apache2.service.d
           └─apache2-systemd.conf
   Active: active (running) since සි 2016-06-17 09:16:10 IST; 5h 43min ago
     Docs: man:systemd-sysv-generator(8)
  Process: 2313 ExecReload=/etc/init.d/apache2 reload (code=exited, status=0/SUCCESS)
  Process: 1560 ExecStart=/etc/init.d/apache2 start (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/apache2.service
           ├─1941 /usr/sbin/apache2 -k start
           ├─2332 /usr/sbin/apache2 -k start
           ├─2333 /usr/sbin/apache2 -k start
           ├─2334 /usr/sbin/apache2 -k start
           ├─2335 /usr/sbin/apache2 -k start
           └─2336 /usr/sbin/apache2 -k start

我只想對每項服務Active: active (running)此行,並檢查該服務是否正在運行,如果不是,我想問一下您是否要啟動它。

有人可以幫我做到這一點嗎? 提前致謝

我認為您想要的是捕獲輸出。 類似於以下內容:

status = subprocess.check_output("YOUR COMMAND", shell=True)
if ("Active: active (running)" in status):
    ...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM