Bacula - backup danych

Z wiki linux-user
Skocz do: nawigacji, wyszukiwania
m (Plik bacula-dir.conf - Director)
m (Instalacja serwera bacula)
 
Linia 15: Linia 15:
 
== Instalacja serwera bacula ==
 
== Instalacja serwera bacula ==
  
Zacznę od tego, że instalację przeprowadziłem na systemie '''Ubuntu Server 11.04''', system 32 bitowy i z tej instalacji też wzoruję się przy pisaniu tego howto. Instalacja na innych systemach może nieznacznie różnić się od siebie, jednak sama konfiguracja oprogramowania baculi powinna być już wszędzie taka sama.
+
Zacznę od tego, że instalację przeprowadziłem na systemie '''[[Ubuntu]] Server 11.04''' oraz '''[[CentOS]] 6.3''', system 32 bitowy i z tej instalacji też wzoruję się przy pisaniu tego howto. Instalacja na innych systemach może nieznacznie różnić się od siebie, jednak sama konfiguracja oprogramowania baculi powinna być już wszędzie taka sama.
 
Potrzebne oprogramowanie do działania baculi zaznaczyłem w trakcie instalacji systemu "''[[LAMP]] Server''" , również w trakcie instalacji skonfigurowałem hasło do roota dla bazy danych MySql. Jeśli masz zainstalowany już system Ubuntu Serevr i nie chcesz instalować go jeszcze raz to oczywiście możesz samodzielnie dociągnąć wszystkie potrzebne paczki, (instalacje można zrobić na różnych serwerach np jeden demon na jednej fizycznej maszynie) sprowadza się do wydania komendy przez użytkownika root
 
Potrzebne oprogramowanie do działania baculi zaznaczyłem w trakcie instalacji systemu "''[[LAMP]] Server''" , również w trakcie instalacji skonfigurowałem hasło do roota dla bazy danych MySql. Jeśli masz zainstalowany już system Ubuntu Serevr i nie chcesz instalować go jeszcze raz to oczywiście możesz samodzielnie dociągnąć wszystkie potrzebne paczki, (instalacje można zrobić na różnych serwerach np jeden demon na jednej fizycznej maszynie) sprowadza się do wydania komendy przez użytkownika root
 
* w systemie [[CentOS]]
 
