使用本節中的指令碼以自動複製環境。
建立包含類似下列項目之指令碼的批次 (.bat) 或殼層 (.sh) 檔案以複製環境。下列範例指令碼可處理這些活動:
Artifact Snapshot (來源環境上次每日維護期間建立的快照) 或來源環境中可用的其他快照,將目標環境轉換為來源環境的翻版。如需有關複製程序的詳細資訊,請參閱管理移轉 中的複製 Cloud EPM 環境 。
請參閱自動執行指令碼以取得使用 Windows 工作排程器排程執行指令碼的相關資訊。
Windows
cloneEnvironment.bat 的批次 (.BAT) 檔案,其中包含以下指令碼並儲存在方便的位置,例如 C:\automate_scripts。
@echo off set paramRequiredMessage=Syntax: cloneEnvironment.bat "SOURCE USERNAME" "SOURCE PASSWORD FILE" "SOURCE URL" "TARGET USERNAME" "TARGET PASSWORD FILE" "TARGET URL" set usersandpredefinedroles="false" set snapshotname="Artifact Snapshot" set dailymaintenancestarttime="true" set dirpath=%~dp0 cd %dirpath:~0,-1% if "%~1" == "" ( echo Source User Name is missing. echo %paramRequiredMessage% exit /b 1 ) if "%~2" == "" ( echo Source Password File is missing. echo %paramRequiredMessage% exit /b 1 ) if "%~3" == "" ( echo Source URL is missing. echo %paramRequiredMessage% exit /b 1 ) if "%~4" == "" ( echo Target User Name is missing. echo %paramRequiredMessage% exit /b 1 ) if "%~5" == "" ( echo Target Password File is missing. echo %paramRequiredMessage% exit /b 1 ) if "%~6" == "" ( echo Target URL is missing. echo %paramRequiredMessage% exit /b 1 ) PowerShell.exe -File cloneEnvironment.ps1 %~1 %~2 %~3 %~4 %~5 %~6 %usersandpredefinedroles% %snapshotname% %dailymaintenancestarttime%
cloneEnvironment.bat 來設定這些參數的值:
表格 3-5 要在 cloneEnvironment.bat 中設定的參數
| 參數 | 描述 |
|---|---|
usersandpredefinedroles |
將這個參數的值設定為 true 來複製使用者及其預先定義的角色指派和應用程式角色指派。
若要複製使用者和角色指派,執行指令碼的使用者必須擁有目標環境的服務管理員和識別網域管理員角色。 |
snapshotname |
複製時,快照在來源環境中應使用的名稱。 |
dailymaintenancestarttime |
將這個參數的值設定為 true,將複製的環境每日維護開始時間變更為來源環境的每日維護開始時間。將此值設定為 false,以保留複製的環境目前每日維護開始時間。 |
cloneEnvironment.ps1 的 PowerShell 指令碼,其中包含以下指令碼並將其儲存至您儲存 cloneEnvironment.bat 的目錄中,例如,C:\automate_scripts。
# Clone Environment script
$source_username=$args[0]
$source_password=$args[1]
$source_url=$args[2]
$target_username=$args[3]
$target_password=$args[4]
$target_url=$args[5]
$usersandpredefinedroles=$args[6]
$snapshotname=$args[7]
$dailymaintenancestarttime=$args[8]
epmautomate.bat login "${source_username}" "${source_password}" "${source_url}"
epmautomate.bat cloneEnvironment "${target_username}" "${target_password}" "${target_url}" UsersAndPreDefinedRoles="${usersandpredefinedroles}" SnapshotName="${snapshotname}" DailyMaintenanceStartTime="${dailymaintenancestarttime}"
epmautomate.bat logoutcloneEnvironment.bat:
cloneEnvironment.bat "SOURCE USERNAME" "SOURCE PASSWORD FILE" "SOURCE URL" "TARGET USERNAME" "TARGET PASSWORD FILE" "TARGET URL"例如:
cloneEnvironment.bat jdoe@example.com C:\mySecuredir\example_pwd.epw https://source_example.oraclecloud.com jdoe@example.com C:\mySecuredir\example_pwd2.epw https://target_example.oraclecloud.com.
Linux
cloneEnvironment.sh 的 shell 指令碼,其中包含以下指令碼並將其儲存在方便的位置。
#!/bin/bash
# Update the following parameters
# -------------------------------
epmautomatescript=/home/user1/epmautomate/bin/epmautomate.sh
javahome=/home/user1/jdk1.8.0_191/
usersandpredefinedroles="false"
snapshotname="Artifact Snapshot"
dailymaintenancestarttime="true"
# -------------------------------
source_username="$1"
source_password="$2"
source_url="$3"
target_username="$4"
target_password="$5"
target_url="$6"
export JAVA_HOME=${javahome}
if [ "$#" -ne 6 ]; then
echo "Usage: ./cloneEnvironment.sh <SOURCE USERNAME> <SOURCE PASSWORD FILE> <SOURCE URL> <TARGET USERNAME> <TARGET PASSWORD FILE> <TARGET URL>"
exit 1
fi
${epmautomatescript} login "${source_username}" "${source_password}" "${source_url}"
${epmautomatescript} cloneEnvironment "${target_username}" "${target_password}" "${target_url}" UsersAndPreDefinedRoles="${usersandpredefinedroles}" SnapshotName="${snapshotname}" DailyMaintenanceStartTime="${dailymaintenancestarttime}"
${epmautomatescript} logoutcloneEnvironment.sh 來設定這些參數的值:
表格 3-6 要在 cloneEnvironment.sh 中設定的參數
| 參數 | 描述 |
|---|---|
epmautomatescript |
EPM Automate 可執行檔 (epmautomate.sh) 的絕對路徑。 |
javahome |
JAVA_HOME 位置。 |
usersandpredefinedroles |
將這個參數的值設定為 true 來複製使用者及其預先定義的角色指派和應用程式角色指派。
若要複製使用者和角色指派,執行指令碼的使用者必須擁有目標環境的服務管理員和識別網域管理員角色。 |
snapshotname |
複製時,快照在來源環境中應使用的名稱。 |
dailymaintenancestarttime |
將這個參數的值設定為 true,將複製的環境每日維護開始時間變更為來源環境的每日維護開始時間。將此值設定為 false,以保留複製的環境目前每日維護開始時間。 |
cloneEnvironment.sh。
./cloneEnvironment.sh "SOURCE USERNAME" "SOURCE PASSWORD FILE" "SOURCE URL" "TARGET USERNAME" "TARGET PASSWORD FILE" "TARGET URL"例如:
./cloneEnvironment.sh jdoe@example.com ./home/secure/example_pwd.epw https://source_example.oraclecloud.com jdoe@example.com ./home/secure/example_pwd.epw2 https://target_example.oraclecloud.com.