Script sample for running an external Caché / Ensemble backup on Windows (using ##Class(Backup.General).ExternalFreeze() / ExternalThaw())

C:\data\backup.bat :

C:\InterSystems\Ensemble\bin\cache -s"C:\InterSystems\Ensemble\Mgr" -U%%SYS ##Class(Backup.General).ExternalFreeze() <C:\data\login.scr 

echo %ERRORLEVEL%

rem note that we need to check errorlevel from highest to lowest here....

if errorlevel 5 goto OK

if errorlevel 3 goto FAIL

echo errorlevel returned wrong value

goto END

:OK

echo SYSTEM IS FROZEN

xcopy c:\InterSystems\Ensemble\mgr\ z:\backup\Ensemble /s /e /y /i

echo %ERRORLEVEL%

goto END

:FAIL

echo SYSTEM FREEZE FAILED

:END

rem Now unfreeze the system

C:\InterSystems\Ensemble\bin\cache -s"C:\InterSystems\Ensemble\Mgr" -U%%SYS ##Class(Backup.General).ExternalThaw() <C:\data\login.scr

echo %ERRORLEVEL%

if errorlevel 5 goto RESUMEOK

if errorlevel 3 goto RESUMEFAIL

echo errorlevel returned wrong value

goto RESUMEEND

:RESUMEOK

echo SYSTEM IS RESUMED

goto RESUMEEND

:RESUMEFAIL

echo SYSTEM RESUME FAILED

:RESUMEEND

NB: the external backup command  (here xcopy) should be customized depending on available OS commands or external SAN available.

C:\data\login.scr :

_system

SYS