Back up Application Snapshot to a Computer
This scenario explains how to automate the process of backing up the snapshot created during daily service maintenance to a local computer.
- Downloads the application snapshot (
Artifact Snapshot
) that was created during the maintenance window - Renames the downloaded snapshot by appending time stamp
- Maintains 10 backups by deleting the oldest backup, if needed
Note:
- This script cannot be used to backup Narrative Reporting
- If you repurpose this script for your use, modify the values of runtime parameters (
url
,user
,password
, andNumberOfBackups
as needed.
See Automating Script Execution for information on scheduling the script using Windows Task Scheduler.
Windows Sample Script
Create a batch (.bat
) or shell (.sh
) file containing script similar to the following to automate snapshot downloads.
@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 Sample Script
Create a shell (.sh
) file containing script similar to the following to automate the snapshot downloads. If your password contains special characters, see Handling Special Characters.
#!/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 --