Téléchargement des journaux d'accès à partir d'un environnement

Utilisez le script de cette section pour automatiser le processus de téléchargement des journaux d'accès à partir d'un environnement vers un ordinateur local.

Vous pouvez planifier syncAccessLog.bat à l'aide du planificateur Windows afin d'automatiser le téléchargement des fichiers journaux. Reportez-vous à la section Affichage et téléchargement des rapports d'activité et des journaux d'accès du guide Mise en route d'Oracle Enterprise Performance Management Cloud pour les administrateurs pour obtenir les procédures de téléchargement des journaux d'accès à l'aide de la gestion des applications.

Le script suivant vérifie l'environnement et télécharge uniquement les fichiers journaux qui sont plus récents que ceux disponibles dans le répertoire de téléchargement sur l'ordinateur local. Il s'agit d'un script Windows, mais vous pouvez créer un script d'interpréteur de commandes similaire pour les environnements Linux/UNIX.

  1. Créez un fichier batch (.BAT) nommé syncAccessLog.bat contenant le script suivant et enregistrez-le à un emplacement pratique, par exemple C:\automate_scripts.

    Remarque :

    Si votre mot de passe contient des caractères spéciaux, reportez-vous à la section Gestion des caractères spéciaux.
    @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. Modifiez syncAccessLog.bat pour définir les valeurs des paramètres du tableau suivant. Ces valeurs permettent d'accéder à l'environnement pour télécharger les journaux d'accès.

    Tableau 3-4 Valeurs de variable à inclure dans syncAccessLog.bat

    Variable Valeur attendue
    set apr_dir=%1 Spécifiez le répertoire dans lequel les journaux d'accès doivent être téléchargés.

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

    set username=%2 Nom d'utilisateur Oracle Enterprise Performance Management Cloud à utiliser pour se connecter à l'environnement afin de télécharger les journaux d'accès.

    Exemple : set username="ServiceAdmin"

    set password=%3

    Nom et emplacement du fichier qui stocke le mot de passe crypté de l'utilisateur spécifié par la variable username. Vous pouvez également indiquer le mot de passe en texte brut de l'utilisateur (non recommandé). Pour obtenir des informations sur la création d'un fichier de mots de passe cryptés, reportez-vous à la commande encrypt.

    Exemples :

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

    set password="P@ssword1"

    set url=%4 URL de l'environnement.

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

  3. A l'aide du planificateur Windows, planifiez syncAccessLog.bat. Reportez-vous à la section Automatisation de l'exécution de scripts pour obtenir les étapes détaillées.