Cette page a été traduite automatiquement. Lisez l'original en anglais. English

Bibliothèque IBSurgeon

Envoi des sauvegardes depuis HQbird vers Amazon S3

Pour envoyer les sauvegardes créées par HQbird vers Amazon S3, le moyen le plus simple sera d’utiliser l’interface en ligne de commande AWS (CLI).

Utilisez la fonctionnalité de script post-sauvegarde (voir « Exécuter une commande shell » ici), disponible dans HQbird : spécifiez un fichier de commande qui reçoit le chemin de la sauvegarde créée comme premier paramètre.

L’exemple de fichier de commande pour Windows :

Code
@echo off
setlocal EnableDelayedExpansion

:: Configuration S3 - Remplacez ces valeurs par vos valeurs réelles
set "AWS_ACCESS_KEY_ID=VOTRE_CLE_ACCES_ICI"
set "AWS_SECRET_ACCESS_KEY=VOTRE_CLE_SECRETE_ICI"
set "S3_BUCKET=nom-de-votre-bucket"
set "S3_REGION=us-east-1"

:: Vérifier si un chemin de fichier a été fourni
if "%~1"=="" (
    echo Erreur : Veuillez fournir le chemin du fichier à téléverser.
    echo Utilisation : %0 [chemin_fichier]
    exit /b 1
)

:: Vérifier si le fichier existe
if not exist "%~1" (
    echo Erreur : Fichier introuvable : %~1
    exit /b 1
)

:: Obtenir uniquement le nom du fichier à partir du chemin
for %%F in ("%~1") do set "FILE_NAME=%%~nxF"

echo Téléversement de %FILE_NAME% vers le bucket S3 %S3_BUCKET%...

:: Vérifier si AWS CLI est installé
where aws >nul 2>&1
if %ERRORLEVEL% neq 0 (
    echo Erreur : AWS CLI n'est pas installé ou n'est pas dans le PATH.
    echo Veuillez installer AWS CLI depuis https://aws.amazon.com/cli/
    exit /b 1
)

:: Définir les identifiants AWS pour cette session
set "AWS_ACCESS_KEY_ID=%AWS_ACCESS_KEY_ID%"
set "AWS_SECRET_ACCESS_KEY=%AWS_SECRET_ACCESS_KEY%"
set "AWS_DEFAULT_REGION=%S3_REGION%"

:: Téléverser le fichier vers S3
aws s3 cp "%~1" "s3://%S3_BUCKET%/%FILE_NAME%" --region %S3_REGION%

if %ERRORLEVEL% equ 0 (
    echo Téléversement réussi !
    echo Fichier disponible à : https://%S3_BUCKET%.s3.%S3_REGION%.amazonaws.com/%FILE_NAME%
) else (
    echo Échec du téléversement avec le code d'erreur %ERRORLEVEL%
)

endlocal
exit /b