Przywracanie plików/katalogów – Bacula

30 kwietnia 2015

Procedura przywracania wszystkich lub wybranych plików/katalogów. Klientem Bacula jest system Linux (np. Debian).
Wykorzystanie backupu, który został wcześniej utworzony przez oprogramowanie Bacula.

Założenia :

– jest dostęp do systemu klienta Bacula (system działa, jest komunikacja pomiędzy Klientem a Zarządcą Bacula)

– wykonano wcześniej backup systemu (backup zawiera pliki i katalogi, które chcemy przywrócić)

Przykładowy Backup :

*list jobs
+-------+-------------------------------+---------------------+------+-------+----------+---------------+-----------+
| jobid | name                          | starttime           | type | level | jobfiles | jobbytes      | jobstatus |

     31 | Backup_Pelny-postfix-fd       | 2015-04-30 10:26:37 | B    | F     |   88,754 | 2,803,332,567 | T

Rozwiązanie :

KROK 1:

Zdefiniowanie zadania przywracania plików – Restore :

Otwieramy plik konfiguracyjny Directora (bacula-dir.conf LUB inny plik np. postfix-fd.conf, który został załączony do konfiguracji Directora):

nano /usr/local/bacula/etc/bacula-dir.conf

Dodajemy nowe zadanie typu Restore:

Przykładowa definicja dyrektywy JOB :

Job {
Name = RestoreFiles
Type = Restore
Client= postfix-fd
FileSet= postfix-fd
Storage = Dysk
Pool = Backup_Pelny-postfix-fd
Messages = Daemon-bacula-dir
}

Zapisujemy zmiany w pliku.

Wykonujemy restart usługi :

/usr/local/bacula/sbin/bacula restart

KROK 2:

Uruchamiamy bconsole :

/usr/local/bacula/sbin/bconsole

po znaku * wpisujemy list jobs aby wyświetlić listę zadań.

Aby móc przywrócić dane z przeprowadzonego wcześniej backupu należy znać odpowiednie ID zadania-wykonanego backupu.

Następnie po znaku * należy wpisać :

restore jobid=podajemy_tutaj_ID_wykonanego_wcześniej_backupu

np.

restore jobid=31

Klikamy następnie ENTER.

Zostanie wyświetlony znak $ :

cwd is: /
$

Aby wyświetlić listę pomocy wpisujemy ? i naciskamy ENTER

$ ?
  Command    Description
  =======    ===========
  add        add dir/file to be restored recursively, wildcards allowed
  cd         change current directory
  count      count marked files in and below the cd
  delete     delete dir/file to be restored recursively in dir
  dir        long list current directory, wildcards allowed
  done       leave file selection mode
  estimate   estimate restore size
  exit       same as done command
  find       find files, wildcards allowed
  help       print help
  ls         list current directory, wildcards allowed
  lsmark     list the marked files in and below the cd
  mark       mark dir/file to be restored recursively, wildcards allowed
  markdir    mark directory name to be restored (no files)
  pwd        print current working directory
  unmark     unmark dir/file to be restored recursively in dir
  unmarkdir  unmark directory name only no recursion
  quit       quit and do not do restore
  ?          print help

Wpisujemy ls aby wyświetlić dostępne katalogi i pliki do przywrócenia.

Jeżeli chcemy przywrócić wszystkie dane, które zostały wcześniej z backupowane :

Wpisujemy:

mark *

Zostanie wyświetlona informacja : xxxx files marked – Ile plików zostało zaznaczonych do przywrócenia.

Następnie wpisujemy:

done

Jeśli natomiast chcemy przywrócić wybrany katalog/i lub plik/i, który został wcześniej z backupowany:

Wpisujemy: mark podajemy_katalog_lub_plik

Zostanie wyświetlona informacja : xxxx files marked. Ile plików zostało zaznaczonych do przywrócenia.

Następnie wpisujemy:

done

Po wybraniu danych do przywrócenia, modyfikujemy parametry zadania Restore :

Przykładowe zadanie Restore :

1,826 files selected to be restored.

Automatically selected Client: postfix-fd
Run Restore job
JobName:         RestoreFiles
Bootstrap:       /opt/bacula/working/bacula-dir.restore.2.bsr
Where:           *None*
Replace:         always
FileSet:         postfix-fd
Backup Client:   postfix-fd
Restore Client:  postfix-fd
Storage:         Dysk
When:            2015-04-29 19:28:02
Catalog:         Baza_Bacula
Priority:        10

W zadaniu o nazwie “RestoreFiles” nie ma określonego miejsca (Where), gdzie pliki (do jakiej lokalizacji) mają zostać być przywrócone.

Aby zmodyfikować parametr Where wpisujemy mod oraz wybieramy 9 :

Parameters to modify:
     1: Level
     2: Storage
     3: Job
     4: FileSet
     5: Restore Client
     6: When
     7: Priority
     8: Bootstrap
     9: Where
    10: File Relocation
    11: Replace
    12: JobId
    13: Plugin Options

Powinna pojawić się następująca informacja :

Please enter the full path prefix for restore (/ for none)

Należy podać pełną ścieżkę do katalogu (który się znajduje u klienta) do którego zostaną przywrócone pliki i katalogi.
Dla przykładu jeśli chcemy przywrócić dane do katalogu np. /home podajemy jako ścieżkę : home. Naciskamy następnie ENTER.

W przypadku potrzeby zmiany innych parametrów (np. Restore Client) postępujemy podobnie jak przy parametrze Where.

Po wykonaniu zmian parametrów przywracania wpisujemy yes i naciskamy ENTER.

Czekamy aż zadanie zostanie wykonane.

Przykładowy log po wykonaniu:

  Build OS:               i686-pc-linux-gnu debian 7.7
  JobId:                  34
  Job:                    RestoreFiles.2015-04-29_19.36.31_06
  Restore Client:         postfix-fd
  Start time:             29-kwi-2015 19:36:33
  End time:               29-kwi-2015 19:36:40
  Files Expected:         1,826
  Files Restored:         1,826
  Bytes Restored:         2,145,633
  Rate:                   306.5 KB/s
  FD Errors:              0
  FD termination status:  OK
  SD termination status:  OK
  Termination:            Restore OK

Status przywracania można również sprawdzić wykonując w Bconsole :

*list jobs

 


+-------+-------------------------------+---------------------+------+-------+----------+---------------+-----------+
| jobid | name                          | starttime           | type | level | jobfiles | jobbytes      | jobstatus |
     34 | RestoreFiles                  | 2015-04-30 16:19:42 | R    | F     |   46,643 | 1,455,399,879 | T
markos
Specjalizuję się w systemach komputerowych Windows oraz Linux. Oprócz wykonywanej pracy w zawodzie, informatyka jest moją pasją.

Dodaj komentarz

avatar
  Subscribe  
Powiadom o