Windows 服務狀態檢查(含Linux服務差)

2022-07-30 11:51:10 字數 2120 閱讀 3820

1, window上查詢服務的狀態

from subprocess import

popen, pipe

import

sys, re, json, socket

from _utils.patrol2 import

run_cmd, data_format, report_format

import

os, platform,wmi

defgetoutput(command):

p = popen(command, stdin=pipe, stdout=pipe, stderr=pipe, shell=true)

out, err =p.communicate()

iferr:

print('

command exec error: %s

' %command)

sys.exit(1)

else

:

return

outdef

get_process_num(server_name):

alert =0

command = ('

ps -ef|grep {} |grep -v grep|head -1|awk \'\' | wc - l

').format(server_name)

count =getoutput(command)

count =int(count)

if count !=0:

result = "

%s正常!

" %server_name

else

: alert = 1result = "

%s異常!

" %server_name

return data_format('

{}服務狀態

'.format(server_name), result, alert)

defcheck_server(server_name):

alert = 1value = "

%s服務不存在

" %server_name

windos =wmi.wmi()#生成例項

servers =windos.win32_service()

print

server_name

for i in

servers:

#print "開始查詢"

if i.name.encode('

utf-8

') == '

%s'%server_name: # i.name 獲取服務名 獲取的結果是unicode 需要轉碼 進行比較

if i.state.encode('

utf-8

') == '

running

': #i.state 獲取服務狀態

alert =0

value = "

%s 執行中...

"%server_name

print

value

else

: value = "

%s 已停止...

"%server_name

print

value

else

:

pass

return data_format('

服務狀態

', value, alert)

if__name__ == '

__main__':

if sys.platform.startswith('

win'

): reports =check_server(server_name)

else

: reports =get_process_num(server_name)

hostname =socket.gethostname()

reports=report_format(hostname,reports,is_json=true)

print reports

Windows 伺服器檢查安全篇

windows 伺服器檢查安全篇 日期 2006 01 03 來自 建站先鋒 中級 1 利用win2000的安全配置工具來配置策略 微軟提供了一套的基於mmc 管理控制台 安全配置和分析工具,利用他們你可以很方便的配置你的伺服器以滿足你的要求。具體內容請參考微軟主頁 5 加密temp資料夾 一些應用...

Exchange 伺服器健康狀態檢查工具

作為企業的exchange伺服器管理員,必須時刻關注exchange 伺服器的執行狀態,在小的企業,如果只有一兩台伺服器,可以手動進到每一台伺服器,檢查每項服務及功能的運 況!如果你管理的伺服器越來越多,而且也沒有專門的管理系統時,就需要借助一些小的工具來幫忙你實現,並定時回報了!針對這個需求,我之...

檢查HP伺服器硬碟狀態指令碼

檢查hp伺服器硬碟狀態指令碼 如有問題則發郵件通知 指令碼1 有問題才發郵件 vi disk.sh 按a或i進入編輯模式 bin bash name hostname date date m d y num usr sbin dmidecode grep i serial number head n...