Avamar: Avtar kończy się niepowodzeniem, gdy skrypt uruchamiany przy uruchamianiu zwraca niezerowy kod zakończenia
Summary: Tworzenie kopii zapasowych kończy się niepowodzeniem, gdy używany jest zdefiniowany przez użytkownika skrypt uruchamiania, ponieważ skrypt zwraca kod zakończenia 1; avtar traktuje każdy niezerowy kod jako błąd (np. "avtar Info: Powrót z biegu przy starcie, kod zakończenia 1"). Popraw skrypt, aby zakończyć 0 w celu rozwiązania problemu. ...
Symptoms
Błędy tworzenia kopii zapasowych podczas korzystania ze skryptu uruchamiania przy starcie
Tworzenie kopii zapasowych nie jest kończone, gdy dla avtar skonfigurowano niestandardowy skrypt uruchamiania przy uruchomieniu.
- Dzienniki Avtar wskazują, że został zwrócony ze skryptu run-at-start z niezerowym kodem zakończenia.
- Zadania tworzenia kopii zapasowych są oznaczone jako zakończone niepowodzeniem.
- Wyłączenie skryptu uruchamiania przy starcie umożliwia pomyślne tworzenie kopii zapasowej.
avtar Info : Back from run-at-start, exit code 1 avtar Error : Exiting avtar with run-at-start script failure 1
Cause
Nieprawidłowy kod zakończenia skryptu uruchamiania przy starcie
Tworzenie kopii zapasowej kończy się niepowodzeniem, ponieważ niestandardowy skrypt uruchamiania przy uruchamianiu zwraca kod zakończenia inny niż 0 . W środowiskach Linux/UNIX 0 to jedyna wartość wskazująca na sukces. Avtar interpretuje każdą wartość niezerową jako błąd skryptu, powodując przerwanie procesu tworzenia kopii zapasowej.
- Skrypt zwrócił kod zakończenia
1któryavtarZostało zarejestrowane jako błąd. - Avamar traktuje ten niezerowy kod zakończenia jako błąd i zatrzymuje operację tworzenia kopii zapasowej.
Odpowiedni wpis dziennika:
avtar Info : Back from run-at-start, exit code 1 avtar Error : Exiting avtar with run-at-start script failure 1
Resolution
Poprawianie błędów skryptu uruchamiania avtar
Rozwiązywanie problemów krok po kroku
Gdy niestandardowy skrypt uruchamiany przy starcie zwraca niezerowy kod zakończenia, avtar traktuje kopię zapasową jako nieudaną. Wykonaj następujące kroki, aby upewnić się, że skrypt zwróci 0 na sukcesie.
- Znajdź skrypt skonfigurowany dla fazy uruchamiania avtar (na przykład
/opt/avamar/etc/run_at_start.d/custom_script.sh). - Otwórz skrypt w edytorze i sprawdź logikę, która decyduje o powodzeniu lub niepowodzeniu.
- Na końcu skryptu dodaj lub zmodyfikuj instrukcję exit tak, aby pomyślne wykonanie zakończyło się na
exit 0. - Upewnij się, że wszystkie ścieżki błędów używają odpowiednich niezerowych kodów tylko wtedy, gdy wystąpi prawdziwa awaria.
- Zapisz zmiany i ustaw uprawnienia do pliku wykonywalnego, jeśli jeszcze nie zostały ustawione.
Przykład poprawnego zakończenia skryptu:
#!/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
Zweryfikuj skrypt lokalnie
Uruchom skrypt ręcznie i potwierdź, że kończy się za pomocą polecenia 0 .
$ /opt/avamar/etc/run_at_start.d/custom_script.sh Custom script completed successfully $ echo $? 0
Uruchom ponownie avtar i wyzwól tworzenie kopii zapasowej.
Po potwierdzeniu skrypt zwraca 0, uruchom ponownie usługę avtar i uruchom zadanie tworzenia kopii zapasowej, aby zweryfikować normalne działanie.
# Restart avtar service $ systemctl restart avtar # Initiate a test backup (replace and as needed) $ avtar -c -p -b
Potwierdź rozdzielczość.
Sprawdź, czy w dzienniku avtar nie ma komunikatu o błędzie "Exiting avtar with run‑at‑start script failure 1." Pomyślny wpis dziennika wygląda następująco:
[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