Descarga de logs de acceso desde un entorno

Utilice el script de esta sección para automatizar el proceso de descarga de registros de acceso de un entorno en un equipo local.

Puede programar syncAccessLog.bat utilizando el programador de Windows para automatizar la descarga de los archivos de registro. Consulte Visualización y descarga de informes de actividad y registros de acceso en Introducción a Oracle Enterprise Performance Management Cloud para administradores para conocer los procedimientos de descarga de registros de acceso mediante la administración de aplicaciones.

El siguiente script comprueba el entorno y descarga solo los archivos de registro que son más recientes que los disponibles en el directorio de descarga del equipo local. Este script es de Windows; puede crear un script de shell similar para entornos de Linux/UNIX.

  1. Cree un archivo por lotes (.BAT) llamado syncAccessLog.bat que contenga el siguiente script y guárdelo en una ubicación apropiada, por ejemplo, C:\automate_scripts.

    Nota:

    Si su contraseña contiene caracteres especiales, consulte Manejo de caracteres especiales.
    @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="C:\mySecuredir\password.epw"
    REM set url="https://test-cloudpln.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=
    REM if [%1]==[] goto :usage
    REM if [%2]==[] goto :usage
    REM if [%3]==[] goto :usage
    
    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) syncAccessLog.bat APR_FolderPath_on_client username password url
    echo     or 
    echo 2) set the parameters in the file and use below syntax
    echo syncAccessLog.bat
    goto :end
    
    :login
    setlocal DisableDelayedExpansion
    REM for /f "delims=" %%i in ('epmautomate login %2 %3 %4') do set result=%%i
    for /f "delims=" %%i in ('epmautomate login %username% %password% %url%') do set result=%%i
    
    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 Access Log 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!" equ ".zip" (
          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% access logs downloaded
    for /L %%n in (1 1 !output_cnt!) DO echo !output[%%n]!
    goto :end
    
    :end
    cd /D %epmautomate_dir%
    endlocal
    
  2. Modifique syncAccessLog.bat para establecer los valores de los parámetros en la siguiente tabla: Estos valores se utilizan para acceder al entorno y descargar los registros de acceso.

    Tabla 3-4 Valores de variable que se van a incluir en syncAccessLog.bat

    Variable Valor esperado
    set apr_dir=%1 Especifique el directorio en el que se van a descargar los registros de acceso.

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

    set username=%2 Un nombre de usuario de Oracle Enterprise Performance Management Cloud que se va a utilizar para iniciar sesión en el entorno y descargar los registros de acceso.

    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="P@ssword1"

    set url=%4 La URL del entorno.

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

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