使用本节中的脚本可自动克隆环境。
创建包含类似以下脚本的批处理 (.bat) 或 shell (.sh) 文件以克隆环境。后面的示例脚本可以处理如下活动:
Artifact Snapshot(在源环境的上次日常维护期间创建的快照)或源环境中可用的其他快照,将目标环境转换为源环境的克隆。有关克隆过程的详细信息,请参阅《管理迁移》中的“克隆云 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.