* w systemie [[CentOS]]
Linia 88: Linia 88:
  
  
 +
 
  Director {
 
  Director {
Name = ogrody-dir #nazwa zarzadcy
+
Name = serwer-dir #nazwa zarzadcy
Password = "qwerty123-dir" #haslo, uzywaja programy łączące się z zarządcą
+
Password = "qwerty123-dir" #haslo, uzywaja programy łączące się z zarządcy
DIR Address = 192.168.2.15 #adres IP interfejsu sieciowego
+
DIR Address = 192.168.2.15 #adres IP interfejsu sieciowego
DIR Port = 9101 #port na którym ma nasłuchiwać zarządca
+
DIR Port = 9101 #port na którym ma nasłuchiwać zarządca
QueryFile = "/usr/libexec/bacula/query.sql" #kopiować z orginalnego pliku
+
QueryFile = "/usr/libexec/bacula/query.sql" #kopiować z orginalnego pliku
        WorkingDirectory = "/var/spool/bacula" #kopiować z orginalnego pliku
+
WorkingDirectory = "/var/spool/bacula" #kopiować z orginalnego pliku
        PidDirectory = "/var/run" #kopiować z orginalnego pliku
+
PidDirectory = "/var/run" #kopiować z orginalnego pliku
Messages = DirRaport #nazwa zasobu messages, uzyta ponizej
+
Messages = DirRaport #nazwa zasobu messages, uzyta ponizej
Maximum Concurrent jobs = 5 #ilość zadań, które jednocześnie może wykonywać zarządca
+
Maximum Concurrent jobs = 5 #ilość zadań, które jednocześnie może wykonywać zarządca
 
  }
 
  }
 
  Catalog {
 
  Catalog {
Name = "Baza-danych-bacula" #nazwa zasobu, używana w zasobach client
+
Name = "Baza-danych-bacula" #nazwa zasobu, używana w zasobach client
DB Name = bacula #nazwa bazy danych
+
DB Name = bacula #nazwa bazy danych
DB Address = 127.0.0.1 # adres bazy danych
+
DB Address = 127.0.0.1 # adres bazy danych
DB Port = 3306 #port na którym nasłuchuje mysql
+
DB Port = 3306 #port na którym nasłuchuje mysql
User = bacula #użytkownik do bazy danych dla baculi
+
User = bacula #użytkownik do bazy danych dla baculi
Password = bacula1 #hasło użytkownika baculi
+
Password = bacula1 #hasło użytkownika baculi
 
  }  
 
  }  
 
  Messages {
 
  Messages {
Name = DirRaport #nazwa zasobu, odpowiada ona nazwie w zasobie Director opcji messages
+
Name = DirRaport #nazwa zasobu, odpowiada ona nazwie w zasobie Director opcji messages
Mailcommand = "/usr/sbin/bsmtp -h localhost -f \"\(Bacula\) \<%r\>\" -s \"Bacula: %t %e of %c %l\" %r" #komenda do wysłania maila z powiadomieniem
+
Mailcommand = "/usr/sbin/bsmtp -h localhost -f \"\(Bacula\) \<%r\>\" -s \"Bacula: %t %e of %c %l\" %r" #komenda do wysłania maila z powiadomieniem
  Operatorcommand = "/usr/sbin/bsmtp -h localhost -f \"\(Bacula\) \<%r\>\" -s \"Bacula: Intervention needed for %j\" %r" #mail z powiadomieniem
+
Operatorcommand = "/usr/sbin/bsmtp -h localhost -f \"\(Bacula\) \<%r\>\" -s \"Bacula: Intervention needed for %j\" %r" #mail z powiadomieniem
  Mail = slawek@linux-user.eu = all, !skipped #mail od kogo
+
Mail = slawek@linux-user.eu = all, !skipped #mail od kogo
  Operator = slawek@linux-user.eu = mount #mail od kogo
+
Operator = slawek@linux-user.eu = mount #mail od kogo
  Console = all, !skipped, !saved #wyświetlanie statusów i zdarzeń wartość all wyświetla wszystko
+
Console = all, !skipped, !saved #wyświetlanie statusów i zdarzeń wartość all wyświetla wszystko
    Append = "/var/spool/bacula/log" = all, !skipped #ustawienie zapisywania statusów i raportów do pliku logów wartość all wszystko
+
Append = "/var/spool/bacula/log" = all, !skipped #ustawienie zapisywania statusów i raportów do pliku logów wartość all wszystko
 
  }
 
  }
 
  Storage {
 
  Storage {
Name = Dysk-Pendrive #nazwa zasobu, używana w zasobie jobs
+
Name = Dysk-Pendrive #nazwa zasobu, używana w zasobie jobs
Address = 192.168.2.15 #adres IP z bacula-sd,  
+
Address = 192.168.2.15 #adres IP z bacula-sd,  
SD Port = 9103 #port bacula-sd
+
SD Port = 9103 #port bacula-sd
Password = qwerty123-sd #hasło do bacula-sd
+
Password = qwerty123-sd #hasło do bacula-sd
Device = "Urzadzenie pendrive" #nazwa urzadzenia, uzyte również w bacula-sd
+
Device = "Urzadzenie pendrive" #nazwa urzadzenia, uzyte również w bacula-sd
Media Type = Pliki-na-usb #nazwa typu obsługiwanych woluminów, uzywana w bacula-sd
+
Media Type = Pliki-na-usb #nazwa typu obsługiwanych woluminów, uzywana w bacula-sd
Maximum Concurrent Jobs = 1 #ilośc zadań, które jednocześnie może zrealizować urządzenie
+
Maximum Concurrent Jobs = 1 #ilośc zadań, które jednocześnie może zrealizować urządzenie
 
  }  
 
  }  
 
  Client {
 
  Client {
Name = backup_na_pendrive # nazwa klienta, użyta również w sekcji Job
+
Name = backup_na_pendrive # nazwa klienta, użyta również w sekcji Job
Address = 192.168.2.15 #adres IP komputera klienta,  
+
Address = 192.168.2.15 #adres IP komputera klienta,  
FD Port = 9102 #numer portu bacula-client, domyślnie 9102
+
FD Port = 9102 #numer portu bacula-client, domyślnie 9102
Catalog = "Baza-danych-bacula" #jakiej bazy danych użyć, nazwa z sekcji Catalog
+
Catalog = "Baza-danych-bacula" #jakiej bazy danych użyć, nazwa z sekcji Catalog
Password = "qwerty123-fd" #hasło do bacula-fd na kliencie
+
Password = "qwerty123-fd" #hasło do bacula-fd na kliencie
AutoPrune = no # czyszczenie przestarzałych danych z bazy danych
+
AutoPrune = no # czyszczenie przestarzałych danych z bazy danych
 
  }
 
  }
 
  Pool {
 
  Pool {
Name = "Backup-na-pendrive-poniedzialek" #nazwa puli woluminów
+
Name = "Backup-na-pendrive-poniedzialek" #nazwa puli woluminów
Pool Type = Backup #zawsze tak ma byc
+
Pool Type = Backup #zawsze tak ma byc
Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu
+
Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu
AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów
+
AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów
Volume Retention = 14 days #czas zachowania danych na woluminie, po upłynięciu dane stają się przedawnione i możliwy jest ponowny zapis na nich
+
Volume Retention = 14 days #czas zachowania danych na woluminie, po upłynięciu dane stają się przedawnione i możliwy jest ponowny zapis na nich
Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu
+
Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu
LabelFormat = "serwer-ogrody-plik-poniedzialek-"  
+
LabelFormat = "serwer-serwer-plik-poniedzialek-"  
Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage
+
Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage
 
  }
 
  }
 
  Pool {
 
  Pool {
        Name = "Backup-na-pendrive-wtorek" #nazwa puli woluminów
+
Name = "Backup-na-pendrive-wtorek" #nazwa puli woluminów
        Pool Type = Backup #zawsze tak ma byc
+
Pool Type = Backup #zawsze tak ma byc
        Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu
+
Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu
        AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów
+
AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów
        Volume Retention = 14 days #czas zachowania danych na woluminie, po upłynięciu dane stają się przedawnione i możliwy jest ponowny zapis na nich
+
Volume Retention = 14 days #czas zachowania danych na woluminie, po upłynięciu dane stają się przedawnione i możliwy jest ponowny zapis na nich
        Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu
+
Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu
        LabelFormat = "serwer-ogrody-plik-wtorek-"
+
LabelFormat = "serwer-serwer-plik-wtorek-"
        Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage
+
Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage
 
  }
 
  }
 
  Pool {
 
  Pool {
        Name = "Backup-na-pendrive-sroda" #nazwa puli woluminów
+
Name = "Backup-na-pendrive-sroda" #nazwa puli woluminów
        Pool Type = Backup #zawsze tak ma byc
+
Pool Type = Backup #zawsze tak ma byc
        Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu
+
Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu
        AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów
+
AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów
        Volume Retention = 14 days #czas zachowania danych na woluminie, po upłynięciu dane stają się przedawnione i możliwy jest ponowny zapis na nich
+
Volume Retention = 14 days #czas zachowania danych na woluminie, po upłynięciu dane stają się przedawnione i możliwy jest ponowny zapis na nich
        Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu
+
Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu
        LabelFormat = "serwer-ogrody-plik-sroda-"
+
LabelFormat = "serwer-serwer-plik-sroda-"
        Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage
+
Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage
 
  }
 
  }
 
  Pool {
 
  Pool {
        Name = "Backup-na-pendrive-czwartek" #nazwa puli woluminów
+
Name = "Backup-na-pendrive-czwartek" #nazwa puli woluminów
        Pool Type = Backup #zawsze tak ma byc
+
Pool Type = Backup #zawsze tak ma byc
        Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu
+
Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu
        AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów
+
AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów
        Volume Retention = 14 days #czas zachowania danych na woluminie, po upłynięciu dane stają się przedawnione i możliwy jest ponowny zapis na nich
+
Volume Retention = 14 days #czas zachowania danych na woluminie, po upłynięciu dane stają się przedawnione i możliwy jest ponowny zapis na nich
        Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu
+
Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu
        LabelFormat = "serwer-ogrody-plik-czwartek-"
+
LabelFormat = "serwer-serwer-plik-czwartek-"
        Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage
+
Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage
 
  }
 
  }
 
  Pool {
 
  Pool {
        Name = "Backup-na-pendrive-piatek" #nazwa puli woluminów
+
Name = "Backup-na-pendrive-piatek" #nazwa puli woluminów
        Pool Type = Backup #zawsze tak ma byc
+
Pool Type = Backup #zawsze tak ma byc
        Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu
+
Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu
        AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów
+
AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów
        Volume Retention = 14 days #czas zachowania danych na woluminie, po upłynięciu dane stają się przedawnione i możliwy jest ponowny zapis na nich
+
Volume Retention = 14 days #czas zachowania danych na woluminie, po upłynięciu dane stają się przedawnione i możliwy jest ponowny zapis na nich
        Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu
+
Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu
        LabelFormat = "serwer-ogrody-plik-piatek-"
+
LabelFormat = "serwer-serwer-plik-piatek-"
        Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage
+
Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage
 
  }
 
  }
 
  FileSet {
 
  FileSet {
Name = "Baza-danych-postgresql" #nazwa akcji, użyta w sekcji job
+
Name = "Baza-danych-postgresql" #nazwa akcji, użyta w sekcji job
Include {
+
  Include {
Options {
+
  Options {
Signature = MD5 # sposób tworzenia sygnatur kopii zapasowych
+
    Signature = MD5 # sposób tworzenia sygnatur kopii zapasowych
}
+
      }
File = /var/lib/pgsql/9.1/data/ #pliki do archiwizowania
+
  File = /var/lib/pgsql/9.1/data/ #pliki do archiwizowania
}
+
Exclude { #nie archiwizuj poniższych plików
+
      File = /var/lib/pgsql/9.1/data/backup_test
+
    File = /var/lib/pgsql/9.1/data/backup_test_pg
+
 
   }
 
   }
 +
  Exclude { #nie archiwizuj poniższych plików
 +
    File = /var/lib/pgsql/9.1/data/backup_test
 +
    File = /var/lib/pgsql/9.1/data/backup_test_pg
 +
  }
 +
  }
 +
  FileSet {
 +
  Name = "Pliki-samby"
 +
Include {
 +
Options {
 +
  Signature = MD5 # sposób tworzenia sygnatur kopii zapasowych
 +
  }
 +
File = /home/samba/
 +
}
 +
Exclude {
 +
File = /home/samba/.*
 
  }
 
  }
FileSet {
 
Name = "Pliki-samby"
 
Include {
 
Options {
 
                        Signature = MD5 # sposób tworzenia sygnatur kopii zapasowych
 
                        }
 
                File = /home/samba/
 
                }
 
Exclude {
 
File = /home/samba/.*
 
}
 
 
  }
 
  }
 
  Schedule {
 
  Schedule {
Name = "Cykl-codzienny-full-poniedzialek" #nazwa zadania, uzywana w zasobie Job
+
Name = "Cykl-codzienny-full-poniedzialek" #nazwa zadania, uzywana w zasobie Job
Run = Full monday at 16:00 #backup powinien wykonać w poniedziałek o godzinie 16, możemy ustawić mon - fri at 10:00 wtedy backup będzie się  
+
Run = Full monday at 16:00 #backup powinien wykonać w poniedziałek o godzinie 16, możemy ustawić mon - fri at 10:00 wtedy backup będzie się  
 
  #wykonywać w dni od poniedziałku do piątku
 
  #wykonywać w dni od poniedziałku do piątku
 
  }
 
  }
 
  Schedule {
 
  Schedule {
        Name = "Cykl-codzienny-full-wtorek" #nazwa zadania, uzywana w zasobie Job
+
Name = "Cykl-codzienny-full-wtorek" #nazwa zadania, uzywana w zasobie Job
        Run = Full tuesday at 00:04   
+
Run = Full tuesday at 00:04   
 
  }
 
  }
 
  Schedule {
 
  Schedule {
        Name = "Cykl-codzienny-full-sroda" #nazwa zadania, uzywana w zasobie Job
+
Name = "Cykl-codzienny-full-sroda" #nazwa zadania, uzywana w zasobie Job
        Run = Full wednesday at 15:10  
+
Run = Full wednesday at 15:10  
 
  }
 
  }
 
  Schedule {
 
  Schedule {
        Name = "Cykl-codzienny-full-czwartek" #nazwa zadania, uzywana w zasobie Job
+
Name = "Cykl-codzienny-full-czwartek" #nazwa zadania, uzywana w zasobie Job
        Run = Full thursday at 15:10  
+
Run = Full thursday at 15:10  
 
  }
 
  }
 
  Schedule {
 
  Schedule {
        Name = "Cykl-codzienny-full-piatek" #nazwa zadania, uzywana w zasobie Job
+
Name = "Cykl-codzienny-full-piatek" #nazwa zadania, uzywana w zasobie Job
        Run = Full friday at 16:15  
+
Run = Full friday at 16:15  
 
  }
 
  }
 
  Schedule {
 
  Schedule {
        Name = "Cykl-codzienny-incremental-poniedzialek"
+
Name = "Cykl-codzienny-incremental-poniedzialek"
        Run = Incremental monday at 10:00 #kopia przyrostowa w poniedziałek o 10:00
+
Run = Incremental monday at 10:00 #kopia przyrostowa w poniedziałek o 10:00
 
  }
 
  }
 
  Schedule {
 
  Schedule {
        Name = "Cykl-codzienny-incremental-wtorek"
+
Name = "Cykl-codzienny-incremental-wtorek"
        Run = Incremental tuesday at 00:23  
+
Run = Incremental tuesday at 00:23  
 
  }
 
  }
