欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python實(shí)現(xiàn)巡檢系統(tǒng)(solaris)示例

 更新時(shí)間:2014年04月02日 11:24:28   作者:  
這篇文章主要介紹了python實(shí)現(xiàn)巡檢系統(tǒng)(solaris)示例,需要的朋友可以參考下

使用python + shell 編寫,是一個(gè)簡易solaris系統(tǒng)巡檢程序

復(fù)制代碼 代碼如下:

#!/usr/bin/python -u
#-*- coding:utf-8 -*-
'''
程序:solaris_status.py
author: gyh9711
功能:
 系統(tǒng)狀態(tài)信息獲取

語言: 
 sh + python

注意:
 部分調(diào)用命令需要用到root權(quán)限

測試情況:
 系統(tǒng)版本:solaris10 系統(tǒng)測試ok 
 測試服務(wù)器型號:sun 6900 6800 v445 v440 M3000 M5000
內(nèi)容:

'''
import time
import sys
import os
import re
# import pprint

def getNow():
 return time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())

def puts(mess,_type="print"):

 if _type == "log":
  sys.stdout.write("[%s] %s\n" % (getNow(),mess))
 else:
  sys.stdout.write("%s\n" % mess)
 #pprint.pprint(mess)

def getCommand(cmd):
 return [t.rstrip() for t in os.popen(cmd).readlines()]

#通過系統(tǒng)狀態(tài)信息:

#系統(tǒng)基本情況
puts("="*60)
puts("檢查時(shí)間 %s" % getNow())
puts("-"*60)
puts("\n系統(tǒng)基本信息")
for i in getCommand("showrev"):
 puts(i)
puts("="*60)
puts("\n")
puts("主機(jī)名稱: %s " % getCommand("hostname")[0])
puts("處理器core數(shù): %s " % getCommand("mpstat |awk 'END{print NR-1}'")[0])
puts("系統(tǒng)負(fù)載情況: %s " % getCommand("uptime")[0])
puts("系統(tǒng)進(jìn)程數(shù): %s " % getCommand("ps -ef |wc -l")[0])
puts("用戶運(yùn)行進(jìn)程情況")
psAll = getCommand('''ps -ef  |awk '{print $1}' |sort |uniq -c |grep -v "UID"''')
puts("\n%s%s" %("用戶".ljust(20),"進(jìn)程數(shù)".ljust(10)))
puts("-"*60)
for i in psAll:
 _user = re.split(r"\s+",i)[1:]
 #print _user
 puts("%s%s" %(_user[1].ljust(20),_user[0].ljust(10)))
puts("-"*60)

puts("\n")
puts("%s%s%s"%("="*30,"狀態(tài)信息","="*30))
puts("\n")
puts("處理器使用情況: %s %%" % getCommand("vmstat 1 2 |tail -1 |awk '{print 100-$22}'")[0])
puts("內(nèi)存使用情況: %s %% 總大小:%s [M]" % (getCommand('''vmstat 1 2 |tail -1 |awk '{printf("%d",$5/1024/MEMALL*100);}' MEMALL=`prtconf |grep -i "^memory" |awk '{print $3}'`''')[0],getCommand('''prtconf |grep -i "^memory" |awk '{print $3}''')[0]))
puts("swap使用情況: %s" % (getCommand("swap -s")[0]))
puts("\n")
puts("%s%s%s\n"%("="*30,"磁盤空間使用情況","="*30))

for i in getCommand('''awk '{if($3 != "") {print $3}}' /etc/vfstab |egrep -v "mount|to|-" |xargs df -h'''):
 puts(i)
puts("\n%s%s%s\n"%("="*30,"網(wǎng)絡(luò)情況","="*30))


puts("網(wǎng)絡(luò)接口狀態(tài)")
for i in getCommand('''for i in `ifconfig -a |egrep "^{hme|qfe|ge|ce|eri|bge|nge|e1000g}" |cut -d: -f1`; do /sbin/dladm show-dev $i; done'''):
 puts(i)
puts("\n網(wǎng)絡(luò)接口IP及數(shù)據(jù)進(jìn)出情況")
for i in getCommand("netstat -in"):
 puts(i)

