例如,您可能需要在 https://cloudpln.pbcs.us1.oraclecloud.com
和 https://testcloudpln.pbcs.us1.oraclecloud.com
中同时刷新 Planning 应用程序多维数据集。在此方案中,您有两种选择:
从同一个目录运行 EPM Automate 的两个实例,分别刷新不同环境中的应用程序多维数据集
从两个单独的目录分别执行 EPM Automate 以连接到环境,然后刷新应用程序多维数据集
在这两种方案中,EPM Automate 的每一个实例都独立运行;从一个实例注销不会使您从另一个实例注销。即使从另一个实例注销,使用 EPM Automate 启动的活动也将继续在环境中运行直至完成。
本节包含可用于创建两个 EPM Automate 会话以执行任务的 Windows 和 Unix/Linux 示例脚本(caller
和 multisession
)。要同时运行多个会话,必须在 caller
脚本中添加以下连接信息,该脚本会调用 multisession
脚本来运行 login
、uploadfile
、listfiles
和 logout
命令。可以修改 multisession
脚本来执行这些任务之外的其他任务。确保这两个脚本存储在同一目录中。
EPM Automate 使用环境变量 EPM_SID
区分多个会话。必须在 caller 脚本中将此变量设置为每个会话的唯一值。在示例脚本中,将其设置为唯一值,如下所示:
在 caller.BAT
中,EPM_SID
设置为 !RANDOM!
,这会向其分配系统生成的唯一数字。此数字同时用于为每个会话生成日志文件。如果要跟踪每个会话的日志文件,可以为其指定唯一的数字而不是 !RANDOM!
。
在 caller.sh
中,EPM_SID
设置为唯一的进程 ID。如果要跟踪每个会话的日志文件,可以指定唯一的 EPM_SID
,方法是在 multisession
脚本中修改 export EPM_SID=$$
语句以使用传入的值,然后在 caller
脚本中针对每个会话为此参数传递唯一值,例如,在 caller.sh
中指定 EPM SID
的值,如下所示:
$SCRIPT_DIR/multisession.sh EPM_SID "USERNAME" "PASSWORD" "URL" "/home/user/Snapshot1.zip" & $SCRIPT_DIR/multisession.sh EPM_SID "USERNAME" "PASSWORD" "URL" "/home/user/Snapshot2.zip" &
USERNAME
:服务管理员的登录 ID
PASSWORD
:服务管理员的密码
URL
:环境的连接 URL
Windows 脚本示例
caller.BAT
@echo off setlocal EnableExtensions EnableDelayedExpansion REM syntax: start /B multisession.bat EPM_SID "USERNAME" "PASSWORD" "URL" "SNAPSHOTPATH" start /B multisession.bat !RANDOM! "USERNAME" "PASSWORD" "URL" "C:\Snapshot1.zip" start /B multisession.bat !RANDOM! "USERNAME" "PASSWORD" "URL" "C:\Snapshot2.zip" endlocal
multisession.BAT
@echo off set EPM_SID=%1 set USERNAME=%2 set PASSWORD=%3 set URL=%4 set SNAPSHOTNAME=%5 echo User: %USERNAME% > %EPM_SID%.log echo Cloud Instance: %URL% >> %EPM_SID%.log call epmautomate login %USERNAME% %PASSWORD% %URL% >> %EPM_SID%.log call epmautomate uploadfile %SNAPSHOTNAME% >> %EPM_SID%.log call epmautomate listfiles >> %EPM_SID%.log call epmautomate logout
Bourne Shell 脚本示例
caller.sh#!/bin/sh set +x SCRIPT_DIR=`dirname "${0}"` # syntax: /home/user/multisession.sh "USERNAME" "PASSWORD" "URL" "SNAPSHOTPATH" & $SCRIPT_DIR/multisession.sh "USERNAME" "PASSWORD" "URL" "/home/user/Snapshot1.zip" & $SCRIPT_DIR/multisession.sh "USERNAME" "PASSWORD" "URL" "/home/user/Snapshot2.zip" &multisession.sh
#!/bin/sh set +x EPM_AUTOMATE_HOME=/home/user/epmautomate export JAVA_HOME=/home/user/jre export EPM_SID=$$ USERNAME=$1 PASSWORD=$2 URL=$3 SNAPSHOTNAME=$4 echo User: $USERNAME > $EPM_SID.log echo Cloud Instance: $URL >> $EPM_SID.log $EPM_AUTOMATE_HOME/bin/epmautomate.sh login $USERNAME $PASSWORD $URL >> $EPM_SID.log $EPM_AUTOMATE_HOME/bin/epmautomate.sh uploadfile $SNAPSHOTNAME >> $EPM_SID.log $EPM_AUTOMATE_HOME/bin/epmautomate.sh listfiles >> $EPM_SID.log $EPM_AUTOMATE_HOME/bin/epmautomate.sh logout