此方案说明如何自动将日常服务维护过程中创建的快照备份到本地计算机。
Artifact Snapshot
)Note:
url
、user
、password
和 NumberOfBackups
)的值。有关使用 Windows 任务计划程序计划脚本的信息,请参阅“自动执行脚本”。
Windows 示例脚本
创建包含类似以下脚本的批处理 (.bat
) 或 shell (.sh
) 文件以自动下载快照。
@echo off rem Sample script to download and maintain 10 maintenance backups rem Update the following parameters SET url=https://example.oraclecloud.com SET user=ServiceAdmin SET password=Example.epw SET SnapshotName="Artifact Snapshot" SET NumberOfBackups=10 rem EPM Automate commands call epmautomate login %user% %password% %url% IF %ERRORLEVEL% NEQ 0 goto :ERROR call epmautomate downloadfile %SnapshotName% IF %ERRORLEVEL% NEQ 0 goto :ERROR call epmautomate logout IF %ERRORLEVEL% NEQ 0 goto :ERROR rem Rename downloaded Artifact Snapshot, keep the last 10 backups Set Timestamp=%date:~4,2%_%date:~7,2%_%date:~10,2%% Set Second=%time:~0,2%%time:~3,2% ren %SnapshotName%.zip %SnapshotName%_%Timestamp%_%Second%.zip SET Count=0 FOR %%A IN (%SnapshotName%*.*) DO SET /A Count += 1 IF %Count% gtr %NumberOfBackups% FOR %%A IN (%SnapshotName%*.*) DO del "%%A" && GOTO EOF :EOF echo Scheduled Task Completed successfully exit /b %errorlevel% :ERROR echo Failed with error #%errorlevel%. exit /b %errorlevel%
Linux/UNIX 示例脚本
创建一个 shell (.sh
) 文件,在其中包含类似如下所示的脚本,以自动下载快照。如果密码中包含特殊字符,请参阅“处理特殊字符”。
#!/bin/sh # Sample script to download and maintain 10 maintenance backups # Update the following seven parameters url=https://example.oraclecloud.com user=serviceAdmin password=/home/user1/epmautomate/bin/example.epw snapshotname="Artifact Snapshot" numberofbackups=10 epmautomatescript=/home/user1/epmautomate/bin/epmautomate.sh javahome=/home/user1/jdk1.8.0_191/ export JAVA_HOME=${javahome} printResult() { op="$1" opoutput="$2" returncode="$3" if [ "${returncode}" -ne 0 ] then echo "Command failed. Error code: ${returncode}. ${opoutput}" else echo "${opoutput}" fi } processCommand() { op="$1" date=`date` echo "Running ${epmautomatescript} ${op}" operationoutput=`eval "$epmautomatescript $op"` printResult "$op" "$operationoutput" "$?" } op="login ${user} ${password} ${url}" processCommand "${op}" op="downloadfile \"${snapshotname}\"" processCommand "${op}" op="logout" processCommand "${op}" # Renames the downloaded artifacts, keeps the last 10 backups timestamp=`date +%m_%d_%Y_%I%M` mv "${snapshotname}.zip" "${snapshotname}_${timestamp}.zip" ((numberofbackups+=1)) ls -tp ${snapshotname}*.zip | grep -v '/$' | tail -n +${numberofbackups} | xargs -d '\n' -r rm --