Auf dieser Seite wird beschrieben, wie Sie einem Sicherungstemplate Skripts hinzufügen. Darin werden die verschiedenen Phasen beschrieben, die ein Script während eines Sicherungsjobs durchläuft.
Sie können Ihre Skripts schreiben und ausführen, um eine Aktion zu Beginn, während oder nach Abschluss eines Sicherungsjobs auszuführen. Diese werden auch als Pre- und Post-Scripts bezeichnet.
Speicherort von Skripts
Bei der Agent-Installation wird automatisch ein Skriptordner erstellt, in dem das zu schützende Dateisystem oder die zu schützende Datenbank ausgeführt wird. Damit die Scripts ausgeführt werden können, müssen Sie sie in den folgenden Ordnern platzieren:
- Für Windows-Host:
\Program Files\Google Cloud Backup and DR\scripts - Für Linux-Host:
/act/scriptsund das Skript als ausführbar festlegen (chmod 755 *.sh)
Skriptphasen
Skripts 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 das Sicherungs-/Wiederherstellungsgerät eine Verbindung zum Agent 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“ erfolgt dies, nachdem Geräte dem Host zugeordnet wurden, aber bevor agentbasierte Vorgänge wie „rescan“, „import“ und das Bereitstellen von Dateisystemen gestartet werden.
- POST: Diese Phase beginnt unmittelbar nach Abschluss des Hauptvorgangs des Jobs. Bei Jobs vom Sicherungstyp erfolgt dies nach dem Entfrosten der Anwendung. Bei Jobs vom Typ „Bereitstellen“ beginnt diese Phase, nachdem alle Import-, Bereitstellungs- oder Onlinebereitstellungsvorgänge abgeschlossen sind.
- FINAL: Diese Phase ist das Ende des Jobs. Sofern das Skript keinen Code ungleich null zurückgibt, der dazu führt, dass der Job fehlschlägt, ist der Job abgeschlossen.
- ABORT: In dieser Phase werden abgebrochene Jobs verarbeitet, wenn sie fehlschlagen.
Beispiel: scripts
Im folgenden Beispiel wird gezeigt, wie ein Host-seitiges Skript in verschiedenen Phasen des Sicherungsjobprozesses ausgeführt wird. Sie enthält fünf Skripts, die das Datum oder die Uhrzeit, den App-Namen (Dateisystem- oder Datenbankname), den Jobtyp, den Jobnamen, den Wert für die Protokollaufbewahrung in Tagen und Text zur Angabe der Phase des Sicherungsjobs ausgeben, die gerade verarbeitet wird.
```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 ein Log-Back-up-Vorgang und kein vollständiger Datenbank-Back-up-Vorgang ist.
Möglicherweise müssen Sie nicht alle fünf Phasen durchlaufen, um die gewünschte Logausgabe 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 anpassen, um andere Aufgaben auszuführen, z. B. einen Dienst zu beenden oder andere Befehle auszuführen.
Einer Sicherungsvorlage Skripts hinzufügen
Folgen Sie der Anleitung unten, um die Scripts einer Sicherungsvorlage hinzuzufügen.
- Klicken Sie auf Sicherungspläne und wählen Sie in der Drop-down-Liste Vorlagen aus.
- Wählen Sie eine Vorlage aus, die eine OnVault-Richtlinie enthält. 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=abortKlicken Sie auf Änderungen speichern.
-
Die Ausgabe wird für zwei verschiedene Datenbanken angezeigt. Einer ist ein Log-Sicherungsjob und einer 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 in eine Logdatei ü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 anwendbar.
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 einzig gültige Wert ist „db“. Diese muss vorhanden sein, damit Datenbankprotokolle erfasst werden.ACT_OPTIONS: die Richtlinienoptionen, die für diesen Job gelten.ACT_PHASE: ein Textstring, der die Jobphase beschreibt.ACT_POLICY: der Name der Richtlinie, die sich auf diesen Job bezieht.ACT_POLICYOPT_logbackupretention: die Anzahl der Tage, die Log-Sicherungsjobs beibehalten werden. Dies wird nur in Sicherungsjobs für Datenbanklogs angezeigt.ACT_PROFILE: Der Name des Profils.ACT_SCRIPT_TMOUT: Das Zeitlimit für die Hochstellung. Wenn die Antwort nicht innerhalb des Zeitlimitwerts (Standard: 60 Sekunden) eingeht, schlägt das Skript 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 Skripts in Sekunden. Wenn das Skript nicht innerhalb des Zeitlimits abgeschlossen wird, schlägt der Job fehl.ACT_VOLUMES: Für allgemeine Anwendungen die Liste der Volumes, die für die Sicherung konfiguriert sind. Wenn Sie Hilfe bei den möglichen Umgebungsvariablen benötigen, die Sie verwenden können, fügen Sie diese Zeile in Ihr Skript ein.echo printenv >> /tmp/backup_status.log