Schedule {
+
Schedule {
        Name = "Cykl-codzienny-incremental-sroda"
+
Name = "Cykl-codzienny-incremental-sroda"
        Run = Incremental wednesday at 15:13  
+
Run = Incremental wednesday at 15:13  
 
  }
 
  }
 
  Schedule {
 
  Schedule {
        Name = "Cykl-codzienny-incremental-czwartek"
+
Name = "Cykl-codzienny-incremental-czwartek"
        Run = Incremental thursday at 15:13  
+
Run = Incremental thursday at 15:13  
 
  }
 
  }
 
  Schedule {
 
  Schedule {
        Name = "Cykl-codzienny-incremental-piatek"
+
Name = "Cykl-codzienny-incremental-piatek"
        Run = Incremental friday at 16:17  
+
Run = Incremental friday at 16:17  
 
  }
 
  }
 
  Schedule {
 
  Schedule {
        Name = "Cykl-codzienny-full-samba-poniedzialek"  
+
Name = "Cykl-codzienny-full-samba-poniedzialek"  
        Run = Full monday at 01:00 #backup powinien wykonać się w poniedziałek o godzinie 01:00
+
Run = Full monday at 01:00 #backup powinien wykonać się w poniedziałek o godzinie 01:00
}
+
}
 
  Schedule {
 
  Schedule {
        Name = "Cykl-codzienny-full-samba-wtorek"  
+
Name = "Cykl-codzienny-full-samba-wtorek"  
        Run = Full tuesday at 00:06  
+
Run = Full tuesday at 00:06  
 
  }
 
  }
 
  Schedule {
 
  Schedule {
        Name = "Cykl-codzienny-full-samba-sroda"  
+
Name = "Cykl-codzienny-full-samba-sroda"  
        Run = Full wednesday at 00:06  
+
Run = Full wednesday at 00:06  
 
  }
 
  }
 
  Schedule {
 
  Schedule {
        Name = "Cykl-codzienny-full-samba-czwartek"  
+
Name = "Cykl-codzienny-full-samba-czwartek"  
        Run = Full thursday at 15:11  
+
Run = Full thursday at 15:11  
 
  }
 
  }
 
  Schedule {
 
  Schedule {
        Name = "Cykl-codzienny-full-samba-piatek"  
+
Name = "Cykl-codzienny-full-samba-piatek"  
        Run = Full friday at 16:19  
+
Run = Full friday at 16:19  
 
  }
 
  }
 
  Job {
 
  Job {
Linia 370: Linia 371:
 
  }
 
  }
 
  Job {
 
  Job {
Name = "Backup-bazy-danych-omeda-full-poniedzialek" #nazwa zasobu
+
Name = "Backup-bazy-danych-omeda-full-poniedzialek" #nazwa zasobu
Type = Backup
+
Type = Backup
Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy
+
Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy
Client = backup_na_pendrive #nazwa z sekcji Client
+
Client = backup_na_pendrive #nazwa z sekcji Client
Pool = "Backup-na-pendrive-poniedzialek" #nazwa z sekcji Pool, jaki wolumin
+
Pool = "Backup-na-pendrive-poniedzialek" #nazwa z sekcji Pool, jaki wolumin
Schedule = "Cykl-codzienny-full-poniedzialek" #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup
+
Schedule = "Cykl-codzienny-full-poniedzialek" #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup
Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess
+
Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess
FileSet = "Baza-danych-postgresql" #jakie zadanie mam wykonać nazwa z sekcji FileSet
+
FileSet = "Baza-danych-postgresql" #jakie zadanie mam wykonać nazwa z sekcji FileSet
# skrypt wykonywany przed zrobieniem backupa  
+
# skrypt wykonywany przed zrobieniem backupa (uwaga musisz mieć poniższy skrypt w lokalizacji podanej poniżej)
Client Run Before Job = "/var/lib/pgsql/9.1/data/pg_dump"
+
Client Run Before Job = "/var/lib/pgsql/9.1/data/pg_dump"
# Usuwanie zbekapowanego backupu
+
# Usuwanie zbekapowanego backupu
Client Run After Job  = "/var/lib/pgsql/9.1/data/delete_pg_dump"
+
Client Run After Job  = "/var/lib/pgsql/9.1/data/delete_pg_dump"
 
  }
 
  }
 
  Job {
 
  Job {
        Name = "Backup-bazy-danych-omeda-full-wtorek" #nazwa zasobu
+
Name = "Backup-bazy-danych-omeda-full-wtorek" #nazwa zasobu
        Type = Backup
+
Type = Backup
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy
+
Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy
        Client = backup_na_pendrive #nazwa z sekcji Client
+
Client = backup_na_pendrive #nazwa z sekcji Client
        Pool = "Backup-na-pendrive-wtorek" #nazwa z sekcji Pool, jaki wolumin
+
Pool = "Backup-na-pendrive-wtorek" #nazwa z sekcji Pool, jaki wolumin
        Schedule = "Cykl-codzienny-full-wtorek" #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup
+
Schedule = "Cykl-codzienny-full-wtorek" #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess
+
Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess
        FileSet = "Baza-danych-postgresql" #jakie zadanie mam wykonać nazwa z sekcji FileSet
+
FileSet = "Baza-danych-postgresql" #jakie zadanie mam wykonać nazwa z sekcji FileSet
        # skrypt wykonywany przed zrobieniem backupa  
+
# skrypt wykonywany przed zrobieniem backupa  
        Client Run Before Job = "/var/lib/pgsql/9.1/data/pg_dump"
+
Client Run Before Job = "/var/lib/pgsql/9.1/data/pg_dump"
# Usuwanie zbekapowanego backupu
+
# Usuwanie zbekapowanego backupu
        Client Run After Job  = "/var/lib/pgsql/9.1/data/delete_pg_dump"
+
Client Run After Job  = "/var/lib/pgsql/9.1/data/delete_pg_dump"
 
  }
 
  }
 
  Job {
 
  Job {
        Name = "Backup-bazy-danych-omeda-full-sroda" #nazwa zasobu
+
Name = "Backup-bazy-danych-omeda-full-sroda" #nazwa zasobu
        Type = Backup
+
Type = Backup
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy
+
Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy
        Client = backup_na_pendrive #nazwa z sekcji Client
+
Client = backup_na_pendrive #nazwa z sekcji Client
        Pool = "Backup-na-pendrive-sroda" #nazwa z sekcji Pool, jaki wolumin
+
Pool = "Backup-na-pendrive-sroda" #nazwa z sekcji Pool, jaki wolumin
        Schedule = "Cykl-codzienny-full-sroda" #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup
+
Schedule = "Cykl-codzienny-full-sroda" #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess
+
Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess
        FileSet = "Baza-danych-postgresql" #jakie zadanie mam wykonać nazwa z sekcji FileSet
+
FileSet = "Baza-danych-postgresql" #jakie zadanie mam wykonać nazwa z sekcji FileSet
        # skrypt wykonywany przed zrobieniem backupa  
+
# skrypt wykonywany przed zrobieniem backupa  
        Client Run Before Job = "/var/lib/pgsql/9.1/data/pg_dump"
+
Client Run Before Job = "/var/lib/pgsql/9.1/data/pg_dump"
        # Usuwanie zbekapowanego backupu
+
# Usuwanie zbekapowanego backupu
        Client Run After Job  = "/var/lib/pgsql/9.1/data/delete_pg_dump"
+
Client Run After Job  = "/var/lib/pgsql/9.1/data/delete_pg_dump"
        }
+
}
 
  Job {
 
  Job {
        Name = "Backup-bazy-danych-omeda-full-czwartek" #nazwa zasobu
+
Name = "Backup-bazy-danych-omeda-full-czwartek" #nazwa zasobu
        Type = Backup
+
Type = Backup
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy
+
Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy
        Client = backup_na_pendrive #nazwa z sekcji Client
+
Client = backup_na_pendrive #nazwa z sekcji Client
        Pool = "Backup-na-pendrive-czwartek" #nazwa z sekcji Pool, jaki wolumin
+
Pool = "Backup-na-pendrive-czwartek" #nazwa z sekcji Pool, jaki wolumin
        Schedule = "Cykl-codzienny-full-czwartek" #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup
+
Schedule = "Cykl-codzienny-full-czwartek" #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess
+
Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess
        FileSet = "Baza-danych-postgresql" #jakie zadanie mam wykonać nazwa z sekcji FileSet
+
FileSet = "Baza-danych-postgresql" #jakie zadanie mam wykonać nazwa z sekcji FileSet
        # skrypt wykonywany przed zrobieniem backupa  
+
# skrypt wykonywany przed zrobieniem backupa  
        Client Run Before Job = "/var/lib/pgsql/9.1/data/pg_dump"
+
Client Run Before Job = "/var/lib/pgsql/9.1/data/pg_dump"
        # Usuwanie zbekapowanego backupu
+
# Usuwanie zbekapowanego backupu
        Client Run After Job  = "/var/lib/pgsql/9.1/data/delete_pg_dump"
+
Client Run After Job  = "/var/lib/pgsql/9.1/data/delete_pg_dump"
        }
+
}
 
  Job {
 
  Job {
        Name = "Backup-bazy-danych-omeda-full-piatek" #nazwa zasobu
+
Name = "Backup-bazy-danych-omeda-full-piatek" #nazwa zasobu
        Type = Backup
+
Type = Backup
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy
+
Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy
        Client = backup_na_pendrive #nazwa z sekcji Client
+
Client = backup_na_pendrive #nazwa z sekcji Client
        Pool = "Backup-na-pendrive-piatek" #nazwa z sekcji Pool, jaki wolumin
+
Pool = "Backup-na-pendrive-piatek" #nazwa z sekcji Pool, jaki wolumin
        Schedule = "Cykl-codzienny-full-piatek" #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup
+
Schedule = "Cykl-codzienny-full-piatek" #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess
+
Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess
        FileSet = "Baza-danych-postgresql" #jakie zadanie mam wykonać nazwa z sekcji FileSet
+
FileSet = "Baza-danych-postgresql" #jakie zadanie mam wykonać nazwa z sekcji FileSet
        # skrypt wykonywany przed zrobieniem backupa  
+
# skrypt wykonywany przed zrobieniem backupa  
        Client Run Before Job = "/var/lib/pgsql/9.1/data/pg_dump"
+
Client Run Before Job = "/var/lib/pgsql/9.1/data/pg_dump"
        # Usuwanie zbekapowanego backupu
+
# Usuwanie zbekapowanego backupu
        Client Run After Job  = "/var/lib/pgsql/9.1/data/delete_pg_dump"
+
Client Run After Job  = "/var/lib/pgsql/9.1/data/delete_pg_dump"
        }
+
}
 
  Job {
 
  Job {
        Name = "Backup-bazy-danych-omeda-incremental-poniedzialek" #nazwa zasobu
+
Name = "Backup-bazy-danych-omeda-incremental-poniedzialek" #nazwa zasobu
        Type = Backup
+
Type = Backup
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy
+
Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy
        Client = backup_na_pendrive #nazwa z sekcji Client
+
Client = backup_na_pendrive #nazwa z sekcji Client
        Pool = "Backup-na-pendrive-poniedzialek" #nazwa z sekcji Pool, jaki wolumin
+
Pool = "Backup-na-pendrive-poniedzialek" #nazwa z sekcji Pool, jaki wolumin
        Schedule = "Cykl-codzienny-incremental-poniedzialek" #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup
+
Schedule = "Cykl-codzienny-incremental-poniedzialek" #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess
+
Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess
        FileSet = "Baza-danych-postgresql" #jakie zadanie mam wykonać nazwa z sekcji FileSet
+
FileSet = "Baza-danych-postgresql" #jakie zadanie mam wykonać nazwa z sekcji FileSet
# skrypt wykonywany przed zrobieniem backupa  
+
# skrypt wykonywany przed zrobieniem backupa  
Client Run Before Job = "/var/lib/pgsql/9.1/data/pg_dump"
+
Client Run Before Job = "/var/lib/pgsql/9.1/data/pg_dump"
# Usuwanie zbekapowanego backupu
+
# Usuwanie zbekapowanego backupu
Client Run After Job  = "/var/lib/pgsql/9.1/data/delete_pg_dump"  
+
Client Run After Job  = "/var/lib/pgsql/9.1/data/delete_pg_dump"  
 
+
 
  }
 
  }
 
  Job {
 
  Job {
        Name = "Backup-bazy-danych-omeda-incremental-wtorek" #nazwa zasobu
+
Name = "Backup-bazy-danych-omeda-incremental-wtorek" #nazwa zasobu
        Type = Backup
+
Type = Backup
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy
+
Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy
        Client = backup_na_pendrive #nazwa z sekcji Client
+
Client = backup_na_pendrive #nazwa z sekcji Client
        Pool = "Backup-na-pendrive-wtorek" #nazwa z sekcji Pool, jaki wolumin
+
Pool = "Backup-na-pendrive-wtorek" #nazwa z sekcji Pool, jaki wolumin
        Schedule = "Cykl-codzienny-incremental-wtorek" #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup
+
Schedule = "Cykl-codzienny-incremental-wtorek" #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess
+
Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess
        FileSet = "Baza-danych-postgresql" #jakie zadanie mam wykonać nazwa z sekcji FileSet
+
FileSet = "Baza-danych-postgresql" #jakie zadanie mam wykonać nazwa z sekcji FileSet
        # skrypt wykonywany przed zrobieniem backupa  
+
# skrypt wykonywany przed zrobieniem backupa  
        Client Run Before Job = "/var/lib/pgsql/9.1/data/pg_dump"
+
Client Run Before Job = "/var/lib/pgsql/9.1/data/pg_dump"
        # Usuwanie zbekapowanego backupu
+
# Usuwanie zbekapowanego backupu
        Client Run After Job  = "/var/lib/pgsql/9.1/data/delete_pg_dump"
+
Client Run After Job  = "/var/lib/pgsql/9.1/data/delete_pg_dump"
 
  }       
 
  }       
 
  Job {
 
  Job {
        Name = "Backup-bazy-danych-omeda-incremental-sroda" #nazwa zasobu
+
Name = "Backup-bazy-danych-omeda-incremental-sroda" #nazwa zasobu
        Type = Backup
+
Type = Backup
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy
+
Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy
        Client = backup_na_pendrive #nazwa z sekcji Client
+
Client = backup_na_pendrive #nazwa z sekcji Client
        Pool = "Backup-na-pendrive-sroda" #nazwa z sekcji Pool, jaki wolumin
+
Pool = "Backup-na-pendrive-sroda" #nazwa z sekcji Pool, jaki wolumin
        Schedule = "Cykl-codzienny-incremental-sroda" #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup
+
Schedule = "Cykl-codzienny-incremental-sroda" #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess
+
Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess
        FileSet = "Baza-danych-postgresql" #jakie zadanie mam wykonać nazwa z sekcji FileSet
+
FileSet = "Baza-danych-postgresql" #jakie zadanie mam wykonać nazwa z sekcji FileSet
        # skrypt wykonywany przed zrobieniem backupa  
+
# skrypt wykonywany przed zrobieniem backupa  
        Client Run Before Job = "/var/lib/pgsql/9.1/data/pg_dump"
+
Client Run Before Job = "/var/lib/pgsql/9.1/data/pg_dump"
        # Usuwanie zbekapowanego backupu
+
# Usuwanie zbekapowanego backupu
        Client Run After Job  = "/var/lib/pgsql/9.1/data/delete_pg_dump"
+
Client Run After Job  = "/var/lib/pgsql/9.1/data/delete_pg_dump"
 
  }
 
  }
 
  Job {
 
  Job {
Linia 561: Linia 561:
 
  }
 
  }
  
