Auf dieser Seite wird beschrieben, wie Sie einer Sicherungsvorlage Scripts hinzufügen. Darin werden die verschiedenen Phasen beschrieben, die ein Script während eines Sicherungsjobs ausführt.
Sie können Ihre Scripts schreiben und ausführen, um eine Aktion zu Beginn, während oder nach Abschluss eines Sicherungsjobs auszuführen. Sie werden auch als Pre- und Post-Scripts bezeichnet.
Speicherort der Scripts
Während der Installation des Agents wird automatisch ein Scriptordner erstellt, in dem das zu schützende Dateisystem oder die zu schützende Datenbank ausgeführt wird. Sie müssen die Scripts in die folgenden Ordner verschieben, um sie ausführen zu können:
- Für Windows-Host:
\Program Files\Google Cloud Backup and DR\scripts
- Für Linux-Host:
/act/scripts
und das Script ausführbar machen (chmod 755 *.sh)
Scriptphasen
Scripts werden in den folgenden Phasen ausgeführt. Wenn Ihr Script nicht ausgeführt wird, prüfen Sie, ob es sich im Ordner „scripts“ befindet.
- INIT: Diese Phase beginnt, wenn die Sicherungs-/Wiederherstellungs-Appliance eine Verbindung zum Agenten herstellt. In dieser Phase wird der Job initialisiert und die Anmeldedaten werden überprüft.
- PRE: Diese Phase beginnt kurz vor dem Hauptvorgang des Jobs. Bei Snapshots beginnt diese Phase, bevor die Anwendung eingefroren wird. Bei Jobs vom Typ „mount“ geschieht dies, nachdem Geräte dem Host zugeordnet wurden, aber bevor agentbasierte Vorgänge wie erneutes Scannen, Importieren und Bereitstellen von Dateisystemen gestartet werden.
- POST: Diese Phase beginnt unmittelbar nach Abschluss des Hauptvorgangs des Jobs. Bei Jobs vom Typ „Sicherung“ geschieht dies, nachdem die Anwendung entsperrt wurde. Bei Jobs vom Typ „mount“ beginnt diese Phase, nachdem alle Import-, Bereitstellungs- oder Online-Vorgänge für Anwendungen abgeschlossen sind.
- FINAL: Diese Phase ist das Ende des Jobs. Sofern das Script keinen Code mit einem Wert ungleich null zurückgibt, der zum Abbruch des Jobs führt, ist der Job abgeschlossen.
- ABORT: In dieser Phase werden abgebrochene Jobs verarbeitet, wenn sie fehlschlagen.
Beispiel: scripts
Im folgenden Beispiel wird gezeigt, wie ein sitzungsspezifisches Script in verschiedenen Phasen des Sicherungsjobs ausgeführt wird. Es enthält fünf Scripts, die das Datum oder die Uhrzeit, den App-Namen (Dateisystem- oder Datenbankname), den Jobtyp, den Jobnamen, den Wert für die Logaufbewahrung in Tagen und einen Text ausgeben, der die Phase des gerade verarbeiteten Sicherungsjobs angibt.
```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
```
Im vorherigen Beispiel gibt ACT_JOBTYPE = logbackup
an, dass der ausgeführte Job eine Protokollsicherungsaufgabe und keine vollständige Datenbanksicherungsaufgabe ist.
Möglicherweise müssen Sie nicht alle fünf Phasen ausführen, um die gewünschte Protokollausgabe zu erhalten. Sie können nur die Phasen „init“ und „final“ verwenden, um den Beginn und das Ende des Sicherungsvorgangs anzugeben.
Sie können die Scripts auch für andere Aufgaben anpassen, z. B. zum Beenden eines Dienstes oder Ausführen anderer Befehle.
Scripts zu einer Sicherungsvorlage hinzufügen
Folgen Sie dieser Anleitung, um einer Sicherungsvorlage die Scripts hinzuzufügen.
- Klicken Sie auf Sicherungspläne und wählen Sie in der Drop-down-Liste Vorlagen aus.
- Wählen Sie eine Vorlage mit einer OnVault-Richtlinie aus. Die Seite Vorlagen wird mit der ausgewählten Sicherungsvorlage geöffnet.
- Klicken Sie auf der Seite Vorlagen im Bereich Richtlinien neben Snapshot auf + Hinzufügen.
- Klicken Sie auf Erweiterte Richtlinieneinstellungen.
Scrollen Sie zu Script Name (Scriptname) und kopieren Sie das folgende 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=abort
Klicken Sie auf Änderungen speichern.
-
Die Ausgabe wird für zwei verschiedene Datenbanken angezeigt. Einer ist ein Sicherungsjob für Protokolle und einer ist ein inkrementeller Snapshot.
$ 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
Umgebungsvariablen an eine Protokolldatei übergeben
Sie können die Umgebungsinformationen aus dem Job in das Script exportieren. Verwenden Sie dazu die Umgebungsvariablen in der folgenden Liste, die mit ACT_
beginnen.
Nicht alle Umgebungsvariablen sind für jeden Jobtyp relevant.
ACT_APPID
: die Datenbank-ID der Anwendung.ACT_APPNAME
: der Name der Anwendung.ACT_HOSTNAME
: der Name des Hosts, der das Ziel dieses Jobs ist.ACT_JOBNAME
: Der Name des Jobs.ACT_JOBTYPE
: eine Textversion der Jobklasse.ACT_LOGSMART_TYPE
: Der einzige gültige Wert ist „db“. Dieser muss vorhanden sein, damit Datenbankprotokolle erfasst werden können.ACT_OPTIONS
: die Richtlinienoptionen, die für diese Aufgabe geltenACT_PHASE
: ein Textstring, der die Jobphase beschreibt.ACT_POLICY
: der Name der Richtlinie, die mit diesem Job verknüpft ist.ACT_POLICYOPT_logbackupretention
: die Aufbewahrungsdauer für Jobs zum Sichern von Protokollen. Diese Option wird nur in Jobs für die Sicherung von Datenbankprotokollen angezeigt.ACT_PROFILE
: der Name des Profils.ACT_SCRIPT_TMOUT
: das Zeitlimit für Superscripting. Wenn die Antwort nicht innerhalb des Zeitlimits (Standardwert: 60 Sekunden) eingeht, schlägt das Script fehl.ACT_SOURCEHOST
: der Name des Hosts, der die Quelle für diese Anwendung war.ACT_TEMPLATE
: der Name der Vorlage, die mit dem Job verknüpft ist.ACT_TIMEOUT
: Die definierte Dauer des Scripts in Sekunden. Wenn das Script nicht innerhalb des Zeitlimits abgeschlossen ist, schlägt der Job fehl.ACT_VOLUMES
: Für allgemeine Anwendungen: Liste der Volumes, die für die Sicherung konfiguriert sind. Wenn Sie Hilfe bei den möglichen Umgebungsvariablen benötigen, fügen Sie Ihrem Script diese Zeile hinzu.echo printenv >> /tmp/backup_status.log