Preparing a script file

Before creating the configuration report, you will need to write a series of raidinf commands in a script file. When you run the script, the commands in the script files execute sequentially and then create or delete a configuration report. See Raidinf command reference (obtaining configuration reports and tier relocation logs) for a list of commands.

Two examples of scripts are shown below. Refer to these examples as needed to create a script file that suits your needs.

Example script for creating a configuration report

This script logs the user in, deletes a configuration report, creates a configuration report, and logs the user out, using the raidinf commands.

For each command except the logout command, this example performs three retries at intervals of 2 minutes, assuming that communication errors and other errors can occur. In addition, the delete report command is executed with the -fill option before the add report command, so that the script does not terminate when 20 configuration reports accumulate in the SVP.

REM
REM Create Report Script(CreateReport.bat) 
REM
SET USER=<username-for-Storage-Navigator>
SET PASS=<password-for-Storage-Navigator>
SET SERVER=<hostname-or-IP-address-of-SVP>
SET REPORT_NAME=DailyConfigurationReport
SET LOOP=2
REM LOOP:0-2 3Times
SET TIMEOUT=121
REM TIMEOUT 2[minutes]=120[s] + 1[s]
SET RAIDINF_PATH="C:\Program Files\raidinf"
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_DEL=0
:DEL_RETRY
REM ############################# DELETE %CNT_DEL%
SET /a CNT_DEL=%CNT_DEL% + 1
%RAIDINF_PATH%\raidinf delete report -servername %SERVER% ^
-report %REPORT_NAME% -fill
if ERRORLEVEL 1 (
         IF %CNT_DEL% GTR %LOOP% GOTO :ABEND
         CALL :SLEEP
         GOTO :DEL_RETRY
) 

SET /a CNT_ADD=0
:ADD_RETRY
REM ############################# ADD %CNT_ADD%
SET /a CNT_ADD=%CNT_ADD% + 1
%RAIDINF_PATH%\raidinf add report -servername %SERVER% -report ^
%REPORT_NAME%
if ERRORLEVEL 1 (
         IF %CNT_ADD% GTR %LOOP% GOTO :ABEND
         CALL :SLEEP
         GOTO ADD_RETRY
) 
GOTO :END
EXIT /B

:SLEEP
REM
REM ############################# SLEEP with %TIMEOUT% sec
REM
ping 127.0.0.1 -n %TIMEOUT% > NUL
EXIT /B

:ABEND
REM ############################# ABEND
ECHO "Create Report Script was ABEND"

:END
REM ############################# Logout
%RAIDINF_PATH%\raidinf -logout -servername %SERVER%

Example script for downloading a configuration report

This script logs the user in, downloads a configuration report, and logs the user out, using raidinf commands.

For each command except the logout command, this example performs 3 retries at intervals of 2 minutes, assuming that communication errors and other errors can occur. The downloaded configuration report is accumulated for 3 generations in the C:\Reports folder by names from Report_DailyConfigurationReport_1.tgz to Report_DailyConfigurationReport_3.tgz. In addition, if the script for creating a configuration report fails, generation copy is terminated so that the past configuration reports may not be overwritten.

REM
REM Download Report Script(DownloadReport.bat) 
REM
SET USER=<username-for-Storage-Navigator>
SET PASS=<password-for-Storage-Navigator>
SET SERVER=<hostname-or-IP-address-of-SVP>
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%