Hitachi

 システム管理者 クイックリファレンス


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%