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%