Lorsque vous définissez un workflow Backup and DR LiveClone qui effectue un nettoyage préalable, 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 script préliminaire si nécessaire. Le script préliminaire permet de configurer l'environnement avant le montage ou le démontage de l'application. Ce script doit résider dans un dossier nommé
/act/scriptssur le serveur qui héberge la sauvegarde montée. - Dans le champ Timeout in Seconds (Délai d'attente en secondes) correspondant, spécifiez le temps nécessaire à l'exécution du script.
- Spécifiez un script consécutif si nécessaire. Le script consécutif permet d'effectuer une opération sur les données une fois qu'elles sont montées ou démontées. Ce script doit résider dans un dossier nommé
/act/scriptssur le serveur qui héberge la sauvegarde montée. - Dans le champ Timeout in Seconds (Délai d'attente en secondes) correspondant, spécifiez le temps nécessaire à l'exécution du script.
Scripts préliminaires et consécutifs pour les workflows Backup and DR
Les workflows Backup and DR montent et démontent les sauvegardes selon une planification ou à la demande. Dans un workflow Backup and DR, vous pouvez appeler les éléments suivants :
- Un script préliminaire qui s'exécute avant le montage ou le démontage d'une sauvegarde
- Un script consécutif qui s'exécute après le montage ou le démontage d'une sauvegarde
La possibilité d'exécuter un script avant et après le montage ou le démontage des données vous permet d'effectuer les opérations suivantes :
- Nettoyer les informations sensibles
- Générer des rapports
- Entreposer des données, en particulier pour les opérations d'extraction, de transformation et de chargement (ETL)
Les scripts doivent résider dans un dossier nommé /act/scripts sur le serveur qui héberge la sauvegarde du workflow Backup and DR monté.
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 de montage peut se présenter comme suit :
[$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 cible de ce job, par exemple Jupiter.
- SOURCEHOST : nom de l'hôte 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 : durée du script, temps pendant lequel 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 de montage ou de démontage.
- ACT_PHASE : indique si la phase est préliminaire ou consécutive.
ACT_MULTI_END : utilisé uniquement si une base de données et son journal sont montés. Lorsque cette 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 $? ```