2024年3月26日发(作者:)

BAT调用SECURECRT的VBS脚本功能自动化LINUX系统健康检查

最近负责管理的LINUX系统比较多,每天每台服务器登录检查一遍很烦。就用BAT调用SECURECRT的VBS

脚本,自动对所有服务器做自动检查。

为了便于修改检查脚本,LINUX检查脚本保存在本地,每次检查时,利用SECURECRT的SFTP功能上传到

系统上,每次检查后再将检查日志下载到本地。

主机列表文件

需要检查的系统保存在文件中,文件格式为

服务器的IP地址,SSH端口号,主机名

为了方便选择需要检查的系统,有三个文件, ,,可以通过BAT的参数选择不同

的服务器列表。

是系统执行系统检查时的启动脚本,可以输入一个参数选择需要检查的服务器列给

C:> ‐‐ 不加参数,检查中的服务器

C:> PRD ‐‐ 检查中的服务器

C:> ALL ‐‐ 检查 中的服务器

从中读取服务器的IP地址,SSH端口号,主机名称,和用户名名、密码一起传入

SECURECRT,SECURENT再执行VBS脚本

REM

@echo off

Setlocal ENABLEDELAYEDEXPANSION

Set strDate=%date:~6,4%%date:~0,2%%date:~3,2%

Set Checklog=d:OScheckos_dailycheck_%strDate%.log

Set checkDir=d:OSCheck%strDate%

REM

======================================================================================================

set SvrList=d:

if "%1" == "PRD" (

set SvrList=d:

set Set Checklog=d:OScheckos_dailycheck_%strDate%_

)

if "%1" == "ALL" (

set SvrList=D:

Set Checklog=d:OScheckos_dailycheck_%strDate%_

)

REM – 为了安全每次执行时输入用户名和密码,如果不想这么麻烦,可以直接设置好用户名和密码。

Set /P Username=Please UserName:

Set /P Password=Please Password:

echo :::Start OS Daily checking for %1 on %date% >> %checklog%

For /F "tokens=1,2,3 delims=," %%i in (%SvrList%) do (

echo %date%:: %%k :: %%i >> %checklog%

"C:Program FilesVanDyke " /titlebar "OSCheck:%%k:%%i" /NOMENU /NOTOOLBAR /SCR

/ARG %UserName% /ARG %Password% /ARG %%i /ARG %%j

REM – 检查完毕后将下载到本地的检查日志移到一个目录中。

if not exist %CheckDir% mkdir %CheckDir%

Move /Y d:OSCheck*.log %checkDir%

exit)

执行3部分任务:

1. 将系统检查脚本上传到服务器

2. 在服务器上执行系统检查脚本

3. 将检查日志下载到本地。

# $language = "VBScript"

# $interface = "1.0"

Sub Main

dim objTab, objSFTPTab

dim strHost, strUserid, strUserPwd, strRootPwd, strPort

dim strConnect

IF <> 4 then

eBox("No Enough Paratmeters!")