windows环境下远程调用进程(同一域下)

因为项目中的MS-SQL 服务器需要每季度做安全检查,相比于登录每台server单个的执行,批量执行显得尤为的重要。
环境:WINDOWS ENTERPRISE SERVER 2008/2005,MS-SQL 2008/2012
工具:sqlshc(安全检测工具);psexec(远程调用进程工具);XCOPY(可远程copy目录工具)
实现方式:1.采取笨办法先挨个远程调用示例如下:
#1.Unified Path
XCOPY /E C:\Health_Check_AUTO \\1.1.1.1\C$\Health_Check_AUTO\
#2.Upload the required CMD
XCOPY /E C:\Health_Check_AUTO\HC.bat \\1.1.1.1\C$\Health_Check_AUTO\
#3.Running the Batch
psexec \\1.1.1.1  C:\IBM_Health_Check_AUTO\hc.bat
4.Get the Results
XCOPY /E /y \\1.1.1.1\C$\Health_Check_AUTO\HISTORY\* C:\Health_Check_AUTO\output\
如上可以实现远程批量调用进程实现HC,缺点是完全没有变量的带入。
2.相对于linux环境,对于windows显得很陌生,尚未完全摸索出CMD中变量及其下循环中的局部变量的转换调用,故在调试脚本中出现了很多问题(尚未调通)
开发中。。。。
--------------------------------------------
:: %1 - Network path to file directory for Script and input file
if /i "%1" EQU "" (
    SET FileDirectory=%cd%
    ) ELse (
    SET FileDirectory=%1%
    )
:: SET LOCAL VAR
SETLOCAL ENABLEDELAYEDEXPANSION
SET CTIME=%date:~3,11%:%time:~0,5%
SET PTIME="%CTIME: =%"
SET PTIME="%PTIME:/=%"
SET PTIME="%PTIME::=%"
echo %PTIME%
SET RESULTFILE=%cd%\result%PTIME%.txt
SET INSTFILE=%cd%\instance.txt
SET RUNFILE="%cd%\HC.bat"
SET lhcfile="C:\Health_Check_AUTO\"
SET rfile="C$\Health_Check_AUTO\HISTORY\*"
SET lfile="C:\Health_Check_AUTO\output\"
echo ...............................PERFORMING THE DB HEALTH-CHECK BEGINNING at %date:~3,11% %time:~0,5% ............................. >>%RESULTFILE%
for /f %%a in ('type %INSTFILE%') do (
SET InstanceName=%%a
XCOPY /E %lhcfile% \\!InstanceName!\%lhcfile%
if !errorlevel! EQU 0 (
::echo ................................!InstanceName! Can not been establishing (1).................. >>%RESULTFILE%
) else echo ................................!InstanceName! Health-check been performed (1)................. >>%RESULTFILE%
XCOPY /E %RUNFILE% \\!InstanceName!\%lhcfile
if !errorlevel! EQU 0 (
echo ................................!InstanceName! Can not been establishing (2).................. >>%RESULTFILE%
) else echo ................................!InstanceName! Health-check been performed (2)................. >>%RESULTFILE%
psexec \\!InstanceName!  %RUNFILE
if !errorlevel! EQU 0 (
echo ................................!InstanceName! Can not been establishing (3).................. >>%RESULTFILE%
) else echo ................................!InstanceName! Health-check been performed (3)................. >>%RESULTFILE%
XCOPY /E /y \\!InstanceName!\%rfile% %lfile%
if !errorlevel! EQU 0 (
echo ................................!InstanceName! Can not been establishing (4).................. >>%RESULTFILE%
) else echo ................................!InstanceName! Health-check been performed (4)................. >>%RESULTFILE%
)
echo ...............................PERFORMING THE DB HEALTH-CHECK END at %date:~3,11% %time:~0,5% ............................. >>%RESULTFILE%

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/27799221/viewspace-1264911/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/27799221/viewspace-1264911/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值