== Konfiguracja pliku bacula-fd.conf - File Daemon ==
+
== Plik bacula-sd.conf - Storage Daemon ==
 
+
Konfiguracja demona magazynowania odbywa się w pliku '''bacula-sd.conf'''. Storage Daemon baculi definiuje gdzie będą odkładane pliki backupu.
 
+
robimy kopie orginalnego pliku
  Director {
+
  mv bacula-sd.conf bacula-sd.conf-org
  Name = backup-serwer-dir
+
i tworzymy własny
Password = "haslo123"
+
touch bacula-sd.conf
 +
edytujemy plik bacula-sd.conf
 +
* Storage – główna konfiguracja demona magazynowania
 +
* Director – dane zarządcy uprawnionego do używania urządzeń demona magazynowania
 +
* Device – definicja urządzenia archiwizującego,i np pendriva
 +
* Messages – opcje przekazywania logów demona magazynowania do serwisu zarządcy
 +
  Storage {
 +
  Name = serwer-sd #nazwa, brak powiązania z innymi sekcjami
 +
  WorkingDirectory = "/var/spool/bacula" #kopiujemy z orginalnych plików
 +
  Pid Directory = "/var/run" #kopiujemy z orginalnych plików
 +
  SD Address = 192.168.2.15 # ip bacula-sd
 +
  SD Port = 9103 #domyślny port bacula-sd
 +
  Maximum Concurrent Jobs = 1 #liczba wykonywanych jednocześnie działań na dysku (jedno urządzenie może wykonywać jedno zadanie oprócz taśm z kilkoma napędami)
 
  }
 
  }
 
  Director {
 
  Director {
Name = backup-serwer-mon
+
  Name = serwer-dir # nazwa directora z pliku bacula-dir.conf
Password = "haslo123"
+
  Password = "qwerty123-sd" #hasło bacula-sd, definiowane również w pliku bacula-dir.conf w sekcji Storage
Monitor = yes
+
 
  }
 
  }
  FileDaemon {
+
  Device {
Name = backup-serwer-fd
+
  Name = "Urzadzenie pendrive" #nazwa urządzenia, używana w pliku bacula-dir w sekcji Storage
FDport = 9102
+
  Archive Device = /mnt/usb/ #lokalizacja urządzenia na którym będzie przechowywana kopia zapasowa
  WorkingDirectory = /var/lib/bacula
+
  Device Type = File #typ urządzenia File, Tape, Fifo, DVD
Pid Directory = /var/run/bacula
+
  Media Type = Pliki-na-usb # nazwa typu nośnika, używana również w sekcji storage w pliku bacula-dir
Maximum Concurrent Jobs = 20
+
  LabelMedia = yes;
FDAddress = 127.0.0.1
+
  Removable Media = yes; #yes/no jeśli urządzenia wyjmowalne np usb, DVD to yes, jeśli np hdd to no
 +
  Random Access = yes; #jeśli napęd taśmowy to no
 +
  Requires Mount = yes; #jeśli urządzenie wymienne i samo się nie montuje to yes
 +
  Mount Point = /mnt/usb/ #gdzie będzie zamontowane urządzenie
 +
  Mount Command = "/bin/mount /dev/sdb1 /mnt/usb/" #komenda do montowania pendriva
 +
  Unmount Command = "/bin/umount /mnt/usb/" #komenda do odmontowania urządzenia
 
  }
 
  }
 
  Messages {
 
  Messages {
Name = Standard
+
  Name = serwer-sd-raport #nazwa własna nie używana nigdzie indziej
director = backup-serwer-dir = all, !skipped, !restored
+
  Director = serwer-dir = all #nazwa zarządcy oraz poziom logowania all - wszystko
  }  
+
  }
