SetLocal EnableDelayedExpansion
REM //
###################################################################################
###################################################################################
###################################################################################
##############################
REM // ##### BEGIN USER CONFIG
###################################################################################
###################################################################################
###################################################################################
##
REM //
###################################################################################
###################################################################################
###################################################################################
##############################
REM // Enable or disable features of this script - for experienced users only!
set ARIS9BATCHES_FEATURE_BACKUP_Default_Tenant_ENABLED=yes
set ARIS9BATCHES_FEATURE_BACKUP_ADS_COUCHDB_ENABLED=yes
set ARIS9BATCHES_FEATURE_BACKUP_ACC_INFORMATION_ENABLED=yes
set ARIS9BATCHES_FEATURE_BACKUP_ADB_ENABLED=yes
set ARIS9BATCHES_FEATURE_BACKUP_SYSTEMDB_ENABLED=yes
set ARIS9BATCHES_FEATURE_BACKUP_UMC_CFG_ENABLED=yes
set ARIS9BATCHES_FEATURE_BACKUP_CFG_FILES_ENABLED=yes
set ARIS9BATCHES_FEATURE_BACKUP_POSTGRES_DUMPS_ENABLED=yes
set ARIS9BATCHES_FEATURE_BACKUP_LOG_FILES_ENABLED=yes
REM //
###################################################################################
###################################################################################
###################################################################################
##############################
REM // ##### END USER CONFIG
###################################################################################
###################################################################################
###################################################################################
####
REM //
###################################################################################
###################################################################################
###################################################################################
##############################
REM //
===================================================================================
==========
REM // Import user defined configuration is exists.
REM // Create a file ARIS9_Backupmanager_userconfig_<CustomerName>.bat in the same
folder as of this
REM // Script. Define inside the userconfig customer depending variables.
REM //
===================================================================================
==========
if "%1" == "multi_tenancy" (
call %2
echo %2
) ELSE (
if exist ARIS9_Backupmanager_userconfig_*.bat (
FOR /F "tokens=*" %%A IN ('dir /B
ARIS9_Backupmanager_userconfig_*.bat') DO (
REM // Import user config
REM // call %%A
exit /B
)
)
REM //
===================================================================================
==========
REM // Set Batch behavior - don't change it - script doesn't work otherwise!
REM //
===================================================================================
==========
@echo off
SetLocal EnableDelayedExpansion
set ARIS9BATCHES_OUTUP2NIRVANA=1^>nul 2^>^&1
REM // !!!!!!!!!!!!!! ATTENTION: IF THIS OPTION SET TO YES THE SCRIPT CAN'T RUN AS
SCHEDULED TASK !!
REM // FEATURE IS BETA
set ARIS9BATCHES_FEATURE_ZIP_BACKUP_ENABLED=no
REM //
===================================================================================
==========
REM // Cofigure Timestamp
REM //
===================================================================================
==========
REM // DATE
set ARIS9BATCHES_TIMESTAMP_YEAR=%date:~-4,4%
set ARIS9BATCHES_TIMESTAMP_MONTH=%date:~-7,2%
set ARIS9BATCHES_TIMESTAMP_DAY=%date:~-10,2%
REM // TIME
set ARIS9BATCHES_TIMESTAMP_HH=%time:~0,2%
set ARIS9BATCHES_TIMESTAMP_MM=%time:~3,2%
set ARIS9BATCHES_TIMESTAMP_SS=%time:~6,2%
set ARIS9BATCHES_TIMESTAMP_MS=%time:~-2,2%
set ARIS9BATCHES_TIMESTAMP=%ARIS9BATCHES_TIMESTAMP_YEAR%-
%ARIS9BATCHES_TIMESTAMP_MONTH%-%ARIS9BATCHES_TIMESTAMP_DAY%_
%ARIS9BATCHES_TIMESTAMP_HH%-%ARIS9BATCHES_TIMESTAMP_MM%-%ARIS9BATCHES_TIMESTAMP_SS
%.%ARIS9BATCHES_TIMESTAMP_MS%
REM // Replace blank chars by 0 (zero)
set ARIS9BATCHES_TIMESTAMP=!ARIS9BATCHES_TIMESTAMP: =0!
REM //
===================================================================================
======================================================
REM // Enable or disable debug mode yes | no
REM //
===================================================================================
======================================================
set ARIS9BATCHES_debuggerEnabled=yes
REM //
===================================================================================
======================================================
REM // Define encryption parameter for ARIS Server Administrator
REM //
===================================================================================
======================================================
if not "%ARIS9BATCHES_PASSWORD_TO_ENCRYPT_ADB_FILES%" == "" set
ARIS9BATCHES_PASSWORD_TO_ENCRYPT_ADB_FILES=-p
"%ARIS9BATCHES_PASSWORD_TO_ENCRYPT_ADB_FILES%"
REM //
===================================================================================
======================================================
REM // Initiate colored print procedures.
REM //
===================================================================================
======================================================
call :initColorPrint
REM //
===================================================================================
======================================================
REM // Detect variables automaticly depends on settings
REM //
===================================================================================
======================================================
set ARIS9BATCHES_fTMP=%temp%\ARIS9BATCHESBatch.tmp
if "%ARISHOME90%" == "AUTO" (
set ARIS9BATCHES_PROP_AUTODETECT_ARISHOME90=auto detected
call :setARISHOME90
) ELSE (
set ARIS9BATCHES_PROP_AUTODETECT_ARISHOME90=defined manually
)
if "%ARIS9BATCHES_ARISADM_EXE%" == "AUTO" (
set ARIS9BATCHES_PROP_AUTODETECT_ARISADM_EXE=auto detected
call :setARIS9BATCHES_ARISADM_EXE
) ELSE (
set ARIS9BATCHES_PROP_AUTODETECT_ARISADM_EXE=defined manually
)
set ARIS9BATCHES_BACKUP_NAME=%ARIS9BATCHES_TIMESTAMP%_tenant-%ARIS9BATCHES_TENANT%
set ARIS9BATCHES_BACKUPTARGETFULLPATH=%ARIS9BATCHES_BACKUPTARGET%\
%ARIS9BATCHES_BACKUP_NAME%
REM //
===================================================================================
======================================================
REM // Set basic variables
REM //
===================================================================================
======================================================
REM // set title of the batch script.
set ARIS9BATCHES_BATCHTITLE=ARIS 9 Backup Manager
REM // Set the version based exe name of ARISADM.
set ARIS9BATCHES_EXENAME=arisadm90.exe
REM // Set default params for ARISADM90.exe
set ARIS9BATCHES_ARISADM_PARAMS=-t "%ARIS9BATCHES_TENANT%" -s
%ARIS9BATCHES_DESIGN_SERVER_HOST%%ARIS9BATCHES_DESIGN_SERVER_PORT% -u
"%ARIS9BATCHES_TENANT_SYSTEM_USER%" "%ARIS9BATCHES_TENANT_SYSTEM_PASSWORD%"
REM //
===================================================================================
======================================================
REM // Set folder names
REM //
===================================================================================
======================================================
set ARIS9BATCHES_BACKUPTARGETFULLPATH_ADB_COUCHDB=
%ARIS9BATCHES_BACKUPTARGETFULLPATH%\ADS_COUCHDB
set ARIS9BATCHES_BACKUPTARGETFULLPATH_LOGS=%ARIS9BATCHES_BACKUPTARGETFULLPATH%\LOGS
set ARIS9BATCHES_BACKUPTARGETFULLPATH_POSTGRES_DUMPS=
%ARIS9BATCHES_BACKUPTARGETFULLPATH%\POSTGRES_ECP_DUMP
set ARIS9BATCHES_BACKUPTARGETFULLPATH_ADB=%ARIS9BATCHES_BACKUPTARGETFULLPATH%\ADB
set ARIS9BATCHES_BACKUPTARGETFULLPATH_SYSTEMDB=%ARIS9BATCHES_BACKUPTARGETFULLPATH
%\SYSTEMDB
set ARIS9BATCHES_BACKUPTARGETFULLPATH_UMCDATA=%ARIS9BATCHES_BACKUPTARGETFULLPATH
%\UMCDATA
set ARIS9BATCHES_BACKUPTARGETFULLPATH_CFGFILES=%ARIS9BATCHES_BACKUPTARGETFULLPATH
%\CFG_FILES
set ARIS9BATCHES_BACKUPTARGETFULLPATH_ARIS9LOGS=%ARIS9BATCHES_BACKUPTARGETFULLPATH
%\SERVER_LOGS
REM //
===================================================================================
======================================================
REM // Set Filenames
REM //
===================================================================================
======================================================
set
ARIS9BATCHES_BACKUPTARGETFULLPATH_LOGS_FILENAME_ACC_SHOWCFG=listCurrentConfiguratio
n.txt
set ARIS9BATCHES_BACKUPTARGETFULLPATH_LOGS_FILENAME_ACC_LIST=listRunnableStatus.txt
set ARIS9BATCHES_BACKUPTARGETFULLPATH_LOGS_FILENAME_ACC_LISTNODES=listNodes.txt
set
ARIS9BATCHES_BACKUPTARGETFULLPATH_LOGS_FILENAME_ACC_LISTEXTSVC=listExternalServices
.txt
set
ARIS9BATCHES_BACKUPTARGETFULLPATH_LOGS_FILENAME_ACC_LISTGBLENHANCEMENTS=listGlobalE
nhancements.txt
set
ARIS9BATCHES_BACKUPTARGETFULLPATH_LOGS_FILENAME_ACC_LISTTENANTASSIGNMENTS=listTenan
tAssignments.txt
set
ARIS9BATCHES_BACKUPTARGETFULLPATH_LOGS_FILENAME_ACC_LISTTENANTS=listTenantAssignmen
ts.txt
set ARIS9BATCHES_BACKUPTARGETFULLPATH_LOGS_DBLIST=
%ARIS9BATCHES_BACKUPTARGETFULLPATH_LOGS%\listADBs.txt
set ARIS9BATCHES_BACKUPTARGETFULLPATH_LOGS_LIST=
%ARIS9BATCHES_BACKUPTARGETFULLPATH_LOGS%\_BackupScriptSettings.txt
set ARIS9BATCHES_BACKUPTARGETFULLPATH_LOGS_DBLIST=
%ARIS9BATCHES_BACKUPTARGETFULLPATH_LOGS%\_deletedBackups.txt
set ARIS9BATCHES_BACKUPTARGETFULLPATH_LOGS_INSTANCE_CFG=
%ARIS9BATCHES_BACKUPTARGETFULLPATH_LOGS%\_Runnable_Configuration.txt
set ARIS9BATCHES_BACKUPTARGETFULLPATH_ARIS9LOGS_LIST=
%ARIS9BATCHES_BACKUPTARGETFULLPATH_ARIS9LOGS%\_listOfLogFilePaths.txt
set ARIS9BATCHES_TMP_VBS_ZIPPER=%TEMP%\ARIS9BATCHES_ZIPPER.vbs
set ARIS9BATCHES_TMP_VBS_UAC=%TEMP%\ARIS9BATCHES_TMP_VBS_UAC.vbs
set ARIS9BATCHES_FILENAME_DUMMYFILE=.dummy_file_to_avoid_empty_folders
REM //
===================================================================================
======================================================
REM // Request UAC-Permissions ("RUN AS ADMINISTRATOR")
REM //
===================================================================================
======================================================
REM // Running UAC only when kbatch is running not as schedulled task. Please
attache the parameter in the scheduled task!
if not "%ARIS9BATCHES_DISABLE_GAINING_UAC_PERMISSIONS%" == "yes" (
set ARIS9BATCHES_TMP_BATCH_PARAM1=%1
if not "!ARIS9BATCHES_TMP_BATCH_PARAM1!" == "schedulled" call
:UACCheckForPermissions
)
REM //
===================================================================================
======================================================
REM // Set further environment
REM //
===================================================================================
======================================================
REM //
===================================================================================
======================================================
REM // Checks for invalid variables that important needed.
REM //
===================================================================================
======================================================
call :fatalErrorCheckVariableIsInvalid "!ARISHOME90!" "ARISHOME90 is UNDEFINED"
call :fatalErrorCheckVariableIsInvalid "!ARIS9BATCHES_ARISADM_EXE!"
"ARIS9BATCHES_ARISADM_EXE is UNDEFINED"
REM // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++
REM // BEGIN SCRIPT CONTENT +++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++
REM // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++
REM //
===================================================================================
======================================================
REM // Backup several information gained by ACC
REM //
===================================================================================
======================================================
if "%ARIS9BATCHES_FEATURE_BACKUP_ACC_INFORMATION_ENABLED%" == "yes" (
call :documentACCCommandResult
%ARIS9BATCHES_BACKUPTARGETFULLPATH_LOGS_FILENAME_ACC_SHOWCFG% "show cfg"
call :documentACCCommandResult
%ARIS9BATCHES_BACKUPTARGETFULLPATH_LOGS_FILENAME_ACC_LIST% "list"
call :documentACCCommandResult
%ARIS9BATCHES_BACKUPTARGETFULLPATH_LOGS_FILENAME_ACC_LISTNODES% "list nodes"
call :documentACCCommandResult
%ARIS9BATCHES_BACKUPTARGETFULLPATH_LOGS_FILENAME_ACC_LISTEXTSVC% "list external
services"
call :documentACCCommandResult
%ARIS9BATCHES_BACKUPTARGETFULLPATH_LOGS_FILENAME_ACC_LISTGBLENHANCEMENTS% "list
global enhancements"
call :documentACCCommandResult
%ARIS9BATCHES_BACKUPTARGETFULLPATH_LOGS_FILENAME_ACC_LISTTENANTASSIGNMENTS% "list
tenant assignments"
call :documentACCCommandResult
%ARIS9BATCHES_BACKUPTARGETFULLPATH_LOGS_FILENAME_ACC_LISTTENANTS% "list tenants"
REM //
===================================================================================
======================================================
REM // Backup several information gained by ACC
REM //
===================================================================================
======================================================
if "%ARIS9BATCHES_FEATURE_BACKUP_ADS_COUCHDB_ENABLED%" == "yes" (
xcopy /Y /R /H /G /Q /I /C /E
"%ARISHOME90%\server\bin\work\work_couchdb_m\data"
"%ARIS9BATCHES_BACKUPTARGETFULLPATH_ADB_COUCHDB%"
REM //
===================================================================================
======================================================
REM // Backup all ARIS Databases as ADB-File
REM //
===================================================================================
======================================================
if "%ARIS9BATCHES_FEATURE_BACKUP_ADB_ENABLED%" == "yes" (
call :printHeadline Backup all ARIS Databases as ADB-File
%debug% Backup all !ARIS9BATCHES_BACKUPTARGETFULLPATH! ARIS Databases as ADB-
File
set ARIS9BATCHES_TMPCOMMAND=%ARIS9BATCHES_RUNADM% -l
"%ARIS9BATCHES_BACKUPTARGETFULLPATH_LOGS%\logADB_BackupAll.txt" backup all
"%ARIS9BATCHES_BACKUPTARGETFULLPATH_ADB%"
%ARIS9BATCHES_PASSWORD_TO_ENCRYPT_ADB_FILES%
%debug% !ARIS9BATCHES_TMPCOMMAND!
!ARIS9BATCHES_TMPCOMMAND!
!%ARIS9BATCHES_TENANT_SYSTEM_PASSWORD%!
dir /B "%ARIS9BATCHES_BACKUPTARGETFULLPATH_ADB
%\*.adb">"%ARIS9BATCHES_BACKUPTARGETFULLPATH_LOGS_DBLIST%"
REM //
===================================================================================
======================================================
REM // Backup Tenant default
REM //
===================================================================================
======================================================
if "%ARIS9BATCHES_FEATURE_BACKUP_Default_Tenant_ENABLED%" == "yes" (
call :printHeadline Backup Default Tenant
set ARIS9BATCHES_TMPCOMMAND=%ARIS9BATCHES_RUNADM% -l
"%ARIS9BATCHES_BACKUPTARGETFULLPATH_LOGS%\logADB_BackupSystemDB.acb" backupsystemdb
"%ARIS9BATCHES_BACKUPTARGETFULLPATH_SYSTEMDB%"
%ARIS9BATCHES_PASSWORD_TO_ENCRYPT_ADB_FILES%
%debug% !ARIS9BATCHES_TMPCOMMAND!
!ARIS9BATCHES_TMPCOMMAND!
call :printSuccess Finished.
call :printLine
)
REM //
===================================================================================
======================================================
ARIS9BATCHES_FEATURE_BACKUP_Default_Tenant_ENABLED=yes
REM //
===================================================================================
======================================================
REM // Backup system db
REM //
===================================================================================
======================================================
if "%ARIS9BATCHES_FEATURE_BACKUP_SYSTEMDB_ENABLED%" == "yes" (
call :printHeadline Backup system db
set ARIS9BATCHES_TMPCOMMAND=%ARIS9BATCHES_RUNADM% -l
"%ARIS9BATCHES_BACKUPTARGETFULLPATH_LOGS%\logADB_BackupSystemDB.txt" backupsystemdb
"%ARIS9BATCHES_BACKUPTARGETFULLPATH_SYSTEMDB%"
%ARIS9BATCHES_PASSWORD_TO_ENCRYPT_ADB_FILES%
%debug% !ARIS9BATCHES_TMPCOMMAND!
!ARIS9BATCHES_TMPCOMMAND!
call :printSuccess Finished.
call :printLine
)
REM //
===================================================================================
======================================================
REM //
===================================================================================
======================================================
REM // Backup UMC Configuration and dump Data
REM //
===================================================================================
======================================================
if "%ARIS9BATCHES_FEATURE_BACKUP_UMC_CFG_ENABLED%" == "yes" (
call :printHeadline Backup UMC Configuration and dump Data
%ARIS9BATCHES_RUNTENANTMGMT% exportConfig -f
"%ARIS9BATCHES_BACKUPTARGETFULLPATH_UMCDATA%\UMCConfig.properties"
%ARIS9BATCHES_TENANTMGMT_CREDENTIAL_PARAMS%
%ARIS9BATCHES_RUNTENANTDUMP% export -f
"%ARIS9BATCHES_BACKUPTARGETFULLPATH_UMCDATA%\UMCData.dump"
%ARIS9BATCHES_TENANTMGMT_CREDENTIAL_PARAMS%
call :printSuccess Finished.
call :printLine
)
REM //
===================================================================================
======================================================
REM //
===================================================================================
======================================================
REM // Backup entire ARIS 9 file system directory if enabled
REM //
===================================================================================
======================================================
if "%ARIS9BATCHES_FEATURE_CreateEntireFileSystemBackup_ENABLED%" == "yes" (
call :printHeadline Backup entire ARIS 9 file system directory
REM //
===================================================================================
======================================================
REM // Backup Config Files
REM //
===================================================================================
======================================================
if "%ARIS9BATCHES_FEATURE_BACKUP_CFG_FILES_ENABLED%" == "yes" (
call :printHeadline Backup Config Files
REM //
===================================================================================
======================================================
REM // Postgres Dumps
REM //
===================================================================================
======================================================
if "%ARIS9BATCHES_FEATURE_BACKUP_POSTGRES_DUMPS_ENABLED%" == "yes" (
call :printHeadline Backup PostGres Dumps
"!ARIS9BATCHES_PGDUMP!" -f "%ARIS9BATCHES_BACKUPTARGETFULLPATH_POSTGRES_DUMPS
%\postgres_ecp.dump.sql" -h localhost -U eurekastreams eurekastreams
REM //
===================================================================================
======================================================
REM // Backup all ARIS 9 Log-Files
REM //
===================================================================================
======================================================
if "%ARIS9BATCHES_FEATURE_BACKUP_LOG_FILES_ENABLED%" == "yes" (
call :printHeadline Backup all ARIS 9 Log-Files
xcopy /Y /S "%ARISHOME90%\*.log"
"%ARIS9BATCHES_BACKUPTARGETFULLPATH_ARIS9LOGS%"
1>"%ARIS9BATCHES_BACKUPTARGETFULLPATH_ARIS9LOGS_LIST%" 2>&1
REM //
===================================================================================
======================================================
REM // Backup Script Settings - this sequence have to run as one of the last
operations.
REM //
===================================================================================
======================================================
call :printHeadline Backup ARIS 9 Backup-Script Settings
set ARIS9BATCHES>"%ARIS9BATCHES_BACKUPTARGETFULLPATH_LOGS_LIST%"
call :printSuccess Finished.
call :printLine
REM //
===================================================================================
======================================================
REM //
===================================================================================
======================================================
REM // Zipping the current Backup - Please disable this feature because this script
can't run as schedules task otherwise
REM //
===================================================================================
======================================================
if "%ARIS9BATCHES_FEATURE_ZIP_BACKUP_ENABLED%" == "yes" (
call :printHeadline Zipping the current Backup - Please disable this
feature because this script can't run as schedules task otherwise
call :doZIP "%ARIS9BATCHES_BACKUPTARGETFULLPATH%"
"%ARIS9BATCHES_BACKUP_NAME%"
call :printSuccess Finished.
call :printLine
)
REM //
===================================================================================
======================================================
REM // Cleanup - Remove Dummy Files:
REM //
===================================================================================
======================================================
DEL /S !ARIS9BATCHES_BACKUPTARGETFULLPATH!\*!ARIS9BATCHES_FILENAME_DUMMYFILE!
%ARIS9BATCHES_OUTUP2NIRVANA%
REM //
===================================================================================
======================================================
REM //
===================================================================================
======================================================
REM // Delete old backups - only number of defined current backups will be remain.
REM //
===================================================================================
======================================================
if "%ARIS9BATCHES_AUTO_DELETE_ENABLED%" == "yes" (
REM // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++
REM // END SCRIPT CONTENT +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++
REM // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++
REM // !!! A batch procedure is defined by jump marks. To avoid endless loops the
current batch running branch have to exit by exit /b - exit /b has to execute of
each procedure end.
REM // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++
REM // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
REM // PROCEDURE call :copyFiles
REM // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
REM // P Scope Example
Description
REM //
-----------------------------------------------------------------------------
--------------------------------------------------------
REM // %1 Source
"%ARISHOME90%\server\generated.apptypes.cfg"
Source
REM // %2 Target
"%ARIS9BATCHES_BACKUPTARGETFULLPATH_CFGFILES%\server\generated.apptypes.cfg"
Target
REM // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
exit /b
:copyFiles
set copyFilesSource=%1
set copyFilesTarget=%2
set copyFilesTargetDir=%~dp2
REM // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
REM // PROCEDURE call :setARISHOME90 (No Parameters)
REM // Determine the installation path of ARIS 9 server products by the registry
path of windows service "ARISCloudAgent"
REM // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
exit /b
:setARISHOME90
REM // define the reg query
set
ARIS9BATCHES_regFullQuery="HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Sof
tware AG ARIS 10 Agent" /v imagePath
set /p ARIS9BATCHES_regQuery=<"%ARIS9BATCHES_fTMP%"
set ARIS9BATCHES_regQuery=%ARIS9BATCHES_regQuery: =+%
set ARIS9BATCHES_regQuery=%ARIS9BATCHES_regQuery: =+%
set ARIS9BATCHES_regQuery=%ARIS9BATCHES_regQuery:++=+%
set ARIS9BATCHES_regQuery=%ARIS9BATCHES_regQuery:++=+%
set ARISHOME90=%%c
set ARISHOME90=!ARISHOME90:\server\bin\wrapper.exe=!
:endSetARISHOME90
REM // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
REM // PROCEDURE call :setARIS9BATCHES_ARISADM_EXE (No Parameters)
REM // Determine client installation path automaticly by registry. Needed for
ARISADM90.exe
REM // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
exit /b
:setARIS9BATCHES_ARISADM_EXE
REM // define the reg query
set
ARIS9BATCHES_regFullQuery="HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\SoftwareAG\LOG\A
RIS10.0" /v PATH
REM // check if the command can be execute successfully. By "1>NUL 2>&1"
fatal errors and general messages will send to nirvana
REG QUERY !ARIS9BATCHES_regFullQuery! 1>nul 2>&1
If "!ERRORLEVEL!" == "1" (
REM // define the reg query
set
ARIS9BATCHES_regFullQuery="HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\SoftwareAG\LOG\A
RIS10.0" /v PATH
REM // check if the command can be execute successfully. By "1>NUL
2>&1" fatal errors and general messages will send to nirvana
REG QUERY !ARIS9BATCHES_regFullQuery! 1>nul 2>&1
If "!ERRORLEVEL!" == "1" (
set ARIS9BATCHES_ARISADM_EXE=UNDEFINED
exit /B
)
)
set /p ARIS9BATCHES_regQuery=<"%ARIS9BATCHES_fTMP%"
set ARIS9BATCHES_regQuery=!ARIS9BATCHES_regQuery:+PATH+REG_SZ+=!
set ARIS9BATCHES_regQuery=!ARIS9BATCHES_regQuery:+= !
set ARIS9BATCHES_ARISADM_EXE=!
ARIS9BATCHES_regQuery!\tools\ArisAdm\arisadm90.exe
:endSetARIS9BATCHES_ARISADM_EXE
REM // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
REM // Writing VBS-File that enables the Backup-Skript to ZIP Files and Folders
REM // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
exit /b
:createVBSZipper
echo Set objArgs = WScript.Arguments > "%ARIS9BATCHES_TMP_VBS_ZIPPER%"
echo InputFolder = objArgs(0) >> "%ARIS9BATCHES_TMP_VBS_ZIPPER%"
echo ZipFile = objArgs(1) >> "%ARIS9BATCHES_TMP_VBS_ZIPPER%"
echo CreateObject("Scripting.FileSystemObject").CreateTextFile(ZipFile,
True).Write "PK" ^& Chr(5) ^& Chr(6) ^& String(18, vbNullChar) >>
"%ARIS9BATCHES_TMP_VBS_ZIPPER%"
echo wScript.Sleep 2000 >> "%ARIS9BATCHES_TMP_VBS_ZIPPER%"
echo Set objShell = CreateObject("Shell.Application") >>
"%ARIS9BATCHES_TMP_VBS_ZIPPER%"
echo wScript.Sleep 2000 >> "%ARIS9BATCHES_TMP_VBS_ZIPPER%"
echo Set source = objShell.NameSpace(InputFolder).Items >>
"%ARIS9BATCHES_TMP_VBS_ZIPPER%"
echo objShell.NameSpace(ZipFile).CopyHere(source) >>
"%ARIS9BATCHES_TMP_VBS_ZIPPER%"
echo ' Wait for compression to complete before exiting script >>
"%ARIS9BATCHES_TMP_VBS_ZIPPER%"
echo Do While scriptShell.AppActivate("Compressing...") = TRUE >>
"%ARIS9BATCHES_TMP_VBS_ZIPPER%"
echo WScript.Sleep 500 ' Arbitrary polling delay >>
"%ARIS9BATCHES_TMP_VBS_ZIPPER%"
echo Loop >> "%ARIS9BATCHES_TMP_VBS_ZIPPER%"
:endCreateVBSZipper
REM // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
REM // PROCEDURE call :doZIP InputFolder TargetZIP
REM // Creates a ZIP-File from a folder
REM // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
REM // P Scope Example
Description
REM //
-----------------------------------------------------------------------------
--------------------
REM // %1 InputFolder C:\SoftwareAG
Path of the folder that have to zip.
REM // %2 TargetZIPName 2013-06-04_11-49-
56.93_tenant=default file path to target zip file.
REM // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
exit /b
:doZIP InputFolder TargetZIP
call :createVBSZipper
set ARIS9BATCHES_TMP_TargetZIPName=%2
set ARIS9BATCHES_TMP_TargetZIPName=!ARIS9BATCHES_TMP_TargetZIPName:"=!
set ARIS9BATCHES_TMP_TargetZIPPATH=!ARIS9BATCHES_TMP_TargetZIPName:"=!
set ARIS9BATCHES_TMP_TargetZIPPATH=%temp%\!
ARIS9BATCHES_TMP_TargetZIPName!.zip
REM // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
REM // PROCEDURE call :printLine (No Params)
REM // Write simple blank lines to the output.
REM // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
exit /b
:printLine
echo.
REM //echo
�����������������������������������������������������������������������������������
��������������������������
echo.
:endPrintLine
REM // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
REM // PROCEDURE call :tenantMGMT %1
REM // A wrapper for y-tenantMGMT.bat, a batch component of the UMC runnable.
REM // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
REM // P Scope Example
Description
REM //
-----------------------------------------------------------------------------
--------------------
REM // %1 Command exportConfig
Command of the y-tenantmgmt
REM // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
exit /b
:tenantMGMT command
pushd "%ARIS9BATCHES_TENANTMGMT_HOME%"
call :debugger call "y-tenantmgmt.bat" -s %ARIS9BATCHES_UMC_WEBSERVICE_URL%
-t "%ARIS9BATCHES_TENANT%" %*
call "y-tenantmgmt.bat" -s %ARIS9BATCHES_UMC_WEBSERVICE_URL% -t
"%ARIS9BATCHES_TENANT%" %*
popd
:endTenantMGMT
REM // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
REM // PROCEDURE call :tenantDUMP %1
REM // A wrapper for y-datadump.bat, a batch component of the UMC runnable.
REM // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
REM // P Scope Example
Description
REM //
-----------------------------------------------------------------------------
--------------------
REM // %1 Command export
Command of the y-datadump.bat
REM // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
exit /b
:tenantDUMP command
pushd "%ARIS9BATCHES_TENANTMGMT_HOME%"
call :debugger call "y-datadump.bat" -s %ARIS9BATCHES_UMC_WEBSERVICE_URL% -t
"%ARIS9BATCHES_TENANT%" %*
call "y-datadump.bat" -s %ARIS9BATCHES_UMC_WEBSERVICE_URL% -t
"%ARIS9BATCHES_TENANT%" %*
popd
:endTenantDUMP
REM // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
REM // PROCEDURE call :printHeadline %*
REM // Writes a Headline to the console output. Each parameter is part of the
Headline.
REM // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
exit /b
:printHeadline
echo %*
call :myColorPrint 1D
-----------------------------------------------------------------------------------
--------------------------
echo.
:endPrintHeadline
REM // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
REM // PROCEDURE call :printSuccess %*
REM // Writes in green color a user defined message. Each parameter is part of the
Headline.
REM // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
exit /b
:printSuccess
call :myColorPrint 1A %*
echo.
:endPrintSuccess
exit /b
:createNoneEmptyDir
set ARIS9BATCHES_TMP_FOLDERNAME=%1
set ARIS9BATCHES_TMP_FOLDERNAME=!ARIS9BATCHES_TMP_FOLDERNAME:"=!
%debug% mkdir "!ARIS9BATCHES_TMP_FOLDERNAME!"
mkdir "!ARIS9BATCHES_TMP_FOLDERNAME!" %ARIS9BATCHES_OUTUP2NIRVANA%
REM // %ARIS9BATCHES_OUTUP2NIRVANA%
echo.>"!ARIS9BATCHES_TMP_FOLDERNAME!\!ARIS9BATCHES_FILENAME_DUMMYFILE!"
:endCreateNoneEmptyDir
REM // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
REM // PROCEDURE call :debugger %*
REM // If debug mode is enabled, this procedure wites debug messages to the console
output. Developer procedure.
REM // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
exit /b
:debugger
if "%ARIS9BATCHES_debuggerEnabled%" == "yes" (
echo %*
)
exit /B
:endDebugger
REM // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
REM // PROCEDURE call :fatalErrorCheckVariableIsInvalid %1 %2
REM // %1 Var to check
REM // %2 Error Message
REM // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
exit /B
:fatalErrorCheckVariableIsInvalid
set ARIS9BATCHES_TMP_VAR1=%1
set ARIS9BATCHES_TMP_VAR2=%2
set ARIS9BATCHES_TMP_VAR2=!ARIS9BATCHES_TMP_VAR2:"=!
if !ARIS9BATCHES_TMP_VAR1! == "UNDEFINED" (
echo.>>"!ARIS9BATCHES_BACKUPTARGETFULLPATH!\FATAL_ERROR.txt"
echo.>>"!ARIS9BATCHES_BACKUPTARGETFULLPATH!\FATAL_ERROR.txt"
echo ------------------------------------->>"!
ARIS9BATCHES_BACKUPTARGETFULLPATH!\FATAL_ERROR.txt"
echo Current Settings:>>"!
ARIS9BATCHES_BACKUPTARGETFULLPATH!\FATAL_ERROR.txt"
echo ------------------------------------->>"!
ARIS9BATCHES_BACKUPTARGETFULLPATH!\FATAL_ERROR.txt"
set ARIS9BATCHES>>"!ARIS9BATCHES_BACKUPTARGETFULLPATH!\FATAL_ERROR.txt"
pause
exit /B
)
:EndfatalErrorCheckVariableIsInvalid
REM // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
REM // PROCEDURE call :myColorPrint %1 %*
REM // If debug mode is enabled, this procedure wites debug messages to the console
output. Developer procedure.
REM // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
REM // P Scope Example
Description
REM //
-----------------------------------------------------------------------------
--------------------
REM // %1 Color 1A
Set the text background and foreground color, see color /?
REM // %* Text to output Word one two three
Each further parameter is part of the text to output; Quotes not
necessary.
REM // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
exit /b
:myColorPrint
set color=%1
set text=%*
set text=!text:%color% =!
set text=!text:...= !
REM // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
REM // Not documented; Is used by other procedures;
REM // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
exit /b
:colorPrint Color Str [/n]
setlocal
set "str=%~2"
call :colorPrintVar %1 str %3
exit /b
REM // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
REM // Not documented; Is used by other procedures;
REM // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
:colorPrintVar Color StrVar [/n]
if not defined %~2 exit /b
setlocal enableDelayedExpansion
set "str=a%DEL%!%~2:\=a%DEL%\..\%DEL%%DEL%%DEL%!"
set "str=!str:/=a%DEL%/..\%DEL%%DEL%%DEL%!"
set "str=!str:"=\"!"
REM // set "str=!str:TIME=%TIME% !"
REM //set "str=!str:DATE=%DATE% !"
pushd "%temp%"
findstr /p /A:%1 "." "!str!\..\x" nul 2>NUL
if /i "%~3"=="/n" echo(
REM // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
REM // Not documented; Is used by other procedures;
REM // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
exit /b
:initColorPrint
set echoc=call :myColorPrint
set debug=call :debugger
rem // call :debugger
for /F "tokens=1,2 delims=#" %%a in ('"prompt #$H#$E# & echo on & for %%b in (1) do
rem"') do set "DEL=%%a"
<nul >"%temp%\x" set /p "=%DEL%%DEL%%DEL%%DEL%%DEL%%DEL%.%DEL%"
REM // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
REM // Not documented; Is used by other procedures;
REM // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
exit /b
:cleanupColorPrint
del "%temp%\x"
REM // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
REM // Checks UAC ("RUN AS Administrator")-Permissions and request them by GUI from
the user
REM // Not further documented;
REM // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
exit /B
:UACCheckForPermissions
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
REM // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
REM // Request UAC-Permission ("RUN AS Administrator")
REM // Not further documented;
REM // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
exit /B
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%ARIS9BATCHES_TMP_VBS_UAC%"
set params = %*:"=""
echo UAC.ShellExecute "cmd", " /K CD /D %~dp0 & %~s0", "", "runas", 1 >>
"%ARIS9BATCHES_TMP_VBS_UAC%"
"%ARIS9BATCHES_TMP_VBS_UAC%"
exit
REM // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
REM // Exit everthing.
REM // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
exit /b