3.21.10 ストレージシステムの構成レポートをダウンロードするスクリプト例
このスクリプトでは、raidinfコマンドを使用してログイン、構成レポートのダウンロード、およびログアウトを実行します。
ログアウト以外の各コマンド操作は通信エラーなどを考慮し、2分間隔で3回のリトライを実施します。ダウンロードされた構成レポートは「C:\Reports」フォルダに「Report_DailyConfigurationReport_1.tgz」から「Report_DailyConfigurationReport_3.tgz」という名前で3世代蓄積します。また、構成レポートを作成するスクリプトが失敗した場合、過去の構成レポートを上書きしないように世代コピーを停止します。
REM
REM Download Report Script(DownloadReport.bat)
REM
SET USER=<Storage Navigatorのユーザ名>
SET PASS=<Storage Navigatorのパスワード>
SET SERVER=<SVPのホスト名またはIPアドレス>
SET REPORT_NAME=DailyConfigurationReport
SET LOOP=2
REM LOOP:0-2 3Times
SET TIMEOUT=121
REM TIMEOUT 2[minutes]=120[s]+ 1[s]
SET TARGETFOLDER=C:\Reports\tmp
SET REPORTFOLDER=C:\Reports
SET RAIDINF_PATH="C:\Program Files\raidinf"
REM
REM Create Report Folder
REM
IF NOT EXIST %REPORTFOLDER% (
MKDIR %REPORTFOLDER%
IF NOT EXIST %TARGETFOLDER% (
MKDIR %TARGETFOLDER%
)
)
SET /a CNT_LOGIN=0
:LOGIN_RETRY
REM ############################################### Login %CNT_LOGIN%
SET /a CNT_LOGIN=%CNT_LOGIN% + 1
%RAIDINF_PATH%\raidinf -login %USER% %PASS% -servername %SERVER%
if ERRORLEVEL 1 (
IF %CNT_LOGIN% GTR %LOOP% GOTO :ABEND
CALL :SLEEP
GOTO LOGIN_RETRY
)
SET /a CNT_DL=0
:DL_RETRY
REM ############################################### Download %CNT_DL%
SET /a CNT_DL=%CNT_DL% + 1
%RAIDINF_PATH%\raidinf download report -servername %SERVER% -report ^
%REPORT_NAME% -targetfolder %TARGETFOLDER%
if ERRORLEVEL 1 (
IF %CNT_DL% GTR %LOOP% GOTO :ABEND
CALL :SLEEP
GOTO :DL_RETRY
)
REM ############################################### Create Error Check
IF EXIST %REPORTFOLDER%\Report_%REPORT_NAME%_1.tgz (
IF EXIST %TARGETFOLDER%\Report_%REPORT_NAME%.tgz (
GOTO :FC_CHECK
) else (
GOTO :CHECK_END
)
) else (
GOTO :CHECK_END
)
:FC_CHECK
FC /B %REPORTFOLDER%\Report_%REPORT_NAME%_1.tgz ^
%TARGETFOLDER%\Report_%REPORT_NAME%.tgz > NUL
if ERRORLEVEL 1 (
REM
) else (
DEL %TARGETFOLDER%\Report_%REPORT_NAME%.tgz
GOTO :END
)
:CHECK_END
REM ############################################### Migrate Reports
IF EXIST %TARGETFOLDER%\Report_%REPORT_NAME%.tgz (
IF EXIST %REPORTFOLDER%\Report_%REPORT_NAME%_2.tgz (
COPY %REPORTFOLDER%\Report_%REPORT_NAME%_2.tgz ^
%REPORTFOLDER%\Report_%REPORT_NAME%_3.tgz
)
IF EXIST %REPORTFOLDER%\Report_%REPORT_NAME%_1.tgz (
COPY %REPORTFOLDER%\Report_%REPORT_NAME%_1.tgz ^
%REPORTFOLDER%\Report_%REPORT_NAME%_2.tgz
)
IF EXIST %TARGETFOLDER%\Report_%REPORT_NAME%.tgz (
COPY %TARGETFOLDER%\Report_%REPORT_NAME%.tgz ^
%REPORTFOLDER%\Report_%REPORT_NAME%_1.tgz
DEL %TARGETFOLDER%\Report_%REPORT_NAME%.tgz
)
)
GOTO :END
EXIT /B
:SLEEP
REM ############################################### SLEEP with %TIMEOUT%
ping 127.0.0.1 -n %TIMEOUT% > NUL
EXIT /B
:ABEND
REM ############################################### ABEND
ECHO "Download Report Script was ABEND"
:END
REM ############################################### Logout
%RAIDINF_PATH%\raidinf -logout -servername %SERVER%