Scripts personnalisés dans la console de gestion de l'appliance

Lorsque vous définissez un workflow Backup and DR LiveClone qui effectue un pré-nettoyage, vous pouvez choisir entre le masquage des données de confidentialité Optim ou des scripts personnalisés.

Pour les scripts personnalisés, spécifiez au moins un script de prétraitement ou de post-traitement.

  • Spécifiez un pré-script si nécessaire. Le pré-script permet de configurer l'environnement avant d'installer ou de désinstaller l'application. Ce script doit se trouver dans un dossier nommé /act/scripts sur le serveur qui héberge la sauvegarde installée.
  • Dans le champ Délai avant expiration en secondes correspondant, spécifiez le temps nécessaire à l'exécution du script.
  • Spécifiez un post-script si nécessaire. Post-script utilisé pour effectuer une opération sur les données après leur montage ou leur démontage. Ce script doit se trouver dans un dossier nommé /act/scripts sur le serveur qui héberge la sauvegarde installée.
  • Dans le champ Délai avant expiration en secondes correspondant, spécifiez le temps nécessaire à l'exécution du script.

Scripts avant et après le workflow Backup and DR

Les workflows Backup and DR installent et désinstallent les sauvegardes selon une planification ou à la demande. Dans un workflow Backup and DR, vous pouvez appeler les éléments suivants :

  • Un pré-script qui s'exécute avant l'installation ou la désinstallation d'une sauvegarde
  • Un post-script qui s'exécute après l'installation ou la désinstallation d'une sauvegarde

La possibilité d'exécuter un script avant et après l'installation ou la désinstallation des données vous permet d'effectuer les opérations suivantes :

  • Nettoyer les informations sensibles
  • Générer des rapports
  • Données d'entrepôt, en particulier pour les opérations d'extraction, de transformation et de chargement (ETL)

Les scripts doivent se trouver dans un dossier nommé /act/scripts sur le serveur qui héberge la sauvegarde du workflow Backup and DR installé.

Variables d'environnement

Les variables d'environnement vous permettent d'appeler des commandes qui s'appliquent à des jobs, des types de jobs ou des applications spécifiques. Les variables d'environnement sont précédées du préfixe ACT_. Par exemple, une variable d'environnement pour une base de données peut se présenter comme suit :

    [$ACT_APPNAME =="productiondb"]

ou une variable d'environnement pour une opération d'installation pourrait ressembler à ceci :

    [$ACT_JOBTYPE == "mount"]

Voici une liste de variables d'environnement courantes avec des exemples de valeurs :

  • JOBNAME : nom du job (par exemple, Job_0123456).
  • APPID : ID de l'application (par exemple, 4186).
  • APPNAME : nom de l'application (par exemple, My-DB).
  • HOSTNAME : nom de l'hôte qui est la cible de ce job (par exemple, Jupiter).
  • SOURCEHOST : nom de l'hôte qui était la source de cette application (par exemple, Saturn).
  • JOBTYPE : version textuelle de la classe de job (par exemple, "mount" ou "unmount").
  • PHASE : chaîne de texte décrivant la phase du job (par exemple, "pre" ou "post").
  • TIMEOUT : définissez la durée du script, c'est-à-dire la durée pendant laquelle le script est autorisé à s'exécuter.
  • OPTIONS : options de stratégie qui s'appliquent à ce job.

Exemple de script

L'exemple de script suivant utilise trois variables d'environnement :

  • ACT_JOBTYPE : indique si le job est une opération d'installation ou de désinstallation.
  • ACT_PHASE : indique si la phase est antérieure ou postérieure.
  • ACT_MULTI_END : utilisé uniquement si une base de données et son journal sont installés. Lorsque la valeur est "true", la base de données est dans un état où elle est accessible.

    ```sh
    #!/bin/sh
    set +x
    echo "*** Running user script: Job - $ACT_JOBNAME Type - $ACT_JOBTYPE Phase - $ACT_PHASE***"
    
    #Use the first if clause to perform application specific operations during mount and in this example scrub-mount operation.
    
    #Use the second if clause to perform any application specific operation during unmount and in this example, #scrub-unmount operation.
    
    #if [[ $ACT_JOBTYPE == "mount" ]] || [[ $ACT_JOBTYPE == "scrub-mount" ]]; then
    if [[ $ACT_JOBTYPE == "unmount" ]] || [[ $ACT_JOBTYPE == "scrub-unmount" ]]; then
        echo "NO-OP for job type $ACT_JOBTYPE"
        exit 0
    fi
    
    #Use the first if clause to perform application specific operations during the pre phase.
    
    #Use the second if clause to perform application specific operations during the post phase.
    
    #if [[ $ACT_PHASE == "post" ]]; then
    if [[ $ACT_PHASE == "pre" ]]; then
        echo "NO-OP for phase $ACT_PHASE"
        exit 0
    fi
    
    #For multi-phase jobs (database and logs) check if the database has been mounted and the logs applied then #skip logs.
    
    #If the operation needs to be performed in phases other than the last phase, modify the clause.
    
    if [[ -z "$ACT_MULTI_END" ]] && [[ $ACT_MULTI_END != "true" ]]; then
        echo "NO-OP for multi-phase operation"
        exit 0
    fi
    
    cd /act/scripts
    
    echo "**** Running application specific logic: Job - $ACT_JOBNAME Type - $ACT_JOBTYPE Phase - $ACT_PHASE *"
    
    Any application specific commands will go here
    
    echo "** Finished running application specific logic : Job - $ACT_JOBNAME Type - $ACT_JOBTYPE Phase - $ACT_PHASE*"
    exit $?
    ```