Avamar: Avtar schlägt fehl, wenn das Run-at-Start-Skript einen Beendigungscode ungleich Null zurückgibt
Summary: Backups schlagen fehl, wenn ein nutzerdefiniertes Skript zum Ausführen beim Start verwendet wird, da das Skript den Beendigungscode 1 zurückgibt. avtar behandelt jeden Code ungleich Null als Fehler (z. B. "avtar Info: Zurück von Run-at-Start, Exitcode 1"). Korrigieren Sie das Skript, um 0 zu beenden, um das Problem zu beheben. ...
Symptoms
Backupfehler bei Verwendung eines Skripts zum Ausführen beim Start
Backups werden nicht abgeschlossen, wenn für avtar ein nutzerdefiniertes "Ausführen beim Start"-Skript konfiguriert ist.
- Avtar-Protokolle weisen darauf hin, dass sie vom Skript zum Ausführen beim Start mit einem Exitcode ungleich Null zurückgegeben wurde.
- Backupjobs werden als fehlgeschlagen markiert.
- Durch Deaktivieren des Skripts zum Ausführen kann das Backup erfolgreich ausgeführt werden.
avtar Info : Back from run-at-start, exit code 1 avtar Error : Exiting avtar with run-at-start script failure 1
Cause
Unsachgemäßer Exitcode aus dem "Ausführen beim Start"-Skript
Das Backup schlägt fehl, da das nutzerdefinierte Skript zum Ausführen beim Start einen anderen Beendigungscode zurückgibt als 0 . In Linux/UNIX-Umgebungen 0 ist der einzige Wert, der auf Erfolg hinweist. Avtar interpretiert jeden Wert ungleich Null als Skriptfehler, was dazu führt, dass der Backupprozess abgebrochen wird.
- Das Skript hat einen Beendigungscode zurückgegeben
1welcheavtarAls Fehler protokolliert. - Avamar behandelt diesen Beendigungscode ungleich Null als Fehler und stoppt den Backupvorgang.
Relevanter Protokolleintrag:
avtar Info : Back from run-at-start, exit code 1 avtar Error : Exiting avtar with run-at-start script failure 1
Resolution
Korrigieren von Fehlern beim Ausführen beim Start von avtar
Schritt-für-Schritt-Lösung
Wenn ein nutzerdefiniertes Skript zum Ausführen beim Start einen Beendigungscode ungleich Null zurückgibt, behandelt avtar das Backup als fehlgeschlagen. Führen Sie die folgenden Schritte aus, um sicherzustellen, dass das Skript zurückgegeben wird 0 auf Erfolg.
- Suchen Sie das Skript, das für die Phase avtar "Ausführen beim Start" konfiguriert ist (z. B.
/opt/avamar/etc/run_at_start.d/custom_script.sh). - Öffnen Sie das Skript in einem Editor und überprüfen Sie die Logik, die über Erfolg oder Misserfolg entscheidet.
- Fügen Sie am Ende des Skripts die exit-Anweisung hinzu oder ändern Sie sie, sodass eine erfolgreiche Ausführung mit endet
exit 0. - Stellen Sie sicher, dass alle Fehlerpfade nur dann geeignete Codes ungleich Null verwenden, wenn ein echter Fehler auftritt.
- Speichern Sie die Änderungen und legen Sie die ausführbaren Berechtigungen fest, falls sie noch nicht festgelegt wurden.
Beispiel für eine ordnungsgemäße Skriptbeendigung:
#!/bin/bash
# Your custom logic here
if [ $? -eq 0 ]; then
echo "Custom script completed successfully"
exit 0
else
echo "Custom script encountered an error"
exit 1
fi
Lokale Validierung des Skripts
Führen Sie das Skript manuell aus und bestätigen Sie, dass es mit 0 .
$ /opt/avamar/etc/run_at_start.d/custom_script.sh Custom script completed successfully $ echo $? 0
Starten Sie avtar neu und lösen Sie ein Backup aus.
Nach der Bestätigung kehrt das Skript zurück 0, starten Sie den Avtar-Service neu und starten Sie einen Backupjob, um den Normalbetrieb zu überprüfen.
# Restart avtar service $ systemctl restart avtar # Initiate a test backup (replace and as needed) $ avtar -c -p -b
Bestätigen Sie die Lösung.
Überprüfen Sie das avtar-Protokoll auf das Fehlen der Fehlermeldung "Exiting avtar with run‑at‑start script failure 1." Ein erfolgreicher Protokolleintrag ähnelt folgendem:
[2025-10-09 12:34:56] INFO avtar Info : Back from run-at-start, exit code 0 [2025-10-09 12:35:10] INFO Backup completed successfully