Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Quando definisci un flusso di lavoro di backup e DR LiveClone che esegue il pre-scrubbing, puoi scegliere tra il mascheramento dei dati della privacy di Optim o script personalizzati.
Per gli script personalizzati, specifica almeno uno script di pre- o post-elaborazione.
Specifica un pre-script, se necessario. Lo script pre viene utilizzato per configurare l'ambiente prima di montare o smontare l'applicazione. Questo script deve trovarsi in una cartella denominata /act/scripts sul server che ospita l'immagine montata.
In Timeout in secondi, specifica il tempo necessario per il completamento dello script.
Specifica un post-script, se necessario. Il post-script utilizzato per eseguire un'operazione sui dati dopo il montaggio o lo smontaggio. Questo script deve trovarsi in una cartella denominata /act/scripts sul server che ospita l'immagine montata.
In Timeout in secondi, specifica il tempo necessario per il completamento dello script.
Script pre e post del flusso di lavoro di Backup e DR
I workflow di backup e RE montano e smontano le immagini di backup in base a una pianificazione o su richiesta. In un flusso di lavoro di Backup e DR puoi chiamare quanto segue:
Uno script precedente che viene eseguito prima del montaggio o dello smontaggio di un'immagine
Un post-script che viene eseguito dopo il montaggio o lo smontaggio di un'immagine
La possibilità di eseguire uno script prima e dopo il montaggio o lo smontaggio dei dati ti consente di:
Controllo per informazioni sensibili
Generare report
Dati del data warehouse, in particolare per le operazioni di estrazione, trasformazione e caricamento (ETL)
Gli script devono trovarsi in una cartella denominata /act/scripts sul server che ospita l'immagine del workflow di backup e DR montata.
Variabili di ambiente
Le variabili di ambiente ti consentono di richiamare comandi che si applicano a job, tipi di job o applicazioni specifici. Le variabili di ambiente sono precedute dal prefisso ACT_. Ad esempio, una variabile di ambiente per un database potrebbe avere il seguente aspetto:
[$ACT_APPNAME =="productiondb"]
oppure una variabile di ambiente per un'operazione di montaggio potrebbe avere il seguente aspetto:
[$ACT_JOBTYPE == "mount"]
Di seguito è riportato un elenco di variabili di ambiente comuni con valori di esempio:
JOBNAME: il nome del job, ad esempio Job_0123456.
APPID: l'ID dell'applicazione, ad esempio 4186.
APPNAME: il nome dell'applicazione, ad esempio My-DB.
HOSTNAME: il nome dell'host di destinazione di questo job, ad esempio Giove.
SOURCEHOST: il nome dell'host che è stato l'origine di questa applicazione, ad esempio Saturn.
JOBTYPE: una versione in testo della classe di job, ad esempio mount o unmount.
PHASE: una stringa di testo che descrive la fase del job, ad esempio pre o post.
TIMEOUT: definisci la durata dello script, ovvero il tempo per cui è consentito l'esecuzione dello script.
OPTIONS: le opzioni di criteri che si applicano a questo job.
Script di esempio
L'esempio di script seguente utilizza tre variabili di ambiente:
ACT_JOBTYPE: identifica se il job è un'operazione di montaggio o smontaggio.
ACT_PHASE: indica se la fase è pre o post.
ACT_MULTI_END: utilizzato solo se sono montati sia un database sia il relativo log. In questo caso, il database è in uno stato in cui è possibile accedervi.
```sh#!/bin/shset+xecho"*** Running user script: Job - $ACT_JOBNAME Type - $ACT_JOBTYPE Phase - $ACT_PHASE***"#Usethefirstifclausetoperformapplicationspecificoperationsduringmountandinthisexamplescrub-mountoperation.#Usethesecondifclausetoperformanyapplicationspecificoperationduringunmountandinthisexample,#scrub-unmountoperation.#if [[ $ACT_JOBTYPE == "mount" ]] || [[ $ACT_JOBTYPE == "scrub-mount" ]]; thenif[[$ACT_JOBTYPE=="unmount"]]||[[$ACT_JOBTYPE=="scrub-unmount"]];thenecho"NO-OP for job type $ACT_JOBTYPE"exit0fi#Usethefirstifclausetoperformapplicationspecificoperationsduringtheprephase.#Usethesecondifclausetoperformapplicationspecificoperationsduringthepostphase.#if [[ $ACT_PHASE == "post" ]]; thenif[[$ACT_PHASE=="pre"]];thenecho"NO-OP for phase $ACT_PHASE"exit0fi#Formulti-phasejobs(databaseandlogs)checkifthedatabasehasbeenmountedandthelogsappliedthen#skiplogs.#Iftheoperationneedstobeperformedinphasesotherthanthelastphase,modifytheclause.if[[-z"$ACT_MULTI_END"]] && [[$ACT_MULTI_END!="true"]];thenecho"NO-OP for multi-phase operation"exit0ficd/act/scriptsecho"**** Running application specific logic: Job - $ACT_JOBNAME Type - $ACT_JOBTYPE Phase - $ACT_PHASE *"Anyapplicationspecificcommandswillgohereecho"** Finished running application specific logic : Job - $ACT_JOBNAME Type - $ACT_JOBTYPE Phase - $ACT_PHASE*"exit$?```
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Difficile da capire","hardToUnderstand","thumb-down"],["Informazioni o codice di esempio errati","incorrectInformationOrSampleCode","thumb-down"],["Mancano le informazioni o gli esempi di cui ho bisogno","missingTheInformationSamplesINeed","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-09-04 UTC."],[[["\u003cp\u003eLiveClone Backup and DR Workflows can utilize pre- and post-processing scripts to run operations before or after mounting/unmounting backup images, such as data scrubbing, generating reports, or warehousing data.\u003c/p\u003e\n"],["\u003cp\u003ePre- and post-scripts must be stored in the \u003ccode\u003e/act/scripts\u003c/code\u003e directory on the server hosting the mounted image, and a timeout duration must be specified for each script to complete its execution.\u003c/p\u003e\n"],["\u003cp\u003eEnvironment variables prefixed with \u003ccode\u003eACT_\u003c/code\u003e, such as \u003ccode\u003eACT_JOBTYPE\u003c/code\u003e, \u003ccode\u003eACT_PHASE\u003c/code\u003e, and \u003ccode\u003eACT_APPNAME\u003c/code\u003e, can be used within scripts to tailor operations to specific jobs, phases, or applications.\u003c/p\u003e\n"],["\u003cp\u003eFor workflows involving both a database and its logs, the pre- and post-script operations should be configured to avoid being applied to the database's logs, which can be achieved using the \u003ccode\u003eACT_MULTI_END\u003c/code\u003e variable in the script.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eTIMEOUT\u003c/code\u003e variable is used to define the duration of the script, in other words, the amount of time the script is allowed to run.\u003c/p\u003e\n"]]],[],null,["# Custom scripts\n\nWhen defining a LiveClone Backup and DR Workflow that performs pre-scrubbing you can\nselect from Optim privacy data masking or custom scripts.\n\nFor custom scripts, specify at least one pre- or post-processing script.\n\n- Specify a pre-script as needed. The pre-script is used to configure the environment prior to mounting or unmounting the application. This script must reside in a folder named `/act/scripts` on the server that hosts the mounted image.\n- In the corresponding **Timeout in Seconds**, specify the time that is needed for the script to complete.\n- Specify a post-script as needed. The post-script used to perform an operation on the data after it is mounted or unmounted. This script must reside in a folder named `/act/scripts` on the server that hosts the mounted image.\n- In the corresponding **Timeout in Seconds**, specify the time that is needed for the script to complete.\n\nBackup and DR Workflow Pre and Post Scripts\n-------------------------------------------\n\nBackup and DR Workflows mount and unmount backup images according to a schedule\nor on-demand. In a Backup and DR Workflow you can call the following:\n\n- A pre-script that runs before an image is mounted or unmounted\n- A post-script that runs after an image is mounted or unmounted\n\nThe ability to run a script before and after data is mounted or\nunmounted lets you do the following:\n\n- Scrub for sensitive information\n- Generate reports\n- Warehouse data, especially for extract, transform, and load---ETL--- operations\n\nScripts must reside in a folder named `/act/scripts` on the server\nthat hosts the mounted Backup and DR Workflow image.\n| **Note:** For Backup and DR Workflows that involve both a database and its logs, you must configure scripts in such as way that pre- and post-script operations are not applied to the database's logs. See *Example Script* for a script example that contains a command that skips a database's log.\n\n### Environment variables\n\nEnvironment variables allow you to invoke commands that apply to specific jobs,\njob types, or applications. Environment variables are prefixed with `ACT_`. For\nexample, an environment variable for a database could look like: \n\n [$ACT_APPNAME ==\"productiondb\"]\n\nor an environment variable for a mount operation could look like: \n\n [$ACT_JOBTYPE == \"mount\"]\n\nThe following is a list of common environment variables with sample values:\n\n- **JOBNAME**: The name of the job---for example, Job_0123456.\n- **APPID**: The ID of the application---for example, 4186.\n- **APPNAME**: Name of the application---for example, My-DB.\n- **HOSTNAME**: The name of the host which is the target of this job---for example, Jupiter.\n- **SOURCEHOST**: The name of the host that was the source for this application---for example, Saturn.\n- **JOBTYPE**: A text version of the job class---for example, mount or unmount.\n- **PHASE**: A text string that describes the job phase---for example, pre or post.\n- **TIMEOUT**: Define the duration of the script, how long the script is allowed to run.\n- **OPTIONS**: Policy options that apply to this job.\n\n### Example script\n\nThe following script example uses three environment variables:\n\n- **ACT_JOBTYPE**: Identifies whether the job is a mount or unmount operation.\n- **ACT_PHASE**: Identifies whether the phase is either pre or post.\n- **ACT_MULTI_END**: Used only if both a database and its\n log are mounted. When this is true, the database is in a state where it\n can be accessed.\n\n **Note:** The following example script is not meant to be used in a production environment, has not been tested, and is not warranted by Backup and DR Service. \n\n ```sh\n #!/bin/sh\n set +x\n echo \"*** Running user script: Job - $ACT_JOBNAME Type - $ACT_JOBTYPE Phase - $ACT_PHASE***\"\n\n #Use the first if clause to perform application specific operations during mount and in this example scrub-mount operation.\n\n #Use the second if clause to perform any application specific operation during unmount and in this example, #scrub-unmount operation.\n\n #if [[ $ACT_JOBTYPE == \"mount\" ]] || [[ $ACT_JOBTYPE == \"scrub-mount\" ]]; then\n if [[ $ACT_JOBTYPE == \"unmount\" ]] || [[ $ACT_JOBTYPE == \"scrub-unmount\" ]]; then\n echo \"NO-OP for job type $ACT_JOBTYPE\"\n exit 0\n fi\n\n #Use the first if clause to perform application specific operations during the pre phase.\n\n #Use the second if clause to perform application specific operations during the post phase.\n\n #if [[ $ACT_PHASE == \"post\" ]]; then\n if [[ $ACT_PHASE == \"pre\" ]]; then\n echo \"NO-OP for phase $ACT_PHASE\"\n exit 0\n fi\n\n #For multi-phase jobs (database and logs) check if the database has been mounted and the logs applied then #skip logs.\n\n #If the operation needs to be performed in phases other than the last phase, modify the clause.\n\n if [[ -z \"$ACT_MULTI_END\" ]] && [[ $ACT_MULTI_END != \"true\" ]]; then\n echo \"NO-OP for multi-phase operation\"\n exit 0\n fi\n\n cd /act/scripts\n\n echo \"**** Running application specific logic: Job - $ACT_JOBNAME Type - $ACT_JOBTYPE Phase - $ACT_PHASE *\"\n\n Any application specific commands will go here\n\n echo \"** Finished running application specific logic : Job - $ACT_JOBNAME Type - $ACT_JOBTYPE Phase - $ACT_PHASE*\"\n exit $?\n ```"]]