このシナリオでは、日次サービス・メンテナンス中に作成されたスナップショットをローカル・コンピュータにバックアップするプロセスの自動化方法を説明します。
Artifact Snapshot
)をダウンロードしますNote:
url
、user
、password
およびNumberOfBackups
)を変更してください。Windowsタスク・スケジューラを使用してスクリプトをスケジュールする方法の詳細は、スクリプトの実行の自動化を参照してください。
Windowsのサンプル・スクリプト
スナップショットのダウンロードを自動化する次のようなスクリプトが含まれるバッチ(.bat
)またはシェル(.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のサンプル・スクリプト
スナップショットのダウンロードを自動化する次のようなスクリプトが含まれるシェル(.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 --