Konfiguracja Storage Daemona '''bacula-sd.conf'''
+
Należy pamiętać o sprawdzeniu montowania USB czy na pewno u was montuje się na ''sdb1'' należy pamiętać również o stworzeniu katalogu ''/mnt/usb''
 +
 
 +
== Plik bacula-fd.conf - File Daemon ==
  
  Storage {                          
+
Plik '''bacula-fd''' jest odpowiedzialny za konfigurację demona File Daemon w baculi. Jest on konfigurowany na komputerze klienta. W tej konfiguracji klient jest na tej samej maszynie co serwer baculi.
  Name = backup-serwer-sd  # Name – nazwa demona magazynowania.
+
* Client – główne ustawienia klienta. Nazwa stosowana zamiennie dla tego typu zasobu to "FileDaemon".
Nie jest ona powiązana z żadną inną konfiguracją usług
+
* Director – ustawienie zarządcy, który jest uprawniony do korzystania z klienta
  SDPort = 9103                  # Director's port     
+
* Messages – poziom logowania klienta
  WorkingDirectory = "/var/lib/bacula#Working Directory – katalog w którym serwis
+
W katalogu ''/etc/bacula'' wydajemy polecenie
będzie przechowywał pliki swoich statusów. Dobrą praktyką jest zdefiniować taki katalog,
+
mv bacula-fd.conf bacula-fd.conf-org | touch bacula-fd.conf
który przeznaczony będzie tylko do tego celu.
+
i edytujemy plik bacula-fd.conf
  Pid Directory = "/var/run/bacula"  #PID Directory – lokalizacja, w której demon
+
  FileDaemon {
magazynowania będzie zapisywał plik z identyfikatorem procesu, jaki otrzymał
+
  Name = serwer-fd #nazwa zasobu, nigdzie indziej nie używana
demon przy starcie
+
  FD Address = 192.168.2.15 #IP klienta, tam gdzie jest uruchomiony bacula-fd
  Maximum Concurrent Jobs = 2
+
  FD Port = 9102 #numer portu na którym nasłuchuje klient
  SDAddress = 192.168.0.10  #SD Address – dyrektywa definiuje adres IP interfejsu,
+
  WorkingDirectory = /var/spool/bacula #kopiować z istniejących plików
na którym będzie nasłuchiwał demon.
+
  Pid Directory = /var/run #kopiować z istniejących plików
 +
  Maximum Concurrent Jobs = 1 # ilośc zadań jakie jednocześnie może wykonywac klient
 
  }
 
  }
 
  Director {
 
  Director {
  Name = backup-serwer-dir   # Name – nazwa zarządcy uprawnionego do używania
+
  Name = serwer-dir # nazwa zarzadcy uprawnionego do łączenia się z klientem
demona magazynowania. Nazwa zarządcy określanego w tej dyrektywie musi odpowiadać
+
  Password = "qwerty123-fd" #hasło, którym director będzie się autoryzować u klienta, musi byc takie samo jak w pliku bacula-dir odpowiednia sekcja Client
nazwie zarządcy zdefiniowanej w innych plikach konfiguracyjnych.
+
}
  Password = "s7s8,.zq"   # Password – hasło, którym zarządca będzie autoryzował się do
+
Messages {
demona magazynowania. Podane tu hasło definiowane jest również w pliku konfiguracyjnym zarządcy.
+
  Name = serwer-fd-raport-klient #nazwa zasobu, nigdzie indziej nie używana
 +
  Director = serwer-dir = all, !skipped, !restored #nazwa zarządcy oraz poziom logowania all, oprócz przywracania danych i zignorowanych
 
  }
 
  }
 +
 +
