Co nowego w 6.0 - Incomplete Jobs

W ramach kontynuacji opisu nowości jakie pojawiły się wraz z wydaniem nowej wersji Bacula Enterprise Edition 6.0, przedstawiam nową fukcjonalność wbudowaną w samo oprogramowanie Bacula a nie jako Plugin. Tą funkcjonalnością są zadania niekompletne (Incomplete Jobs) wraz z możliwością ich wznawiania czy stopowania.

Zadanie niekompletne - Incomplete Jobs

Bardzo często podczas wykonywania kopii zapasowych napotykamy na sytuację podczas której chwilowe problemy z komunikacją sieciową czy zwyczajnie restart klienta powoduje że całe zadanie backupowe oznaczane jest jako błędne - Error. Z formalnego punktu widzenia tak właśnie jest - wykonywaliśmy zadanie które nie zakończyło sie poprawnie. Oczywiście nasza kopia zapasowa nie zawiera wszystkich wymaganych plików, jednak często jej wykonanie do momentu przerwania zajęło sporo czasu, często także sporo przestrzeni backupowej. Przestrzeń ta w przypadku backupów na taśmy zazwyczaj nie jest w prosty sposób do odzyskania i do czasu retencji danych jest zwyczajnie stracona. Jednak dane te zostały fizycznie zbackupowane i są, dlaczego więc  z nich jednak nie skorzystać. Tak pojawia się nowy status zakończenia wykonywania zadań backupowych oznaczający - Zadania niekompletne. Podstawową zaletą takich zadań jest to, że mogą być wznowione od momentu w którym się zakończyły z błędem zamiast od początku.

Nowe komendy - Stop i Restart

Wraz z pojawieniem się nowego statusu zakończenia wykonywania zadań pojawiły się dwie nowe komendy dostępne w konsoli zarządzającej. Są to: stop oraz restart. Komenda stop jest bardzo podobna do aktualnie dostępnej komendy cancel z tą różnicą, że zadanie zastopowane jest oznaczane jako niekompletne (Incomplete) zamiast anulowane (Cancelled). Dzięki temu zadanie takie możemy ponownie uruchomić (wznowić) za pomocą komendy restart. Komenda stop bez podania argumentów, podobnie jak komenda cancel wyświetli listę uruchomionych zadań i pozwoli na wybranie zadania do zastopowania, jak poniżej:

* stop
Select Job:
     1: JobId=3 Job=Incremental.2012-03-26_12.04.26_07
     2: JobId=4 Job=Incremental.2012-03-26_12.04.30_08
     3: JobId=5 Job=Incremental.2012-03-26_12.04.36_09
Choose Job to stop (1-3): 2
2001 Job "Incremental.2012-03-26_12.04.30_08" marked to be stopped.
3000 JobId=4 Job="Incremental.2012-03-26_12.04.30_08" marked to be stopped.

Natomiast nowa komenda restart pozwala administratorowi na zrestartowanie (wznowienie) zatrzymanych, anulowanych lub błędnych zadań. W przypadku zadań anulowanych lub błędnych zrestartowane zadania rozpoczną się od początku. Natomiast zadania niekompletne wznowione zostaną od momentu w którym zostały przerwane lub zatrzymane.

Wykonanie komendy w konsoli bez argumentów skutkuje poniższym dialogiem:

*restart
You have the following choices:
     1: Incomplete
     2: Canceled
     3: Failed
     4: All
Select termination code:  (1-4):

Jeśli wybrana zostanie opcja All otrzymamy listę zadań które możemy wznowić:

Select termination code:  (1-4): 4
+-------+-------------+---------------------+------+-------+----------+-----------+-----------+
| jobid | name        | starttime           | type | level | jobfiles | jobbytes  | jobstatus |
+-------+-------------+---------------------+------+-------+----------+-----------+-----------+
|     1 | Incremental | 2012-03-26 12:15:21 | B    | F     |        0 |         0 | A         |
|     2 | Incremental | 2012-03-26 12:18:14 | B    | F     |      350 | 4,013,397 | I         |
|     3 | Incremental | 2012-03-26 12:18:30 | B    | F     |        0 |         0 | A         |
|     4 | Incremental | 2012-03-26 12:18:38 | B    | F     |      331 | 3,548,058 | I         |
+-------+-------------+---------------------+------+-------+----------+-----------+-----------+
Enter the JobId list to select:

Po tym można wybrać numer zadania (JobID) które będzie wznowione.