脚本文件放在D:\Check_oracle目录下,截图如下:
CRT是SecureCRT软件,LOGS存放生成的日志文件,ServerList是服务器列表
DAILYCheck.bat文件内容:
REM DAILYCheck.bat
@echo off
Setlocal ENABLEDELAYEDEXPANSION
Set strDate=%date:~0,4%%date:~5,2%%date:~8,2%
REM=================================================================================
cls
color 0a
title 巡检工具
:begin
cls
echo.
%~d0
cd %~dp0
set TempDir=d:\Check_oracle\temp
if not exist %TempDir% mkdir %TempDir%
echo.
echo ﹎.巡检工具——数据库巡检.﹎
echo.
echo ╔═════════════╗
echo ║ 1、数据库巡检(Linux) ║
echo ║ 2、数据库巡检(Unix) ║
echo ╚═════════════╝
echo 0、退出程序!
echo.
set num=99
set /p num=" 请输入选择数字,然后按回车:"
if %num%==1 goto bat1
if %num%==2 goto bat2
if %num%==0 exit
echo.
goto begin
:bat1
set SvrList=d:\Check_oracle\ServerList\svrLinux.list
set Checklog=%TempDir%\oracle_dailycheck_%strDate%_Linux.log
set CheckDir=d:\Check_oracle\Log_%strDate%\Linux
echo.
echo :::Start Oracle Daily checking on %date%
echo :::Start Oracle Daily checking on %date% > %checklog%
echo.
echo ===================================================================
echo.
For /F "tokens=1,2,3,4,5 delims=," %%i in (%SvrList%) do (
echo %date%:: %%k :: %%i :: %%j >> %checklog%
echo ==================主机: %%k ,开始检测,请稍等==================
"D:\Check_oracle\CRT\SecureCRT.exe" /TITLEBAR "OSCheck:%%k:%%i:%%j"/NOMENU /NOTOOLBAR /SCRIPT D:\Check_oracle\Dailycheck.vbs /ARG %%l /ARG %%m /ARG %%i /ARG %%j >> %checklog%
echo ==================主机: %%k ,完成检测,请核查==================
echo.
)
goto end
:bat2
set SvrList=d:\Check_oracle\ServerList\svrUnix.list
set Checklog=%TempDir%\oracle_dailycheck_%strDate%_Unix.log
set CheckDir=d:\Check_oracle\Log_%strDate%\Unix
echo.
echo :::Start Oracle Daily checking on %date%
echo :::Start Oracle Daily checking on %date% >> %checklog%
echo.
echo ===================================================================
echo.
For /F "tokens=1,2,3,4,5 delims=," %%i in (%SvrList%) do (
echo %date%:: %%k :: %%i :: %%j >> %checklog%
echo ==================主机: %%k ,开始检测,请稍等==================
"D:\Check_oracle\CRT\SecureCRT.exe" /TITLEBAR "OSCheck:%%k:%%i:%%j"/NOMENU /NOTOOLBAR /SCRIPT D:\Check_oracle\Dailycheck_UNIX.vbs /ARG %%l /ARG %%m /ARG %%i /ARG %%j >> %checklog%
echo ==================主机: %%k ,完成检测,请核查==================
echo.
)
goto end
:end
REM - 检查完毕后将下载到本地的检查日志移到一个目录中。
if not exist %CheckDir% mkdir %CheckDir%
Move /Y %TempDir%\*.log %checkDir%
goto begin
Dailycheck.vbs文件内容:
# $language = "VBScript"
# $interface = "1.0"
Sub Main
dim objTab, objSFTPTab
dim strHost, strUserid, strUserPwd, strRootPwd, strPort
dim strConnect
IF crt.arguments.count <> 4 then
crt.Daiglog.MessageBox("No Enough Paratmeters!")
crt.quit
exit sub
ELSE
strUserid = crt.arguments(0)
strUserPwd = crt.arguments(1)
strHost = crt.arguments(2)
strPort = crt.arguments(3)
END IF
'======================================================================================================
'Connect to a host and start OS check daily
strConnect="/SSH2 /P &