Automatización de descargas de informes de actividad en un equipo local

Utilice el script de esta sección para automatizar la descarga de informes de actividad de un entorno en un equipo local.

Utilice syncAprReports.bat para descargar informes de actividad. Puede programar el archivo por lotes mediante el programador de Windows para automatizar la descarga de informes de actividad. Consulte Uso de informes de actividad y registros de acceso para supervisar el uso en Introducción a Oracle Enterprise Performance Management Cloud para administradores para obtener información detallada sobre informes de actividad.

Cree manualmente syncAprReports.bat mediante la copia del script proporcionado en el siguiente procedimiento y la actualización de los parámetros de conexión. Este script comprueba el entorno y descarga solo los informes que sean más recientes que los que están disponibles en el directorio de descarga del equipo local.

Nota:

  • El script se ejecutará desde un equipo de Windows únicamente.
  • Con este script no se descarga el informe de actividad de comentarios, que se genera cuando el usuario envía comentarios.
  • Si la contraseña contiene caracteres especiales, consulte Manejo de caracteres especiales
  1. Cree un archivo por lotes (.BAT) denominado syncAprReports.bat que contenga el siguiente script y guárdelo en una ubicación adecuada (por ejemplo, C:\automate_scripts).
    @echo off
    title APR
    setlocal DisableDelayedExpansion
    
    REM To hardcode the values in the script replace %1, %2, %3, and %4, with the actual values.
    REM Example:
    REM set apr_dir="C:\Oracle\apr"
    REM set username="serviceAdmin"
    REM set password="Ex@mple!"
    REM set url="https://test-example.stg-pbcs.us1.oraclecloud.com"
    set apr_dir=%1
    set username=%2
    set password=%3
    set url=%4
    setlocal EnableDelayedExpansion
    set epmautomate_dir=%cd%
    set lastfile=
    set argC=0
    for %%x in (%*) do Set /A argC+=1
    if %argC% neq 0 (
            if %argC% neq 3 (
                    if %argC% neq 4 (
                            goto :usage
                    )
            )
    )
    goto :login
    :usage
    echo.
    echo Invalid syntax. Please check the parameters. 
    echo Syntax:
    echo 1) syncAprReports.bat APR_FolderPath_on_client username password url
    echo     or 
    echo 2) set the parameters in the file and use below syntax
    echo    syncAprReports.bat
    goto :end
    
    :login
    setlocal DisableDelayedExpansion
    for /f "delims=" %%i in ('epmautomate login %username% %password% %url%') do set result=%%i
    if "Login successful" neq "%result%" (
            echo Login Failed
            goto :end
    ) 
    
    if not exist %apr_dir% (
    echo.
    echo apr folder does not exist 
    GOTO :end
    )
    cd /D %apr_dir%
    for /f "delims=" %%D in ('dir /a:d /b /o:-n') do ( 
    REM AFTER: for /f "delims=" %%D in ('dir /a-d /b /s /o:-n') do (
            set "lastFile=%%~nD"
            goto :next
    )
    
    :next
    setlocal EnableDelayedExpansion
    echo.
    echo Most Recent APR on client is %lastFile%
    
    set "output_cnt=0"
    cd /D %epmautomate_dir%
    for /F "delims=" %%f in ('epmautomate listfiles') do (
    
            cd /D !apr_dir!
            set "line=%%f"
            for /f "tokens=* delims= " %%a in ("!line!") do set line=%%a
            if "!line:~0,3!" equ "apr" (
    
                    if "!line:~4,8!" neq "Feedback" (
    
                            set isValidFile=false
                            if "!line:~-5!" equ ".html" set isValidFile=true
                            if "!line:~-5!" equ ".json" set isValidFile=true
    
                            if "!isValidFile!" equ "true" (
                                    
                                    if "%lastFile%" lss "!line:~4,19!" (
                                            
                                                    if "!line:~4,19!" neq "!dirname!" (
                                                            
                                                            set apr_dir=!apr_dir:"=!
                                                            set /a output_cnt+=1
                                                            set "output[!output_cnt!]=!apr_dir!\!line:~4,19!"
                                                            set "dirname=!line:~4,19!"
                                                            
                                                            REM start downloading
                                                            mkdir "!dirname!"
                                                            cd /D !dirname!
                                                            echo downloading !line!
                                                            set "downloadDir=!apr_dir!\!dirname!"
                                                                                    
                                                            cd /D %epmautomate_dir%
                                                            for /f "delims=" %%i in ('epmautomate downloadfile "!line!"') do set result1=%%i
                                                            move "!line:~24!" "!downloadDir!" > nul
                                                            echo !result1!
                                                            REM end downloading
                                                            
                                                    ) else (
                                                    
                                                            REM start downloading
                                                            cd /D !dirname!
                                                            echo downloading !line!
                                                            set apr_dir=!apr_dir:"=!
                                                            set "downloadDir=!apr_dir!\!dirname!"
                                                            cd /D %epmautomate_dir%
                                                            for /f "delims=" %%i in ('epmautomate downloadfile "!line!"') do set result1=%%i
                                                            move "!line:~24!" "!downloadDir!" > nul
                                                            echo !result1!
                                                            REM end downloading
                                                            
                                                    )
                                    ) else (
                                    
                                            REM TO-DO
                                            
                                    )
                            )
                    )
            )
    )
    
    echo.
    echo %output_cnt% APR's downloaded
    for /L %%n in (1 1 !output_cnt!) DO echo !output[%%n]!
    goto :end
    
    :end
    cd /D %epmautomate_dir%
    endlocal
  2. Modifique syncAprReports.bat para definir los valores de los parámetros en la siguiente tabla. Estos valores se utilizan para acceder al entorno y descargar informes de actividad.

    Tabla 3-3 Valores de parámetro que se van a incluir en syncAprReports.bat

    Parámetro Valor esperado
    set apr_dir=%1 Especifique un directorio existente en el que se descargarán los informes de actividad.

    Ejemplo: set apr_dir="C:\Oracle\apr"

    set username=%2 Un nombre de usuario de Oracle Enterprise Performance Management Cloud que se utilizará para iniciar sesión en el entorno y descargar informes de actividad.

    Ejemplo: set username="ServiceAdmin"

    set password=%3

    El nombre y la ubicación del archivo que almacena la contraseña cifrada del usuario especificado por la variable username. También puede especificar la contraseña de texto sin formato del usuario (no recomendado). Consulte el comando encrypt para obtener información sobre la creación de un archivo de contraseñas cifradas.

    Ejemplos:

    set password="C:\mySecuredir\password.epw"

    set password="Ex@mple1"

    set url=%4 La URL del entorno.

    Ejemplo: set url="https://test-example.stg-pbcs.us1.oraclecloud.com"

  3. Con el programador de Windows, programe syncAprReports.bat. Consulte Automatización de la ejecución de scripts para obtener pasos detallados.