puts("\n網(wǎng)絡(luò)接口流量情況")
for i in getCommand('''for i in `ifconfig -a |egrep "^{hme|qfe|ge|ce|eri|bge|nge|e1000g}" |cut -d: -f1`; do netstat -I $i; done'''):
 puts(i)
puts("\n 網(wǎng)絡(luò)ARP緩存信息")
for i in getCommand("netstat -anp"):
 puts(i)
puts("\n")
puts("\n 路由表情況")
for i in getCommand("netstat -rn"):
 puts(i)
puts("\n")

puts("\n%s%s%s\n"%("="*30,"系統(tǒng)主要服務(wù)及狀態(tài)[svcs]","="*30))
for i in getCommand('''svcs'''):
 puts(i)
puts("\n%s%s%s\n"%("="*30,"服務(wù)硬件狀態(tài)[prtdiag]","="*30))
for i in getCommand('''prtdiag -v'''):
 puts(i)

# puts(getCommand("showrev"))
#硬件狀態(tài)信息
#puts(getCommand("prtdiag -v"))

#cpu情況
#puts(getCommand("mpstat"))
#puts(getCommand("sar -u"))

#物理內(nèi)存大小
#puts(getCommand('''/usr/sbin/prtdiag -v |grep "^Memory"'''))
#虛擬內(nèi)存
#puts(getCommand('''vmstat 1 2'''))
#puts(getCommand('''swap -s'''))


#=================磁盤IO情況=================
#puts(getCommand('''iostat -xtc'''))  #

相關(guān)文章

  • Python?讀取?.gz?文件全過程

    Python?讀取?.gz?文件全過程

    這篇文章主要介紹了Python?讀取?.gz?文件全過程,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • 淺談python函數(shù)調(diào)用返回兩個(gè)或多個(gè)變量的方法

    淺談python函數(shù)調(diào)用返回兩個(gè)或多個(gè)變量的方法

    今天小編就為大家分享一篇淺談python函數(shù)調(diào)用返回兩個(gè)或多個(gè)變量的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • 對python中arange()和linspace()的區(qū)別說明

    對python中arange()和linspace()的區(qū)別說明

    這篇文章主要介紹了對python中arange()和linspace()的區(qū)別說明,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • Python yield的使用詳解

    Python yield的使用詳解

    您可能聽說過,帶有 yield 的函數(shù)在 Python 中被稱之為、generator(生成器),何謂 generator ?我們先拋開 generator,以一個(gè)常見的編程題目來展示 yield 的概念
    2021-10-10
  • python處理RSTP視頻流過程解析

    python處理RSTP視頻流過程解析

    這篇文章主要介紹了python處理RSTP視頻流過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01
  • Python實(shí)現(xiàn)的旋轉(zhuǎn)數(shù)組功能算法示例

    Python實(shí)現(xiàn)的旋轉(zhuǎn)數(shù)組功能算法示例

    這篇文章主要介紹了Python實(shí)現(xiàn)的旋轉(zhuǎn)數(shù)組功能算法,結(jié)合實(shí)例形式總結(jié)分析了數(shù)組旋轉(zhuǎn)算法的原理與實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2019-02-02
  • Java及python正則表達(dá)式詳解

    Java及python正則表達(dá)式詳解

    正則表達(dá)式有元字符及不同組合來構(gòu)成,通過巧妙的構(gòu)造正則表達(dá)式可以匹配任意字符串,并完成復(fù)雜的字符串處理任務(wù)
    2017-12-12
  • Python掃描端口的實(shí)現(xiàn)

    Python掃描端口的實(shí)現(xiàn)

    這篇文章主要介紹了Python掃描端口的實(shí)現(xiàn),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01
  • jupyter notebook 多環(huán)境conda kernel配置方式

    jupyter notebook 多環(huán)境conda kernel配置方式

    這篇文章主要介紹了jupyter notebook 多環(huán)境conda kernel配置方式,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • 四個(gè)Python常用OCR庫的用法詳解

    四個(gè)Python常用OCR庫的用法詳解

    在接口自動化工作中,經(jīng)常需要處理文字識別的任務(wù),而OCR庫能夠幫助我們將圖像中的文字提取出來,所以本文為大家整理了四個(gè)常用的OCR庫以及它們的用法,需要的可以參考下
    2023-09-09

最新評論