Uwaga hasło "''qwerty123-fd''"  jest przykładowe i powinno być zmienione, tak samo jak adresy IP nazwy hostów nazwy backupów i inne. Musisz dostosować plik do swoich potrzeb tutaj podany jest tylko wzór.
 +
== Bconsole ==
 +
Plik konfiguracyjny konsoli baculi to  '''bconsole.conf''' znajdujący się w katalogu ''/etc/bacula/''
 +
dla naszej konfiguracji plik może wyglądać jak poniżej
 
  Director {
 
  Director {
   Name = backup-serwer-mon
+
   Name = serwer-dir #z pliku bacula-dir, sekcja director
   Password = "s7s8,.zq"
+
   DIRport = 9101 #port na jakim działa bacula-director
   Monitor = yes
+
  address = 192.168.2.15 #ip serwera bacula-director
 +
   Password = "qwerty123-dir" # hasło do directora
 
  }
 
  }
  Device {
+
=== Przywracanie danych za pomocą bconsole ===
  Name = "serwer" # Name – nazwa urządzenia. Ta sama nazwa jest definiowana również w  
+
Aby używać konsoli baculi wydajemy polecenie jako użytkownik [[root]]
  pliku konfiguracyjnym zarządcy
+
  bconsole
  Media Type = File #typ woluminu. Określa jakiego typu nośniki obsługuje dane urządzenie.
+
aby przywrócić pliki, w konsoli baculi wydajemy polecenie
  Archive Device = /home/bacula/backup/serwer # Archive Device – lokalizacja urządzenia.  
+
  restore
  Jeśli urządzeniem jest dysk, to podawany jest tutaj punkt jego montowania
+
i wybieramy jedną z opcji.
  Device Type = File # Device Type – określa typ urządzenia. Możliwe typy urządzeń to: File
+
Aby zaznaczyć plik lub pliki do przywrócenia wydajemy polecenie
  dla dysków, Tape – dla urządzeń taśmowych, Fifo – dla kolejek FIFO, DVD – dla napędów DVD-ROM
+
mark jakiś_plik
  LabelMedia = yes;
+
mark * #przywracamy wszystkie pliki
  AutomaticMount = yes;
+
na koniec wydajemy polecenie
  RemovableMedia = no;    #mówi o tym, czy urządzenie obsługuje wymienne nośniki. Dla urządzeń
+
done
  taśmowych, napędów DVD jak i wyjmowalnych dysków (np. dyski zewnętrzne lub pendrive) dyrektywa
+
wybieramy z jakiego czasu chcemy przywrócić kopię np
  powinna być ustawiona na "yes". Dla stałych dysków dyrektywa powinna być ustawiona na "no"
+
1
  AlwaysOpen = no;
+
potwierdzamy za pomocą polecenia
  }
