Copia de seguridad de instantáneas de aplicación en un equipo

En este caso se explica cómo automatizar el proceso de creación de una copia de seguridad de la instantánea creada durante el mantenimiento del servicio diario en un equipo local.

  • Descarga la instantánea de la aplicación (Artifact Snapshot) que se creó en el periodo de mantenimiento
  • Cambia el nombre de la instantánea descargada agregando el registro de hora
  • Mantiene 10 copias de seguridad suprimiendo, si es necesario, las copias de seguridad más antiguas

Note:

  • Este script no puede utilizarse para hacer una copia de seguridad de Narrative Reporting
  • Si vuelve a planificar este script para su uso, modifique los valores de los parámetros de tiempo de ejecución (url, user, password y NumberOfBackups) según sea necesario.

Consulte Automatización de la ejecución de scripts para obtener información sobre la programación del script con Programador de tareas de Windows.

Script de Windows de ejemplo

Cree un archivo por lotes (.bat) o de shell (.sh) que contenga un script similar al siguiente para automatizar las descargas de instantáneas.

@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%

Script de Linux/UNIX de ejemplo

Cree un archivo de shell (.sh) que contenga un script similar al siguiente para automatizar las descargas de instantáneas. Si su contraseña contiene caracteres especiales, consulte Manejo de caracteres especiales.

#!/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 --