PYTHON測試指令碼
#!/usr/bin/python
# -*- coding: UTF-8 -*-
#CHECK ORACLE
SID="tcbjeas"
CHECK_LOG_FILE="tcbjeas.out"
FLAG=0
import os
my_file='/tmp/out.txt'
if os.path.exists(my_file):
#刪除檔案,可使用以下兩種方法。
os.remove(my_file)
#檢查資料庫程式是否正常執行,如果不正常執行,將輸出相關程式失敗資訊,後面的檢查資訊將停止進行。
#如果執行正常,說明資料庫是可用的,繼續後面資訊的檢查。
#check pmon process
import os
run=os.popen("ps -ef |grep ora_pmon_$SID |grep -v grep|wc -l").read()
if "0" in run:
FLAG=1
f=open("out.txt","w")
try:
f.write('WARNING!!!ora_pmon_$SID!process is not running!'+'\n')
finally:
f.close()
#check smon process
import os
run=os.popen("ps -ef |grep ora_smon_$SID |grep -v grep|wc -l").read()
if "0" in run:
FLAG=1
f=open("out.txt","a")
try:
f.write('WARNING!!!ora_smon_$SID!process is not running!'+'\n')
finally:
f.close()
#check dbwr process
import os
dbwr=os.popen("ps -ef |grep ora_dbw0_$SID |grep -v grep|wc -l").read()
if "0" in dbwr:
FLAG=1
f=open("out.txt","a")
try:
f.write('WARNING!!!ora_dbw0_$SID!process is not running!'+'\n')
finally:
f.close()
#check lgwr process
import os
lgwr=os.popen('ps -ef |grep ora_lgwr_$SID |grep -v grep|wc -l').read()
if "0" in lgwr:
print "lgwr"
FLAG=1
f=open("out.txt","a")
try:
f.write('WARNING!!!ora_lgwr_$SID!process is not running!'+'\n')
finally:
f.close()
if FLAG==1:
f=open("out.txt","a")
try:
f.write('Warning!!!Oracle Instance $SID Is Down!'+'\n')
finally:
f.close()
else:
f=open("out.txt","a")
try:
f.write('OK,Oracle Process Are Running Normal!'+'\n')
finally:
f.close()
#檢查資料庫監聽是否正常執行,如果不正常執行,將發出警告資訊,如果沒有警告資訊說明監聽執行正常。
#check listener
import os
listen=os.popen("$ORACLE_HOME/bin/lsnrctl status|grep -i 'Instance'|grep -v grep|wc -l").read()
if "0" in listen:
f=open("out.txt","a")
try:
f.write('Warning!!! Listener is not running normal!'+'\n')
finally:
f.close()
else:
f=open("out.txt","a")
try:
f.write('OK,Listener is running normal!'+'\n')
finally:
f.close()
#檢查資料庫是否可以連線,如果不能連線,將發出警告資訊(not open or not connect)
#如果沒有警告資訊說明監聽執行正常。
import os
os.popen('sh sql.sh')
import os
connect=os.popen("grep -i 'OPEN' /tmp/sql.txt|grep -v grep|wc -l").read()
if "1" in connect:
f=open("out.txt","a")
try:
f.write('OK,Oracle Connect Normal!'+'\n')
finally:
f.close()
else:
f=open("out.txt","a")
try:
f.write('Warning!!Database Is Not Open'+'\n')
finally:
f.close()
cat sql.sh
#!/bin/bash
sqlplus user/passwd@orcl<< EOF
spool /tmp/sql.txt
set lines 500
select status from v\$instance;
spool off
exit
EOF
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28371090/viewspace-2151831/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 介面測試(apipost、jmeter和python指令碼)——測試工具APIJMeterPython指令碼
- [python] request 介面測試自動化指令碼轉化為 [locust] 效能測試指令碼Python指令碼
- 介面測試 (apipost、jmeter 和 python 指令碼)APIJMeterPython指令碼
- 介面測試(apipost、jmeter和python指令碼)APIJMeterPython指令碼
- python3+requests:使用類封裝介面測試指令碼Python封裝指令碼
- [20190416]exclusive latch測試指令碼.txt指令碼
- iOS17 效能測試指令碼iOS指令碼
- [20190423]oradebug peek測試指令碼.txt指令碼
- Python指令碼檢測笑臉漏洞Python指令碼
- 濤思資料 TDengine 徵稿— 利用python指令碼做TDengine效能測試Python指令碼
- node 執行JavaScript 指令碼 測試axiosJavaScript指令碼iOS
- Android 自動化測試及效能資料採集的 Python 指令碼AndroidPython指令碼
- 測試平臺系列(95) 前置條件支援簡單的python指令碼Python指令碼
- 效能測試——壓測工具locust——指令碼初步編寫指令碼
- apache ab壓力測試工具-批次壓測指令碼Apache指令碼
- unittest 單元測試框架教程 1-執行測試指令碼框架指令碼
- 介面自動化測試錄製工具,讓python selenium自動化測試指令碼開發更加方便Python指令碼
- 搬瓦工 VPS 效能一鍵測試指令碼指令碼
- 如何用 JMeter 編寫效能測試指令碼?JMeter指令碼
- 運維指令碼:網路連通性測試運維指令碼
- Appium iOS 測試指令碼開發實戰APPiOS指令碼
- Shell指令碼 | 效能測試之啟動時間指令碼
- [20190416]完善shared latch測試指令碼2.txt指令碼
- seleniumGrid分散式遠端執行測試指令碼分散式指令碼
- pgbench 壓力測試指令碼作為參考.指令碼
- python 常用指令碼Python指令碼
- 19、python 指令碼Python指令碼
- 程式碼安全測試第十五期:跨站指令碼漏洞指令碼
- 禪道測試報告匯出 -- 油猴指令碼測試報告指令碼
- 用 Cloud Performance Test 怎麼錄製測試指令碼CloudORM指令碼
- 用 Cloud Performance Test怎麼錄製測試指令碼CloudORM指令碼
- 如何編寫測試團隊通用的Jmeter指令碼JMeter指令碼
- [20230510]測試使用tpt ddl指令碼是否產生日誌.txt指令碼
- Linux埠探測指令碼Linux指令碼
- 怎麼停止python指令碼Python指令碼
- Python指令碼秒換桌布Python指令碼
- 軟體測試學習教程—【效能測試】Webtour系統Jmeter指令碼錄製及編輯WebJMeter指令碼
- 請問大家,自動化測試可以實現一個指令碼測試全部平臺嗎?指令碼