+
yes
  Device {
+
i dajemy
  Name = "slawek"
+
exit
  Media Type = File
+
całość może wyglądać tak
  Archive Device = /home/bacula/backup/slawek
+
$ '''bconsole'''
  LabelMedia = yes;
+
Connecting to Director 192.168.2.15:9101
  AutomaticMount = yes;
+
  1000 OK: ogrody-dir Version: 5.0.0 (26 January 2010)
  RemovableMedia = no;
+
  Enter a period to cancel a command.
  AlwaysOpen = no;
+
*'''restore'''
  }
+
Automatically selected Catalog: Baza-danych-bacula
  Messages {
+
Using Catalog "Baza-danych-bacula"
  Name = Standard  #nazwa zasobu. Używana jest na wewnętrzne potrzeby demona i nie zostaje
+
First you select one or more JobIds that contain files
  przekazana nigdzie na zewnątrz
+
to be restored. You will be presented several methods
  director = backup-serwer-dir = all  # Określa się tu dwie wartości: nazwę zarządcy do którego
+
of specifying the JobIds. Then you will be allowed to
  dyrektywa się tyczy oraz poziom logowania. Wartość 'all' oznacza, że raportowane będą wszystkie
+
select which files from those JobIds are to be restored.
  zmiany i statusy podczas pracy demona magazynowania.
+
To select the JobIds, you have the following choices:
  }
