Questa pagina spiega come aggiungere script a un modello di backup. Descrive le diverse fasi che uno script esegue durante un job di backup.
Puoi scrivere i tuoi script ed eseguirli per eseguire un'azione all'inizio di un job di backup, durante o al termine. Questi sono chiamati anche script pre e post.
Posizione degli script
Durante l'installazione dell'agente viene creata automaticamente una cartella di script in cui è in esecuzione il file system o il database che deve essere protetto. Per eseguire gli script, devi inserirli nelle seguenti cartelle:
- Per l'host Windows:
\Program Files\Google Cloud Backup and DR\scripts - Per l'host Linux:
/act/scriptse imposta lo script su eseguibile (chmod 755 *.sh)
Fasi dello script
Gli script vengono eseguiti nelle seguenti fasi. Se lo script non viene eseguito, controlla che si trovi nella cartella degli script.
- INIT: questa fase inizia quando l'appliance di backup/recupero si connette all'agente. In questa fase, il job viene inizializzato e le credenziali vengono verificate.
- PRE: questa fase inizia poco prima dell'operazione principale del job. Per gli snapshot, questa fase inizia prima che l'applicazione venga bloccata. Per i job di tipo mount, questo avviene dopo la mappatura dei dispositivi all'host, ma prima dell'avvio di operazioni basate su agenti come la nuova scansione, l'importazione e il montaggio dei file system.
- POST: questa fase inizia immediatamente dopo il completamento dell'operazione principale del job. Per i job di tipo backup, questo avviene dopo che l'applicazione è stata scongelata. Per i job di tipo mount, questa fase inizia dopo il completamento di tutte le operazioni di importazione, montaggio o attivazione delle applicazioni.
- FINAL: questa fase è la fine del job. A meno che lo script non restituisca un codice diverso da zero che causa l'errore del job, il job viene completato.
- ABORT: questa fase gestisce i job interrotti quando non vanno a buon fine.
Esempio: script
Il seguente esempio mostra come eseguire uno script lato host in varie fasi del processo del job di backup. Contiene cinque script che restituiscono la data o l'ora, il nome dell'app (nome del file system o del database), il tipo di prestazione, il nome del job, il valore di conservazione dei log in giorni e il testo per indicare la fase di elaborazione del job di backup.
```sh
$ cat /act/scripts/init.sh
#!/bin/sh
if [ "${ACT_JOBTYPE}" = "logbackup" ]; then
echo `date` "${ACT_JOBNAME}_${ACT_APPNAME}_ARCHIVELOG_BACKUP JobPhase:INIT" >> /tmp/backup_status.log
else
echo `date` "${ACT_JOBNAME}_${ACT_APPNAME}_INCREMENTAL_BACKUP JobPhase:INIT" >> /tmp/backup_status.log
fi
$ cat /act/scripts/pre.sh
#!/bin/sh
if [ "${ACT_JOBTYPE}" = "logbackup" ]; then
echo `date` "${ACT_JOBNAME}_${ACT_APPNAME}_ARCHIVELOG_BACKUP JobPhase:PRE" >> /tmp/backup_status.log
else
echo `date` "${ACT_JOBNAME}_${ACT_APPNAME}_INCREMENTAL_BACKUP JobPhase:PRE" >> /tmp/backup_status.log
fi
$ cat /act/scripts/post.sh
#!/bin/sh
if [ "${ACT_JOBTYPE}" = "logbackup" ]; then
echo `date` "${ACT_JOBNAME}_${ACT_APPNAME}_ARCHIVELOG_BACKUP JobPhase:POST" >> /tmp/backup_status.log
else
echo `date` "${ACT_JOBNAME}_${ACT_APPNAME}_INCREMENTAL_BACKUP JobPhase:POST" >> /tmp/backup_status.log
fi
$ cat /act/scripts/fini.sh
#!/bin/sh
if [ "${ACT_JOBTYPE}" = "logbackup" ]; then
echo `date` "${ACT_JOBNAME}_${ACT_APPNAME}_ARCHIVELOG_BACKUP JobPhase:FINAL" >> /tmp/backup_status.log
else
echo `date` "${ACT_JOBNAME}_${ACT_APPNAME}_INCREMENTAL_BACKUP JobPhase:FINAL" >> /tmp/backup_status.log
fi
$ cat /act/scripts/abort.sh
#!/bin/sh
if [ "${ACT_JOBTYPE}" = "logbackup" ]; then
echo `date` "${ACT_JOBNAME}_${ACT_APPNAME}_ARCHIVELOG_BACKUP JobPhase:ABORT" >> /tmp/backup_status.log
else
echo `date` "${ACT_JOBNAME}_${ACT_APPNAME}_INCREMENTAL_BACKUP JobPhase:ABORT" >> /tmp/backup_status.log
fi
```
Nell'esempio precedente, ACT_JOBTYPE = logbackup indica che il job in esecuzione
è un'attività di backup dei log, anziché un'attività di backup completo del database.
Potresti non dover eseguire tutte e cinque le fasi per ottenere l'output dei log che hai scelto. Puoi utilizzare solo le fasi init e final per indicare l'inizio e la fine del processo di backup.
Puoi anche personalizzare gli script per eseguire altre attività, ad esempio interrompere un servizio o eseguire altri comandi.
Aggiungere script a un modello di backup
Segui queste istruzioni per aggiungere gli script a un modello di backup.
- Fai clic su Piani di backup e seleziona Modelli dall'elenco a discesa.
- Seleziona un modello che includa una policy OnVault. Si apre la pagina Modelli con il template di backup selezionato.
- Nell'area Policy della pagina Modelli, fai clic su +Aggiungi accanto a Snapshot.
- Fai clic su Impostazioni avanzate dei criteri.
Scorri fino a Nome script, poi copia e incolla il seguente script:
path=init.sh:phase=init;path=pre.sh:phase=pre;path=post.sh:phase=post;path=fini.sh:phase=final:timeout=300;path=abort.sh:phase=abortFai clic su Salva modifiche.
-
L'output viene visualizzato per due database diversi. Uno è un job di backup dei log e l'altro è uno snapshot incrementale.
$ cat /tmp/backup_status.log Wed Nov 22 06:11:49 UTC 2023 Job_0275501_ORCLCDB_ARCHIVELOG_BACKUP JobPhase:INIT Wed Nov 22 06:13:52 UTC 2023 Job_0275501_ORCLCDB_ARCHIVELOG_BACKUP JobPhase:PRE Wed Nov 22 06:15:01 UTC 2023 Job_0275501_ORCLCDB_ARCHIVELOG_BACKUP JobPhase:POST Wed Nov 22 06:15:01 UTC 2023 Job_0275501_ORCLCDB_ARCHIVELOG_BACKUP JobPhase:FINAL Wed Nov 22 06:18:00 UTC 2023 Job_0275637_SMALL_INCREMENTAL_BACKUP JobPhase:INIT Wed Nov 22 06:20:15 UTC 2023 Job_0275637_SMALL_INCREMENTAL_BACKUP JobPhase:PRE Wed Nov 22 06:22:06 UTC 2023 Job_0275637_SMALL_INCREMENTAL_BACKUP JobPhase:POST Wed Nov 22 06:22:06 UTC 2023 Job_0275637_SMALL_INCREMENTAL_BACKUP JobPhase:FINAL
Passaggio di variabili di ambiente in un file di log
Puoi esportare le informazioni sull'ambiente dal job allo script utilizzando le variabili di ambiente nell'elenco seguente con il prefisso ACT_.
Non tutte le variabili di ambiente saranno applicabili a ogni tipo di prestazione.
ACT_APPID: l'ID database dell'applicazione.ACT_APPNAME: il nome dell'applicazione.ACT_HOSTNAME: il nome dell'host di destinazione di questo job.ACT_JOBNAME: il nome del job.ACT_JOBTYPE: una versione di testo della classe di lavoro.ACT_LOGSMART_TYPE: l'unico valore valido è "db". Deve essere presente per acquisire i log del database.ACT_OPTIONS: le opzioni delle norme che si applicano a questo lavoroACT_PHASE: una stringa di testo che descrive la fase del job.ACT_POLICY: il nome della policy correlata a questo job.ACT_POLICYOPT_logbackupretention: il numero di giorni di conservazione per i job di backup dei log. Viene visualizzato solo nei job di backup dei log del database.ACT_PROFILE: il nome del profilo.ACT_SCRIPT_TMOUT: il timeout di sovrascrittura. Se la risposta non viene ricevuta entro il valore di timeout (60 secondi per impostazione predefinita), lo script non andrà a buon fine.ACT_SOURCEHOST: il nome dell'host che è stato l'origine di questa applicazione.ACT_TEMPLATE: il nome del modello correlato al job.ACT_TIMEOUT: la durata definita dello script, in secondi. Se lo script non viene completato entro il periodo di timeout, il job non andrà a buon fine.ACT_VOLUMES: per le applicazioni generiche, l'elenco dei volumi configurati per il backup. Se hai bisogno di aiuto per scoprire le variabili di ambiente che puoi utilizzare, aggiungi questa riga allo script.echo printenv >> /tmp/backup_status.log