+
    1: List last 20 Jobs run
   
+
    2: List Jobs where a given File is saved
Uwaga hasło "''haslo123''" jest przykładowe i powinno być zmienione, tak samo jak adresy IP nazwy hostów nazwy backupów i inne. Musisz dostosować plik do swoich potrzeb tutaj podany jest tylko wzór.
+
    3: Enter list of comma separated JobIds to select
   
+
    4: Enter SQL list command
Więcej informacji znajdziesz na polskiej stronie na temat oprogramowania bacula [http://www.bacula.pl www.bacula.pl].
+
    5: Select the most recent backup for a client
 +
    6: Select backup for a client before a specified time
 +
    7: Enter a list of files to restore
 +
    8: Enter a list of files to restore before a specified time
 +
    9: Find the JobIds of the most recent backup for a client
 +
    10: Find the JobIds for a backup for a client before a specified time
 +
    11: Enter a list of directories to restore for found JobIds
 +
    12: Select full restore to a specified Job date
 +
    13: Cancel
 +
  Select item:  (1-13): '''12'''
 +
Enter JobId to get the state to restore: '''50'''
 +
Selecting jobs to build the Full state at 2012-09-18 00:05:03
 +
You have selected the following JobId: 50
 +
  Building directory tree for JobId(s) 50 ...  ++++++++++++++++++++++++++++++++++++++++++++++
 +
984 files inserted into the tree.
 +
You are now entering file selection mode where you add (mark) and
 +
  remove (unmark) files to be restored. No files are initially added, unless
 +
you used the "all" keyword on the command line.
 +
Enter "done" to leave this mode.
 +
cwd is: /
 +
  $ '''ls'''
 +
  var/
 +
$ '''mark *'''
 +
1,000 files marked.
 +
$ '''done'''
 +
Bootstrap records written to /var/spool/bacula/serwer-dir.restore.1.bsr
 +
The job will require the following
 +
  Volume(s)                Storage(s)                SD Device(s)
 +
===========================================================================   
 +
    serwer-serwer-plik-wtorek Dysk-Pendrive            Urzadzenie pendrive     
 +
  Volumes marked with "*" are online.
 +
1,000 files selected to be restored.
 +
  The defined Restore Job resources are:
 +
    1: Przywracanie-plikow-z-baza_danych-poniedzialek
 +
    2: Przywracanie-plikow-z-baza_danych-wtorek
 +
    3: Przywracanie-plikow-z-baza_danych-sroda
 +
    4: Przywracanie-plikow-baza_danych-czwartek
 +
    5: Przywracanie-plikow-z-baza_danych-piatek
 +
    6: Przywracanie-plikow-z-samby-poniedzialek
 +
    7: Przywracanie-plikow-z-samby-wtorek
 +
    8: Przywracanie-plikow-z-samby-sroda
 +
    9: Przywracanie-plikow-samby-czwartek
 +
    10: Przywracanie-plikow-z-samby-piatek
 +
  Select Restore Job (1-10): '''2'''
 +
  Automatically selected Client: backup_na_pendrive
 +
Run Restore job
 +
JobName:        Przywracanie-plikow-z-baza_danych-wtorek
 +
Bootstrap:      /var/spool/bacula/serwer-dir.restore.1.bsr
 +
  Where:          /root/bacula/restore-wtorek
 +
  Replace:        always
 +
FileSet:        Baza-danych-postgresql
 +
Backup Client:  backup_na_pendrive
 +
Restore Client:  backup_na_pendrive
 +
Storage:        Dysk-Pendrive
 +
When:            2012-09-16 15:34:27
 +
Catalog:        Baza-danych-bacula
 +
Priority:        10
 +
Plugin Options:  *None*
 +
OK to run? (yes/mod/no): '''yes'''
 +
  Job queued. JobId=56
 +
  *'''exit'''
 +
przywrócone pliki znajdują się w ścieżce ''/root/bacula/restor-DZIEN_TYGODNIA''
  
 
<br /><google1 style="4"></google1>
 
<br /><google1 style="4"></google1>

Aktualna wersja na dzień 20:54, 18 wrz 2012

Osobiste
Przestrzenie nazw

Warianty
Działania
Nawigacja
Narzędzia


Sponsor serwisu

Firma informatyczna ITProjek Bydgoszcz usługi informacztyczne, serwery, linux, windows, strony www, hosting, sieci komputerowe, system archiwizacji danych