<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://wiki.linux-user.eu/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl">
		<id>http://wiki.linux-user.eu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Slawek</id>
		<title>wiki linux-user - Wkład użytkownika [pl]</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.linux-user.eu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Slawek"/>
		<link rel="alternate" type="text/html" href="http://wiki.linux-user.eu/index.php/Specjalna:Wk%C5%82ad/Slawek"/>
		<updated>2026-06-03T01:53:40Z</updated>
		<subtitle>Wkład użytkownika</subtitle>
		<generator>MediaWiki 1.19.1</generator>

	<entry>
		<id>http://wiki.linux-user.eu/index.php/Zimbra</id>
		<title>Zimbra</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux-user.eu/index.php/Zimbra"/>
				<updated>2014-11-01T19:34:34Z</updated>
		
		<summary type="html">&lt;p&gt;Slawek: /* Instalacja */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Serwer]]&lt;br /&gt;
== Zimbra ==&lt;br /&gt;
&lt;br /&gt;
Przed instalacją serwera '''zimbra''' należy zwrócić uwagę na to że pakiet zimbra składa się z różnych innych paczek typu serwer [[Apache|http]] (apache), klienta mta ([[postfix]]), bazy danych [[MySQL|mysql]], [[LDAP|ldap]]'a i wielu innych. Dlatego do poprawnego działania zimbry należy wyłączyć wszystkie działające usługi w naszym systemie a najlepiej odinstalować je. Sama '''zimbra''' potrzebuje mieć zainstalowanego i skonfigurowanego przynajmniej w podstawowym stopniu serwer [[DNS]] np [[bind]]. Należy również pamiętać o odpowiednim skonfigurowaniu pliku [[hosts]], przykładowy dobrze skonfigurowany plik wygląda tak:&lt;br /&gt;
&lt;br /&gt;
 # Do not remove the following line, or various programs&lt;br /&gt;
 # that require network functionality will fail.&lt;br /&gt;
 127.0.0.1 moja-domenka.pl localhost.localdomain localhost&lt;br /&gt;
 ::1 localhost6.localdomain6 localhost6&lt;br /&gt;
 adres_ip moja-domenka.pl&lt;br /&gt;
&lt;br /&gt;
oficjalne strony projektu&lt;br /&gt;
&lt;br /&gt;
[http://www.zimbra.com www.zimbra.com]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://wiki.zimbra.com wiki.zimbra.com]&lt;br /&gt;
&lt;br /&gt;
== Instalacja ==&lt;br /&gt;
&lt;br /&gt;
Na początek ściągniemy paczkę z zimbr'ą, mamy do dyspozycji wersje 32 i 64 bitowe. Przechodzimy do katalogu do którego chcemy ściągnąć paczkę i wydajemy polecenie:&lt;br /&gt;
&lt;br /&gt;
 wget http://files.zimbra.com/downloads/5.0.2_GA/zcs-5.0.2_GA_1975.RHEL5.20080...&lt;br /&gt;
&lt;br /&gt;
Następnie rozpakujemy paczkę za pomocą tara i uruchomimy skrypt instalacyjny:&lt;br /&gt;
&lt;br /&gt;
 tar xvzf zcs-5.0.2_GA_1975.RHEL5.20080130221917.tgz&lt;br /&gt;
 cd zcs-5.0.2_GA_1975.RHEL5.20080130221917&lt;br /&gt;
 ./install.sh &lt;br /&gt;
&lt;br /&gt;
Powinniśmy zobaczyć coś w tym stylu:&lt;br /&gt;
&lt;br /&gt;
 Checking for existing installation...&lt;br /&gt;
 zimbra-ldap...NOT FOUND&lt;br /&gt;
 zimbra-logger...NOT FOUND&lt;br /&gt;
 zimbra-mta...NOT FOUND&lt;br /&gt;
 zimbra-snmp...NOT FOUND&lt;br /&gt;
 zimbra-store...NOT FOUND&lt;br /&gt;
 zimbra-apache...NOT FOUND&lt;br /&gt;
 zimbra-spell...NOT FOUND&lt;br /&gt;
 zimbra-proxy...NOT FOUND&lt;br /&gt;
 zimbra-archiving...NOT FOUND&lt;br /&gt;
 zimbra-cluster...NOT FOUND&lt;br /&gt;
 zimbra-core...NOT FOUND &lt;br /&gt;
&lt;br /&gt;
Jeżeli dostaliśmy błędy odnośnie naszego systemu, należy uruchomić skrypt z odpowiednim parametrem:&lt;br /&gt;
&lt;br /&gt;
 ./install.sh --platform-override&lt;br /&gt;
&lt;br /&gt;
Jeżeli wszystko poszło ok to czytamy licencję i ją akceptujemy. Powinniśmy zobaczyć coś takiego:&lt;br /&gt;
&lt;br /&gt;
 Checking for prerequisites...&lt;br /&gt;
 NPTL...FOUND&lt;br /&gt;
 sudo...FOUND sudo-1.6.7p12-10&lt;br /&gt;
 libidn...FOUND libidn-0.6.5-1.1&lt;br /&gt;
 fetchmail...FOUND fetchmail-6.3.6-1.1&lt;br /&gt;
 gmp...FOUND gmp-4.1.4-10&lt;br /&gt;
 compat-libstdc++-296...FOUND compat-libstdc++-296-2.96-138&lt;br /&gt;
 compat-libstdc++-33...FOUND compat-libstdc++-33-3.2.3-61&lt;br /&gt;
 libtool-ltdl...FOUND libtool-ltdl-1.5.22-6.1&lt;br /&gt;
 /usr/lib/libstdc++.so.6...FOUND&lt;br /&gt;
 Prerequisite check complete.&lt;br /&gt;
 Checking for standard system perl...&lt;br /&gt;
 perl-5.8.8...FOUND start system perl-5.8.8&lt;br /&gt;
 Checking for installable packages&lt;br /&gt;
 Found zimbra-core&lt;br /&gt;
 Found zimbra-ldap&lt;br /&gt;
 Found zimbra-logger&lt;br /&gt;
 Found zimbra-mta&lt;br /&gt;
 Found zimbra-snmp&lt;br /&gt;
 Found zimbra-store&lt;br /&gt;
 Found zimbra-apache&lt;br /&gt;
 Found zimbra-spell&lt;br /&gt;
 Found zimbra-proxy &lt;br /&gt;
&lt;br /&gt;
Następnie wybieramy paczki do instalacji. Najlepiej jest zostawić domyślny układ, tak więc akceptujemy wszystko naciskając klawisz ''enter''&lt;br /&gt;
&lt;br /&gt;
 Install zimbra-ldap [Y]&lt;br /&gt;
 Install zimbra-logger [Y]&lt;br /&gt;
 Install zimbra-mta [Y]&lt;br /&gt;
 Install zimbra-snmp [Y]&lt;br /&gt;
 Install zimbra-store [Y]&lt;br /&gt;
 Install zimbra-apache [Y]&lt;br /&gt;
 Install zimbra-spell [Y]&lt;br /&gt;
 Install zimbra-proxy [N] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Na końcu możesz zobaczyć ostrzeżenie takie jak to:&lt;br /&gt;
&lt;br /&gt;
 You appear to be installing packages on a platform different&lt;br /&gt;
 than the platform for which they were built&lt;br /&gt;
 This platform is CentOS5&lt;br /&gt;
 Packages found: zimbra-core-5.0.2_GA_1975.RHEL5-20080130221917.i386.rpm&lt;br /&gt;
 This may or may not work&lt;br /&gt;
 Install anyway? [N] Y&lt;br /&gt;
 The system will be modified. Continue? [N] Y &lt;br /&gt;
&lt;br /&gt;
W ostatnim etapie instalacji jeśli wszystko potoczyło się po naszej myśli zobaczysz menu  '''Main Menu'''. W którym musisz zmienić hasło administratora systemu pocztowego (musisz wybrać opcję''' 3''') w kolejnym menu wybierasz opcję '''4''' i zostajesz poproszony o zmianę hasła admina. Następnie wciszkasz '''enter''', przechodzisz do poprzedniego menu w którym wybierasz opcję '''a'''. W celu zapisania zmian potwierdzasz '''enterem''' i gotowe. Musisz również zadbać o poprawne skonfigurowanie serwera [[DNS]]. Jest to wymagane do poprawnego działania poczty.&lt;br /&gt;
&lt;br /&gt;
Teraz możesz wejść na swoją pocztę poprzez przeglądarkę http://IP_SERWERA lub na panell administracyjny https://IP_SERWERA:7071&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;google1 style=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/google1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.omed.pro Oprogramowanie medyczne dla przychodni]&lt;/div&gt;</summary>
		<author><name>Slawek</name></author>	</entry>

	<entry>
		<id>http://wiki.linux-user.eu/index.php/TCP_Wrapper</id>
		<title>TCP Wrapper</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux-user.eu/index.php/TCP_Wrapper"/>
				<updated>2013-03-28T08:13:02Z</updated>
		
		<summary type="html">&lt;p&gt;Slawek: Utworzył nową stronę „Category:Bezpieczeństwo == TCP Wrapper == '''TCP Wrapper''' służy do filtrowania połączeń TCP, może stanowić kolejną zaporę bezpieczeństwa przed niech...”&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Bezpieczeństwo]]&lt;br /&gt;
== TCP Wrapper ==&lt;br /&gt;
'''TCP Wrapper''' służy do filtrowania połączeń TCP, może stanowić kolejną zaporę bezpieczeństwa przed niechcianymi połączeniami z usługami działającymi na serwerze.&lt;br /&gt;
&lt;br /&gt;
=== Instalacja TCP Wrapper ===&lt;br /&gt;
Jeśli jakimś cudem tcp wrapper nie zainstalował się razem z instalacją systemu to wydaj polecenie (systemy bazujące na RedHat)&lt;br /&gt;
 # yum -y install tcp_wrappers&lt;br /&gt;
&lt;br /&gt;
=== Podstawowe opcje ===&lt;br /&gt;
* ALLOW - zezwól na połączenie w przypadku dopasowania&lt;br /&gt;
* DENY - zabroń połączenia w przypadku dopasowania&lt;br /&gt;
* keepalive - sprawdzaj, czy połączenie jest aktywne&lt;br /&gt;
* spawn polecenie - wykonaj podane polecenia&lt;br /&gt;
* EXCEPT - &amp;quot;oprócz&amp;quot; - słowo pozwalające na ustalenie wyjątków z danej klasy dostępu&lt;br /&gt;
&lt;br /&gt;
Każda linia w pliku hosts.allow i hosts.deny opisująca dostęp do usługi powinna wyglądać następująco&lt;br /&gt;
 usługi : klienci : opcja : opcja : opcja ...&lt;br /&gt;
&lt;br /&gt;
=== Konfiguracja ===&lt;br /&gt;
Zezwalanie oraz blokowanie dostępu do wybranych usług poprzez TCP Wrapper odbywa się w plikach ''/etc/hosts.allow'' oraz ''/etc/hosts.deny'', przykłady poniżej pokazują w jaki sposób można użyć tych plików.&lt;br /&gt;
&lt;br /&gt;
* dajemy dostęp do ssh komputerom tylko z sieci ''10.0.0.*''&lt;br /&gt;
 # vim /etc/hosts.deny&lt;br /&gt;
 sshd: ALL&lt;br /&gt;
&lt;br /&gt;
 # vim /etc/hosts.allow&lt;br /&gt;
 sshd: 10.0.0.&lt;br /&gt;
&lt;br /&gt;
* dajemy dostęp do serwera [[vsftpd]] z komputerów, które znajdują się w domenie ''linux-user.eu''&lt;br /&gt;
 # vim /etc/hosts.deny&lt;br /&gt;
 vsftpd: ALL&lt;br /&gt;
&lt;br /&gt;
 # vim /etc/hosts.allow&lt;br /&gt;
 vsftpd: linux-user.eu&lt;br /&gt;
&lt;br /&gt;
* Dajemy dostęp  do wszystkich usług działających pod kontrolą TCP Wrapper, tylko komputerom z domeny i ewentualnie subdomeny ''linux-user.eu'' i sieci ''10.1.1.*'' &lt;br /&gt;
 vim /etc/hosts.deny&lt;br /&gt;
 ALL: ALL&lt;br /&gt;
 # vim /etc/hosts.allow&lt;br /&gt;
 ALL: .linux-user.eu 10.1.1.&lt;br /&gt;
&lt;br /&gt;
Musisz pamiętać, że '''TCP Wrapper''' chroni usługi tylko TCP, skompilowane z biblioteką libwrap lub uruchamiane z poziomu inetd. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;google1 style=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/google1&amp;gt;&lt;/div&gt;</summary>
		<author><name>Slawek</name></author>	</entry>

	<entry>
		<id>http://wiki.linux-user.eu/index.php/Nagios</id>
		<title>Nagios</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux-user.eu/index.php/Nagios"/>
				<updated>2012-11-19T10:39:26Z</updated>
		
		<summary type="html">&lt;p&gt;Slawek: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Serwer]]&lt;br /&gt;
== Nagios ==&lt;br /&gt;
W tym howto opiszę w jaki sposób można monitorować zdalne maszyny za pomocą oprogramowania '''Nagios'''.&lt;br /&gt;
'''Nagios''' jest oprogramowaniem, które umożliwia monitorowanie zdalnych maszyn oraz ich usług. Więcej na temat co to jest nagios można poczytać [http://www.nagios.org/about/overview/ tutaj].&amp;lt;br /&amp;gt;&lt;br /&gt;
Opisane poniżej kroki wykonywałem na:&lt;br /&gt;
* serwer monitorujący nagios Centos 6.2 i386&lt;br /&gt;
* hosty monitorowane Fedora 16, Centos 5.5, WindowsXP &lt;br /&gt;
monitorowane usługi to między innymi:&lt;br /&gt;
* ping&lt;br /&gt;
* http&lt;br /&gt;
* ilość wolnego miejsca na dysku&lt;br /&gt;
* zalogowani użytkownicy w systemie&lt;br /&gt;
&lt;br /&gt;
=== Przygotowanie środowiska ===&lt;br /&gt;
Do poprawnego działania oprogramowania '''Nagios''' potrzebujemy jedynie serwera stron ''www'' w celu wyświetlenia web-gui. Jak zainstalować serwer np Apach pokazane jest [[Apache|tutaj]]. &lt;br /&gt;
Potrzebujemy również jakieś repo w celu zainstalowania środowiska Nagios, ja użyłem repozytorium rpmforge.&lt;br /&gt;
Ściągamy paczkę rpmforge (ja pobieram dla maszyny 32 bitowej)&lt;br /&gt;
 wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i686.rpm&lt;br /&gt;
Instalujemy klucze GPG&lt;br /&gt;
 rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt&lt;br /&gt;
Jeśli dostaniesz taki błąd jak poniżej&lt;br /&gt;
 error: http://apt.sw.be/RPM-GPG-KEY.dag.txt: key 1 import failed.&lt;br /&gt;
to zweryfikuj paczkę poleceniem&lt;br /&gt;
 rpm -K rpmforge-release-0.5.2-2.el6.rf.*.rpm&lt;br /&gt;
a następnie zainstaluj repozytorium rpmforge poleceniem&lt;br /&gt;
 rpm -i rpmforge-release-0.5.2-2.el6.rf.*.rpm&lt;br /&gt;
to powinno dodać repozytorium rpmforge do Twojej listy repo.&lt;br /&gt;
W instalacji przewidziałem również że nie będę używał żadnego firewalla czy selinuxa chociaż jest to '''bardzo ryzykowne'''.&lt;br /&gt;
&lt;br /&gt;
=== Instalacja nagiosa (serwer monitorujący) ===&lt;br /&gt;
Aby zainstalować oprogramowanie '''Nagios''' wydajemy polecenie &lt;br /&gt;
 yum install *nagios*&lt;br /&gt;
najważniejsze paczki, które powinny się zainstalować to &lt;br /&gt;
nagios                              &lt;br /&gt;
* nagios-devel                       &lt;br /&gt;
* nagios-nrpe                         &lt;br /&gt;
* nagios-nsca                                         &lt;br /&gt;
* nagios-plugins                      &lt;br /&gt;
* nagios-plugins-nrpe                  &lt;br /&gt;
* nagios-plugins-setuid               &lt;br /&gt;
w moim przypadku Nagios jest w wersji '''3.2.3-3.el6'''.&lt;br /&gt;
Jeżeli wszystko poszło bez żadnych błędów to powinniśmy mieć już zainstalowanego nagiosa. Usługę można włączać/wyłączać/restartować za pomocą polecenia&lt;br /&gt;
 service nagios restart&lt;br /&gt;
lub&lt;br /&gt;
 service nagios start&lt;br /&gt;
lub &lt;br /&gt;
 service nagios stop&lt;br /&gt;
warto również dodać nagiosa do listy uruchamianych usług podczas uruchamiania systemu&lt;br /&gt;
 chkconfig nagios on&lt;br /&gt;
warto również to samo zrobić z serwerem apach&lt;br /&gt;
 chkconfig httpd on&lt;br /&gt;
Mamy również bardzo przydatną komendę nagiosa do sprawdzania stanu plików konfiguracyjnych, szczególnie przydatna jeśli nie chce wstać nam usługa nagiosa&lt;br /&gt;
 nagios -v /etc/nagios/nagios.cfg&lt;br /&gt;
&lt;br /&gt;
=== Konfiguracja serwera Nagios ===&lt;br /&gt;
W tym momencie mamy zainstalowane oraz uruchomione oprogramowanie Nagios oraz [[apache]]&lt;br /&gt;
 service nagios start&lt;br /&gt;
oraz&lt;br /&gt;
 service httpd start&lt;br /&gt;
Kolejnym krokiem jest nadanie użytkownika i hasła do przeglądania web-gui nagiosa wydając polecenie&lt;br /&gt;
 htpasswd -c /etc/nagios/htpasswd.users nagios&lt;br /&gt;
i możemy zalogować się do web-gui nagiosa za pomocą przeglądarki internetowej na adres&amp;lt;br /&amp;gt;&lt;br /&gt;
http://adres-ip-serwera-nagios/nagios&amp;lt;br /&amp;gt;&lt;br /&gt;
podając wcześniej skonfigurowane dane użytkownika i jego hasło.&lt;br /&gt;
&lt;br /&gt;
==== Pliki konfiguracyjne serwera nagios ====&lt;br /&gt;
Głównym plikiem konfiguracyjnym nagiosa jest plik /etc/nagios/nagios.cfg, natomiast logi domyślnie znajdują się w katalogu ''/var/log/nagios''.&lt;br /&gt;
===== /etc/nagios/nagios.cfg =====&lt;br /&gt;
w tym pliku znajduje się wiele ciekawych opcji a jedną z najważniejszych dla nas jest &lt;br /&gt;
 cfg_file=/etc/nagios/objects/localhost.cfg&lt;br /&gt;
 cfg_file=/etc/nagios/objects/serwer-www.cfg&lt;br /&gt;
która umożliwia pokazanie nagiosowi pliku konfiguracyjnego z nowo dodanym monitoringiem dla zdalnego hosta tzw objekt.&lt;br /&gt;
Kolejnym albo kolejnymi ważnymi plikami są tzw pliki obiektów znajdujące się w ścieżce ''/etc/nagios/objects''. &lt;br /&gt;
===== /etc/nagios/objects/serwer-www.cfg =====&lt;br /&gt;
Powyższy przykładowy wpis zawiera dane odnośnie monitorowanego systemu tzn adres &lt;br /&gt;
* adres serwera&lt;br /&gt;
* nazwa wyświetlana&lt;br /&gt;
* określenie grupy&lt;br /&gt;
* definicja monitorowanych usług&lt;br /&gt;
Do plików nowych maszyn możemy przekopiować zawartość pliku ''localhost.cfg'' i tak też zrobiłem tym razem jednak później należy go dostosować do własnych potrzeb, gdyż obiekt localhost.cfg jak sama nazwa wskazuje ustawiony jest do monitorowania maszyny lokalnej a nie zdalnej. &amp;lt;br /&amp;gt;&lt;br /&gt;
Do monitorowania mojego serwera www potrzebuję jedynie takich definicji jak&lt;br /&gt;
* monitorowanie pinga&lt;br /&gt;
* monitorowanie dysku całego lub partycji&lt;br /&gt;
* monitorowanie zalogowanych obecnie użytkowników do serwera&lt;br /&gt;
* monitorowanie usługi http&lt;br /&gt;
poniżej wklejam dopasowany do moich potrzeb plik serwer-www.cfg&lt;br /&gt;
 define host{&lt;br /&gt;
        use                     linux-server&lt;br /&gt;
        host_name               serwer-www&lt;br /&gt;
        alias                   serwer-www&lt;br /&gt;
        address                 192.168.0.12&lt;br /&gt;
        }&lt;br /&gt;
 define hostgroup{&lt;br /&gt;
        hostgroup_name  linux-servers&lt;br /&gt;
        alias           Linux Servers ; Long name of the group&lt;br /&gt;
        members         serwer-www&lt;br /&gt;
        }&lt;br /&gt;
 define service{&lt;br /&gt;
        use                             generic-service         ; Name of service template to use&lt;br /&gt;
        host_name                       serwer-www&lt;br /&gt;
        service_description             PING&lt;br /&gt;
        check_command                   check_ping!100.0,20%!500.0,60%&lt;br /&gt;
        }&lt;br /&gt;
 define service{&lt;br /&gt;
        use                             generic-service         ; Name of service template to use&lt;br /&gt;
        host_name                       serwer-www&lt;br /&gt;
        service_description             Partycja home&lt;br /&gt;
        check_command                   check_nrpe!check_disk!20%!10%!/dev/sda6&lt;br /&gt;
        }&lt;br /&gt;
 define service{&lt;br /&gt;
        use                             generic-service         ; Name of service template to use&lt;br /&gt;
        host_name                       serwer-www&lt;br /&gt;
        service_description             Current Users&lt;br /&gt;
        check_command                   check_nrpe!check_users!20!50&lt;br /&gt;
        }&lt;br /&gt;
 define service{&lt;br /&gt;
        use                             generic-service         ; Name of service template to use&lt;br /&gt;
        host_name                       check-www&lt;br /&gt;
        service_description             HTTP&lt;br /&gt;
        check_command                   check_nrpe!check_httpd&lt;br /&gt;
        notifications_enabled           0&lt;br /&gt;
        }&lt;br /&gt;
 &lt;br /&gt;
W tym momencie próba zrestartowania usługi nagiosa będzie nieudana gdyż w pliku konfiguracyjnym serwer-www.cfg mamy podane nie istniejące definicje komend  a dokładniej chodzi o trzy definicje czyli&lt;br /&gt;
* check_disk&lt;br /&gt;
* check_users&lt;br /&gt;
* check_nrpe&lt;br /&gt;
błąd można bardzo łatwo wykryć poleceniem &lt;br /&gt;
 # nagios -v /etc/nagios/nagios.cfg &lt;br /&gt;
 Nagios Core 3.2.3&lt;br /&gt;
 Copyright (c) 2009-2010 Nagios Core Development Team and Community Contributors&lt;br /&gt;
 Copyright (c) 1999-2009 Ethan Galstad&lt;br /&gt;
 Last Modified: 10-03-2010&lt;br /&gt;
 License: GPL&lt;br /&gt;
 Website: http://www.nagios.org &lt;br /&gt;
 Reading configuration data...&lt;br /&gt;
   Read main config file okay...&lt;br /&gt;
 Processing object config file '/etc/nagios/objects/commands.cfg'...&lt;br /&gt;
 Processing object config file '/etc/nagios/objects/contacts.cfg'...&lt;br /&gt;
 Processing object config file '/etc/nagios/objects/timeperiods.cfg'...&lt;br /&gt;
 Processing object config file '/etc/nagios/objects/templates.cfg'...&lt;br /&gt;
 Processing object config file '/etc/nagios/objects/localhost.cfg'...&lt;br /&gt;
 Processing object config file '/etc/nagios/objects/serwer-www.cfg'...&lt;br /&gt;
 Warning: Duplicate definition found for service 'HTTP' on host 'localhost' (config file '/etc/nagios/objects/localhost.cfg',  starting on line 150)&lt;br /&gt;
   Read object config files okay...&lt;br /&gt;
 Running pre-flight check on configuration data...&lt;br /&gt;
 Checking services...&lt;br /&gt;
 Error: Service check command 'check_nrpe' specified in service 'Current Users' for host 'serwer-www' not defined anywhere!&lt;br /&gt;
 Error: Service check command 'check_nrpe' specified in service 'Partycja home' for host 'serwer-www' not defined anywhere!&lt;br /&gt;
 ....&lt;br /&gt;
 Total Warnings: 0&lt;br /&gt;
 Total Errors:   2&lt;br /&gt;
 ***&amp;gt; One or more problems was encountered while running the pre-flight check...&lt;br /&gt;
     Check your configuration file(s) to ensure that they contain valid&lt;br /&gt;
     directives and data defintions.  If you are upgrading from a previous&lt;br /&gt;
     version of Nagios, you should be aware that some variables/definitions&lt;br /&gt;
     may have been removed or modified in this version.  Make sure to read&lt;br /&gt;
     the HTML documentation regarding the config files, as well as the&lt;br /&gt;
     'Whats New' section to find out what has changed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
co dosyć dokładnie określa nam gdzie jest błąd. Aby usunąć powyższy błąd należy dodać do pliku ''/etc/nagios/objects/commands.cfg'' definicję nowych komend.&lt;br /&gt;
&lt;br /&gt;
===== /etc/nagios/objects/commands.cfg =====&lt;br /&gt;
Plik '''commands.cfg''' przechowuje komendy dla definicji usług, które mają być monitorowane. Dla przykładu dodam dwie definicje monitorowania dysku oraz użytkowników.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Deinicja monitorowania zdalnego dysku&lt;br /&gt;
 define command{&lt;br /&gt;
        command_name    check_disk&lt;br /&gt;
        command_line    $USER1$/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$&lt;br /&gt;
        }&lt;br /&gt;
zwróć uwagę na nazwę opcji ''command_name'' czyli  ''check_disk'' musi się zgadzać z nazwą użytą w pliku ''serwer-www.cfg''&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Definicja monitorowania użytkowników&lt;br /&gt;
 define command{&lt;br /&gt;
        command_name    check_users&lt;br /&gt;
        command_line    $USER1$/check_users -w $ARG1$ -c $ARG2$&lt;br /&gt;
        }&lt;br /&gt;
Definicja check_nrpe potrzebna do zdalnego monitorowania&lt;br /&gt;
 define command{&lt;br /&gt;
        command_name    check_nrpe&lt;br /&gt;
        command_line    $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
reguła działania jest bardzo podobna&lt;br /&gt;
opcje &lt;br /&gt;
*'''-w''' określa kiedy występuje warning&lt;br /&gt;
*'''-c''' określa kiedy występuje critical&lt;br /&gt;
zakres tych opcji zostanie ustalony na klientach (stacjach monitorowanych).&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Po wprowadzeniu tych zmian restartujemy nagiosa&lt;br /&gt;
 service nagios restart&lt;br /&gt;
tym razem powinien uruchomić się bez problemu, a po chwili powinniśmy zobaczyć nową maszyne w panelu web-gui nagiosa.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Plik:nagios1.png|800px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Jak można zauważyć mam dwa błędy krytyczne z błedem ''Connection refused by host '', można się tylko domyślać, że nie mam poprawnie skonfigurowanego klienta (hosta monitorowanego).&lt;br /&gt;
&lt;br /&gt;
=== Konfiguracja klienta Linux - stacja monitorowana ===&lt;br /&gt;
Moim klientem czyli maszyna, którą chcę monitorować jest Fedora 16 z zainstalowanym oprogramowaniem apache, dlatego też nazwa w nagiosie ''serwer-www''. Aby zainstalować w systemie Linux klienta dla nagiosa wydajemy polecenie&lt;br /&gt;
 yum install nrpe nagios-plugins-nrpe&lt;br /&gt;
program nrpe robi za klienta który nasłuchuje na porcie 5666 a pakiet nagios-plugins-nrpe dostarcza nam pluginy, które możemy wykorzystać do monitorowania swoich usług.&amp;lt;br /&amp;gt;&lt;br /&gt;
Po zainstalowaniu pakietu ''nagios-plugins-nrpe'' wszystkie pluginy powinny znajdować się w ścieżce ''/usr/lib/nagios/plugins'' lub w ''/usr/local/nagios/libexec/'' w zależności od używanego systemu.&amp;lt;br /&amp;gt;&lt;br /&gt;
Na maszynie monitorowanej najważniejszym plikiem jest ''/etc/nagios/nrpe.cfg'', który jest dostępny po zainstalowaniu paczki '''nrpe'''. W tym pliku konfigurujemy między innymi takie opcje jak &lt;br /&gt;
* '''server_port''' port na którym ma działać usługa (domyślnie 5666)&lt;br /&gt;
* '''server_address''' adres serwera nrpe (czyli lokalny)&lt;br /&gt;
* '''nrpe_user''', ''' nrpe_group''' użytkownika i grupę nrpe (zostawiamy domyślnie)&lt;br /&gt;
* '''allowed_hosts''' hosty, które mają możliwość odebrania informacji od nrpe (ważna opcja musimy w tym miejscu podać IP lub nazwę DNS serwera monitorującego)&lt;br /&gt;
* '''dont_blame_nrpe=1''' opcja domyślnie ustawiona na '''0''', musimy ją przestawić na '''1''' jeśli chcemy mieć możliwość dopuszczania argumentów w komendach z definicji&lt;br /&gt;
* '''command[check_load]=/usr/lib/nagios/plugins/check_load -w 15,10,5 -c 30,25,20''' właściwa komenda dla serwera odpytującego &lt;br /&gt;
do mojego konfiga '''nrpe.cfg''' muszę dodać dwie dodatkowe reguły takie same jak podałem w plikach '''commands.cfg''' i '''serwer-www.cfg''' na serwerze nagiosa (zauważ, że nazwy '''check_disk''' oraz '''check_users''' w poszczególnych plikach muszą być takie same) czyli &lt;br /&gt;
* check_users&lt;br /&gt;
* check_disk&lt;br /&gt;
===== komenda dla sprawdzenia partycji =====&lt;br /&gt;
komenda dla sprawdzenia mojej np partycji /dev/sda6 będzie wyglądała następująco&lt;br /&gt;
 command[check_disk]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/sda5&lt;br /&gt;
gdzie &lt;br /&gt;
* '''-w''' określa poziom dla zdarzenia ''warning'' ustawiłem na 20% wolnej przestrzeni na partycji&lt;br /&gt;
* '''-c''' to samo co wyżej tylko dla zdarzenia ''critical'' ustawione na 10% wolnej przestrzeni&lt;br /&gt;
* '''-p''' określa jakie urządzenie ma być monitorowane&lt;br /&gt;
* '''/usr/local/nagios/libexec/check_disk''' ścieżka do pluginów zainstalowanych z pakietu ''nagios-plugins-nrpe''&lt;br /&gt;
===== komenda dla sprawdzenia użytkowników =====&lt;br /&gt;
aby sprawdzić ile osób jest zalogowanych na danej maszynie musisz dopisać następującą linijkę&lt;br /&gt;
 command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10&lt;br /&gt;
gdzie&lt;br /&gt;
* '''-w''' warning&lt;br /&gt;
* '''-c''' critical&lt;br /&gt;
* '''/usr/local/nagios/libexec/check_users''' ścieżka do pluginu&lt;br /&gt;
&lt;br /&gt;
===== komenda dla sprawdzenia stanu http =====&lt;br /&gt;
aby sprawdzić stan serwera http możesz dopisać taką regułe&lt;br /&gt;
 command[check_httpd]=/usr/local/nagios/libexec/check_http -I 192.168.0.12 -w 20 -c 60&lt;br /&gt;
&lt;br /&gt;
Opis poszczególnych pluginów i ich możliwych opcji możecie wyszukać na stronie [http://nagiosplugins.org/ nagiosplugins.org]&lt;br /&gt;
Po wyżej wymienionych zmianach uruchamiamy lub restartujemy program '''nrpe'''&lt;br /&gt;
 service nrpe restart&lt;br /&gt;
i po chwili powinny być widoczne zmiany w web-gui serwera nagios&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Plik:nagios2.png|800px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Jak widać mam jednego ''warninga'' przy opcji ''Current Users'', ponieważ ustawiłem opcję '''-w''' na '''2''' a w danej chwili jest zalogowanych 3 userów.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Konfiguracja klienta Windows - stacja monitorowana ===&lt;br /&gt;
Konfiguracja klienta winsows na serwerze monitorującym nie różni się niczym od konfiguracji monitorowanej stacji z systemem Linux. Dlatego tutaj opisze co należy wykonać na systemie Windows XP aby zadziałał monitoring.&amp;lt;br /&amp;gt;&lt;br /&gt;
Zaczynamy od ściągnięcia ze strony [http://www.nagios.org/download/addons www.nagios.org/download/addons] paczki z klientem dla systemu Windows. Następnie należy rozpakować ściągniętą paczkę i przejść do katalogu odpowiedniego dla swojego systemu w moim przypadku będzie to '''Win_2k_XP_Bin'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
Następnie kopiujemy pliki ''pNSClient.exe'', ''pdh.dll'', ''psapi.dll'', ''counters.defs'' do katalogu np ''C://nsclient''.&amp;lt;br /&amp;gt;&lt;br /&gt;
Otwieramy wiersz poleceń systemu Windows i przechodzimy do katalogu gdzie zostały przekopiowane wyżej wymienione pliki i wpisujemy polecenie &lt;br /&gt;
 pNSClient.exe /install&lt;br /&gt;
a następnie żeby uruchomić usługę &lt;br /&gt;
 net start client &lt;br /&gt;
więcej szczegółów znajdziesz w pliku README ściągniętej paczki.&lt;br /&gt;
&lt;br /&gt;
== Nagios web-gui ==&lt;br /&gt;
W samym web-gui nagiosa aby przyśpieszyć albo wysłać z ręki zapytanie o status usługi do danego klienta klikamy na usługa (np ''HTTP'') -&amp;gt; następnie po lewej stronie w tabelce na opcję ''Re-schedule the next check of this service'' -&amp;gt; klikamy na przycisk ''Commit'' -&amp;gt; klikamy na ''Done''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;google1 style=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/google1&amp;gt;&lt;/div&gt;</summary>
		<author><name>Slawek</name></author>	</entry>

	<entry>
		<id>http://wiki.linux-user.eu/index.php/Ograniczenie_Bash%27a</id>
		<title>Ograniczenie Bash'a</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux-user.eu/index.php/Ograniczenie_Bash%27a"/>
				<updated>2012-11-04T08:41:02Z</updated>
		
		<summary type="html">&lt;p&gt;Slawek: Napisanie artykułu&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Bezpieczeństwo]]&lt;br /&gt;
== Ograniczenie Bash'a ==&lt;br /&gt;
W tym miejscu postaram się wyjaśnić w jaki sposób można przypisać danemu użytkownikowi w systemie tylko te polecenia, które chcemy aby mógł wykonać w konsoli bash'a. Takie ograniczenie w pewnym stopniu pozwala na wprowadzenie kontroli nad tym kto co może zrobić w systemie.&lt;br /&gt;
Poniższe kroki testowałem na systemach z rodziny RH.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguracja systemu ===&lt;br /&gt;
Na początku tworzymy link symboliczny za pomocą polecenia [[ls]] do bash'a, możemy go nazwać jak kolwiek chcemy.&lt;br /&gt;
 ln -s /bin/bash /opt/nowy-bash&lt;br /&gt;
Dodajemy użytkownika, którego domyślnym shell'em będzie nasz ''nowy-bash'' lub też zmieniamy domyślnego shell'a już istniejącemu użytkownikowi&lt;br /&gt;
 useradd test -s /opt/nowy-bash&lt;br /&gt;
 passwd test&lt;br /&gt;
dodajemy katalog w którym będziemy umieszczać linki do programów shell'a&lt;br /&gt;
 mkdir /home/test/bin&lt;br /&gt;
i dodajemy linki z istniejących programów shell'a do naszej nowej lokalizacji. Oczywiście linki tworzymy tylko do tych programów do których użytkownik ma mieć dostęp&lt;br /&gt;
 ln -s /bin/ping /home/test/bin/ping&lt;br /&gt;
uniemożliwiamy zmianę pliku ''.bash_profile'' przez zwykłego użytkownika&lt;br /&gt;
 chown root. /home/cern/.bash_profile&lt;br /&gt;
 chmod 755 /home/cern/.bash_profile&lt;br /&gt;
edytujemy plik .bash_profile użytkownika, któremu ograniczamy shell'a i zmieniamy ścieżkę zmiennej ''PATH'' do folderu z udostępnionymi poleceniami&lt;br /&gt;
 vim /home/test/.bash_profile&lt;br /&gt;
 PATH=$HOME/bin&lt;br /&gt;
teraz możesz sprobować zalogować się na danego użytkownika, efekt powinien być podobny do poniższego&lt;br /&gt;
 su test&lt;br /&gt;
 cd&lt;br /&gt;
 -rbash: cd: restricted&lt;br /&gt;
&lt;br /&gt;
 ls&lt;br /&gt;
 -rbash: ls: command not found&lt;br /&gt;
&lt;br /&gt;
 ping wp.pl&lt;br /&gt;
 PING wp.pl (212.77.100.101) 56(84) bytes of data.&lt;br /&gt;
 64 bytes from www.wp.pl (212.77.100.101): icmp_req=1 ttl=247 time=10.1 ms&lt;br /&gt;
 64 bytes from www.wp.pl (212.77.100.101): icmp_req=2 ttl=247 time=10.1 ms&lt;br /&gt;
 64 bytes from www.wp.pl (212.77.100.101): icmp_req=3 ttl=247 time=9.93 ms&lt;br /&gt;
 64 bytes from www.wp.pl (212.77.100.101): icmp_req=4 ttl=247 time=10.2 ms&lt;br /&gt;
 64 bytes from www.wp.pl (212.77.100.101): icmp_req=5 ttl=247 time=10.8 ms&lt;br /&gt;
 64 bytes from www.wp.pl (212.77.100.101): icmp_req=6 ttl=247 time=14.0 ms&lt;br /&gt;
 64 bytes from www.wp.pl (212.77.100.101): icmp_req=7 ttl=247 time=13.8 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- wp.pl ping statistics ---&lt;br /&gt;
 7 packets transmitted, 7 received, 0% packet loss, time 6007ms&lt;br /&gt;
 rtt min/avg/max/mdev = 9.937/11.316/14.075/1.707 ms&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;google1 style=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/google1&amp;gt;&lt;/div&gt;</summary>
		<author><name>Slawek</name></author>	</entry>

	<entry>
		<id>http://wiki.linux-user.eu/index.php/OCS_Inventory_NG_Server</id>
		<title>OCS Inventory NG Server</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux-user.eu/index.php/OCS_Inventory_NG_Server"/>
				<updated>2012-10-08T09:37:19Z</updated>
		
		<summary type="html">&lt;p&gt;Slawek: /* Instalacja OCS Inventory NG Server 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Serwer]]&lt;br /&gt;
== OCS Inventory NG Server ==&lt;br /&gt;
&lt;br /&gt;
'''OCS Inventory''' jest oprogramowaniem (klient/serwer), które umożliwia automatyczne przeprowadzanie inwentaryzacji sprzętu komputerowego w sieci. Każdy komputer, który ma być zinwentaryzowany musi mieć zainstalowanego agenta. Agent może być skonfogurowany tak aby automatycznie przesyłał wszystkie dane na serwer lub aby działał lokalnie na komputerze.&amp;lt;br /&amp;gt;&lt;br /&gt;
Całe niezbędne oprogramowanie tzn paczke z serwerem dla linuxa jak i windowsa oraz paczki z agentami możemy pobrać ze strony [http://www.ocsinventory-ng.org/en/download/ www.ocsinventory-ng.org/en/download/]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
W tym howto zostanie zademonstrowana instalacja serwera '''OCS Inventory w wersji 2.0''' na serwerze z zainstalowanym systemem linux 5.5, 32-bitowy.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Do poprawnego działania serwera będziemy potrzbowali:&lt;br /&gt;
*serwer stron www (apache)&lt;br /&gt;
*serwer baz danych (mysql)&lt;br /&gt;
*obsługa php&lt;br /&gt;
*perl&lt;br /&gt;
&lt;br /&gt;
== Instalacja serwera Apache ==&lt;br /&gt;
Instalacja serwera stron www '''apache''', zostałą zademonstrowana w tym howto [[apache]]&lt;br /&gt;
&lt;br /&gt;
Instalacja serwera MySQL&lt;br /&gt;
Instalacja serwera [[MySQL|mysql]] została pokazana w howto [[MySQL]]&lt;br /&gt;
Jeżeli nie mamy zazinstalowanych pakietów wymienionych poniżej to dociągamy je yum'em&lt;br /&gt;
&lt;br /&gt;
 yum install php-mysql php-pecl-zip php-gd&lt;br /&gt;
&lt;br /&gt;
Jeżeli mamy już wszystko zainstalowane to startujemy serwer '''mysql''' jak i '''httpd'''&lt;br /&gt;
 /etc/init.d/mysqld start&lt;br /&gt;
 chkconfig --level 345 mysqld on&lt;br /&gt;
oraz&lt;br /&gt;
 /etc/init.d/httpd start&lt;br /&gt;
 chkconfig --level 345 httpd on&lt;br /&gt;
&lt;br /&gt;
== Instalacja dodatkowych repozytoriów ==&lt;br /&gt;
Teraz doinstalujemy repozytorium ''EPEL'', które jest nam potrzebne do zainstalowania niezbędnego oprogramowania w tym celu wydajemy polecenie&lt;br /&gt;
 rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm&lt;br /&gt;
Następnie instalujemy&lt;br /&gt;
&lt;br /&gt;
 yum install -y perl-XML-Simple perl-Compress-Zlib perl-DBI perl-DBD-MySQL perl-Net-IP perl-XML-Entities perl-Apache-DBI&lt;br /&gt;
perl-Apache2-SOAP perl-SOAP-Lite mod_perl== Konfiguracja PHP ==&lt;br /&gt;
&lt;br /&gt;
== Konfiguracja PHP ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Edytujemy plik ''/etc/php.ini'' i zmieniamy poniższe opcje, które spowodują możliwość przetwarzania większych plików przez php &lt;br /&gt;
&lt;br /&gt;
 vim /etc/php.ini post_max_size = 200M&lt;br /&gt;
 upload_max_filesize = 200M&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Po tych zmianach konieczne jest zrestartowanie serwera '''httpd'''&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/httpd restart&lt;br /&gt;
&lt;br /&gt;
== Instalacja OCS Inventory NG Server 2 ==&lt;br /&gt;
&lt;br /&gt;
Na początku ściągniemy i rozpakujemy paczke z '''OCS Inventory''' (przyjmuję, że głównym katalogiem stron www jest ''/var/www/html'')&lt;br /&gt;
 cd /var/www/html&lt;br /&gt;
 wget http://launchpad.net/ocsinventory-server/stable-2.0/2.0rc1/+download/OCSNG_UNIX_SERVER-2.0rc1.tar.gz &lt;br /&gt;
&lt;br /&gt;
Następnie rozpakujemy paczkę&lt;br /&gt;
 tar -zxvf OCSNG_UNIX_SERVER-2.0rc1.tar.gz&lt;br /&gt;
 mv OCSNG_UNIX_SERVER-2.0rc1 ocs &lt;br /&gt;
 cd ocs/&lt;br /&gt;
i instalujemy serwer wydając polecenie&lt;br /&gt;
 sh setup.sh &lt;br /&gt;
&lt;br /&gt;
Instalator jest dość przyjazny i w sumie prowadzi nas za rączkę, w 90 procentach klikamy jedynie na ''enter'' wybierając domyślne opcje.&lt;br /&gt;
Poniżej przedstawiam instalator&lt;br /&gt;
 If you leave the question in blank, it will select the default option.&lt;br /&gt;
 Do you wish to continue ([y]/n)?y&lt;br /&gt;
 Your MySQL client seems to be part of MySQL version 5.0.&lt;br /&gt;
 Your computer seems to be running MySQL 4.1 or higher, good ;-)&lt;br /&gt;
 Which host is running database server [localhost] ?localhost&lt;br /&gt;
 On which port is running database server [3306] ? 3306&lt;br /&gt;
 Where is Apache daemon binary [/usr/sbin/httpd] ?&lt;br /&gt;
 Where is Apache main configuration file [/etc/httpd/conf/httpd.conf] ?&lt;br /&gt;
 Which user account is running Apache web server [apache] ?&lt;br /&gt;
 Which user group is running Apache web server [apache] ?&lt;br /&gt;
 Where is Apache Include configuration directory [/etc/httpd/conf.d/] ?&lt;br /&gt;
 Where is PERL Intrepreter binary [/usr/bin/perl] ?&lt;br /&gt;
 Do you wish to setup Communication server on this computer ([y]/n)?y&lt;br /&gt;
 Where to put Communication server log directory [/var/log/ocsinventory-server] ?&lt;br /&gt;
 OCS setup.sh can install perl module from packages for you&lt;br /&gt;
 The script will use the native package from your operating system like apt or rpm&lt;br /&gt;
 Do you wish to continue (y/[n])? y&lt;br /&gt;
 To ensure Apache loads mod_perl before OCS Inventory NG Communication Server,&lt;br /&gt;
 Setup can name Communication Server Apache configuration file&lt;br /&gt;
 'z-ocsinventory-server.conf' instead of 'ocsinventory-server.conf'.&lt;br /&gt;
 Do you allow Setup renaming Communication Server Apache configuration file&lt;br /&gt;
 to 'z-ocsinventory-server.conf' ([y]/n) ?y&lt;br /&gt;
 Do you wish to setup Administration Server (Web Administration Console)&lt;br /&gt;
 on this computer ([y]/n)?y&lt;br /&gt;
 CAUTION: Setup now install files in accordance with Filesystem Hierarchy&lt;br /&gt;
 Standard. So, no file is installed under Apache root document directory&lt;br /&gt;
 (Refer to Apache configuration files to locate it).&lt;br /&gt;
 If you're upgrading from OCS Inventory NG Server 1.01 and previous, YOU&lt;br /&gt;
 MUST REMOVE (or move) directories 'ocsreports' and 'download' from Apache&lt;br /&gt;
 root document directory.&lt;br /&gt;
 If you choose to move directory, YOU MUST MOVE 'download' directory to&lt;br /&gt;
 Administration Server writable/cache directory (by default&lt;br /&gt;
 /var/lib/ocsinventory-reports), especialy if you use deployement feature.&lt;br /&gt;
 Do you wish to continue ([y]/n)?y&lt;br /&gt;
 Where to copy Administration Server static files for PHP Web Console&lt;br /&gt;
 [/usr/share/ocsinventory-reports] ?&lt;br /&gt;
 Where to create writable/cache directories for deployement packages,&lt;br /&gt;
 IPDiscover and SNMP [/var/lib/ocsinventory-reports] ?&lt;br /&gt;
&lt;br /&gt;
== Konfiguracja  OCS Inventory NG Server 2 ==&lt;br /&gt;
&lt;br /&gt;
Tworzymy bazę danych dla serwera&lt;br /&gt;
&lt;br /&gt;
Wchodzimy do ''mysqla''&lt;br /&gt;
 mysql -u root -p&lt;br /&gt;
 password:&lt;br /&gt;
Następnie tworzymy bazę danych nazwaną ocsweb oraz dajemy prawa do tej bazy dla usera ocs o haśle ocs&lt;br /&gt;
 CREATE DATABASE ocsweb;&lt;br /&gt;
 GRANT ALL ON ocsweb.* to 'ocs'@'localhost' identified by 'ocs';&lt;br /&gt;
Jeżeli chcesz możesz zmienić parametry takie jak nazwa bazy danych, użytkownik czy hasło.&lt;br /&gt;
Po poprawnym stworzeniu bazy danych wydajemy polecenie&lt;br /&gt;
 exit&lt;br /&gt;
i przechodzimy do przeglądarki internetowej wpisując adres&lt;br /&gt;
 http://adres-ip-serwera/ocsreports/ &lt;br /&gt;
Wypełniamy formularz, podając dane bazy danych. A po poprawnej konfiguracji wchodzimy jeszcze raz na adres&lt;br /&gt;
 http://adres-ip-serwera/ocsreports/ &lt;br /&gt;
Domyślnym użytkownikiem jest &amp;quot;''admin''&amp;quot; o haśle &amp;quot;''admin''&amp;quot; co powinno być jak najszybciej zmienione .&lt;br /&gt;
&lt;br /&gt;
Na końcu kasujemy niepotrzebne pliki:&lt;br /&gt;
  rm -f /usr/share/ocsinventory-reports/ocsreports/install.php &lt;br /&gt;
Teraz powinieneś mieć w pełni działający server '''OCS Inventory'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;google1 style=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/google1&amp;gt;&lt;/div&gt;</summary>
		<author><name>Slawek</name></author>	</entry>

	<entry>
		<id>http://wiki.linux-user.eu/index.php/OCS_Inventory_NG_Server</id>
		<title>OCS Inventory NG Server</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux-user.eu/index.php/OCS_Inventory_NG_Server"/>
				<updated>2012-10-06T15:51:53Z</updated>
		
		<summary type="html">&lt;p&gt;Slawek: /* Instalacja serwera Apache */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Serwer]]&lt;br /&gt;
== OCS Inventory NG Server ==&lt;br /&gt;
&lt;br /&gt;
'''OCS Inventory''' jest oprogramowaniem (klient/serwer), które umożliwia automatyczne przeprowadzanie inwentaryzacji sprzętu komputerowego w sieci. Każdy komputer, który ma być zinwentaryzowany musi mieć zainstalowanego agenta. Agent może być skonfogurowany tak aby automatycznie przesyłał wszystkie dane na serwer lub aby działał lokalnie na komputerze.&amp;lt;br /&amp;gt;&lt;br /&gt;
Całe niezbędne oprogramowanie tzn paczke z serwerem dla linuxa jak i windowsa oraz paczki z agentami możemy pobrać ze strony [http://www.ocsinventory-ng.org/en/download/ www.ocsinventory-ng.org/en/download/]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
W tym howto zostanie zademonstrowana instalacja serwera '''OCS Inventory w wersji 2.0''' na serwerze z zainstalowanym systemem linux 5.5, 32-bitowy.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Do poprawnego działania serwera będziemy potrzbowali:&lt;br /&gt;
*serwer stron www (apache)&lt;br /&gt;
*serwer baz danych (mysql)&lt;br /&gt;
*obsługa php&lt;br /&gt;
*perl&lt;br /&gt;
&lt;br /&gt;
== Instalacja serwera Apache ==&lt;br /&gt;
Instalacja serwera stron www '''apache''', zostałą zademonstrowana w tym howto [[apache]]&lt;br /&gt;
&lt;br /&gt;
Instalacja serwera MySQL&lt;br /&gt;
Instalacja serwera [[MySQL|mysql]] została pokazana w howto [[MySQL]]&lt;br /&gt;
Jeżeli nie mamy zazinstalowanych pakietów wymienionych poniżej to dociągamy je yum'em&lt;br /&gt;
&lt;br /&gt;
 yum install php-mysql php-pecl-zip php-gd&lt;br /&gt;
&lt;br /&gt;
Jeżeli mamy już wszystko zainstalowane to startujemy serwer '''mysql''' jak i '''httpd'''&lt;br /&gt;
 /etc/init.d/mysqld start&lt;br /&gt;
 chkconfig --level 345 mysqld on&lt;br /&gt;
oraz&lt;br /&gt;
 /etc/init.d/httpd start&lt;br /&gt;
 chkconfig --level 345 httpd on&lt;br /&gt;
&lt;br /&gt;
== Instalacja dodatkowych repozytoriów ==&lt;br /&gt;
Teraz doinstalujemy repozytorium ''EPEL'', które jest nam potrzebne do zainstalowania niezbędnego oprogramowania w tym celu wydajemy polecenie&lt;br /&gt;
 rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm&lt;br /&gt;
Następnie instalujemy&lt;br /&gt;
&lt;br /&gt;
 yum install -y perl-XML-Simple perl-Compress-Zlib perl-DBI perl-DBD-MySQL perl-Net-IP perl-XML-Entities perl-Apache-DBI&lt;br /&gt;
perl-Apache2-SOAP perl-SOAP-Lite mod_perl== Konfiguracja PHP ==&lt;br /&gt;
&lt;br /&gt;
== Konfiguracja PHP ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Edytujemy plik ''/etc/php.ini'' i zmieniamy poniższe opcje, które spowodują możliwość przetwarzania większych plików przez php &lt;br /&gt;
&lt;br /&gt;
 vim /etc/php.ini post_max_size = 200M&lt;br /&gt;
 upload_max_filesize = 200M&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Po tych zmianach konieczne jest zrestartowanie serwera '''httpd'''&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/httpd restart&lt;br /&gt;
&lt;br /&gt;
== Instalacja OCS Inventory NG Server 2 ==&lt;br /&gt;
&lt;br /&gt;
Na początku ściągniemy i rozpakujemy paczke z '''OCS Inventory''' (przyjmuję, że głównym katalogiem stron www jest ''/var/www/html'')&lt;br /&gt;
 cd /var/www/html&lt;br /&gt;
 wget http://launchpad.net/ocsinventory-server/stable-2.0/2.0rc1/+download/OCSNG_UNIX_SERVER-2.0rc1.tar.gz &lt;br /&gt;
&lt;br /&gt;
Następnie rozpakujemy paczkę&lt;br /&gt;
 tar -zxvf OCSNG_UNIX_SERVER-2.0rc1.tar.gz&lt;br /&gt;
 mv OCSNG_UNIX_SERVER-2.0rc1 ocs &lt;br /&gt;
 cd ocs/i instalujemy serwer wydając polecenie&lt;br /&gt;
 sh setup.sh &lt;br /&gt;
&lt;br /&gt;
Instalator jest dość przyjazny i w sumie prowadzi nas za rączkę, w 90 procentach klikamy jedynie na ''enter'' wybierając domyślne opcje.&lt;br /&gt;
Poniżej przedstawiam instalator&lt;br /&gt;
 If you leave the question in blank, it will select the default option.&lt;br /&gt;
 Do you wish to continue ([y]/n)?y&lt;br /&gt;
 Your MySQL client seems to be part of MySQL version 5.0.&lt;br /&gt;
 Your computer seems to be running MySQL 4.1 or higher, good ;-)&lt;br /&gt;
 Which host is running database server [localhost] ?localhost&lt;br /&gt;
 On which port is running database server [3306] ? 3306&lt;br /&gt;
 Where is Apache daemon binary [/usr/sbin/httpd] ?&lt;br /&gt;
 Where is Apache main configuration file [/etc/httpd/conf/httpd.conf] ?&lt;br /&gt;
 Which user account is running Apache web server [apache] ?&lt;br /&gt;
 Which user group is running Apache web server [apache] ?&lt;br /&gt;
 Where is Apache Include configuration directory [/etc/httpd/conf.d/] ?&lt;br /&gt;
 Where is PERL Intrepreter binary [/usr/bin/perl] ?&lt;br /&gt;
 Do you wish to setup Communication server on this computer ([y]/n)?y&lt;br /&gt;
 Where to put Communication server log directory [/var/log/ocsinventory-server] ?&lt;br /&gt;
 OCS setup.sh can install perl module from packages for you&lt;br /&gt;
 The script will use the native package from your operating system like apt or rpm&lt;br /&gt;
 Do you wish to continue (y/[n])? y&lt;br /&gt;
 To ensure Apache loads mod_perl before OCS Inventory NG Communication Server,&lt;br /&gt;
 Setup can name Communication Server Apache configuration file&lt;br /&gt;
 'z-ocsinventory-server.conf' instead of 'ocsinventory-server.conf'.&lt;br /&gt;
 Do you allow Setup renaming Communication Server Apache configuration file&lt;br /&gt;
 to 'z-ocsinventory-server.conf' ([y]/n) ?y&lt;br /&gt;
 Do you wish to setup Administration Server (Web Administration Console)&lt;br /&gt;
 on this computer ([y]/n)?y&lt;br /&gt;
 CAUTION: Setup now install files in accordance with Filesystem Hierarchy&lt;br /&gt;
 Standard. So, no file is installed under Apache root document directory&lt;br /&gt;
 (Refer to Apache configuration files to locate it).&lt;br /&gt;
 If you're upgrading from OCS Inventory NG Server 1.01 and previous, YOU&lt;br /&gt;
 MUST REMOVE (or move) directories 'ocsreports' and 'download' from Apache&lt;br /&gt;
 root document directory.&lt;br /&gt;
 If you choose to move directory, YOU MUST MOVE 'download' directory to&lt;br /&gt;
 Administration Server writable/cache directory (by default&lt;br /&gt;
 /var/lib/ocsinventory-reports), especialy if you use deployement feature.&lt;br /&gt;
 Do you wish to continue ([y]/n)?y&lt;br /&gt;
 Where to copy Administration Server static files for PHP Web Console&lt;br /&gt;
 [/usr/share/ocsinventory-reports] ?&lt;br /&gt;
 Where to create writable/cache directories for deployement packages,&lt;br /&gt;
 IPDiscover and SNMP [/var/lib/ocsinventory-reports] ?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Konfiguracja  OCS Inventory NG Server 2 ==&lt;br /&gt;
&lt;br /&gt;
Tworzymy bazę danych dla serwera&lt;br /&gt;
&lt;br /&gt;
Wchodzimy do ''mysqla''&lt;br /&gt;
 mysql -u root -p&lt;br /&gt;
 password:&lt;br /&gt;
Następnie tworzymy bazę danych nazwaną ocsweb oraz dajemy prawa do tej bazy dla usera ocs o haśle ocs&lt;br /&gt;
 CREATE DATABASE ocsweb;&lt;br /&gt;
 GRANT ALL ON ocsweb.* to 'ocs'@'localhost' identified by 'ocs';&lt;br /&gt;
Jeżeli chcesz możesz zmienić parametry takie jak nazwa bazy danych, użytkownik czy hasło.&lt;br /&gt;
Po poprawnym stworzeniu bazy danych wydajemy polecenie&lt;br /&gt;
 exit&lt;br /&gt;
i przechodzimy do przeglądarki internetowej wpisując adres&lt;br /&gt;
 http://adres-ip-serwera/ocsreports/ &lt;br /&gt;
Wypełniamy formularz, podając dane bazy danych. A po poprawnej konfiguracji wchodzimy jeszcze raz na adres&lt;br /&gt;
 http://adres-ip-serwera/ocsreports/ &lt;br /&gt;
Domyślnym użytkownikiem jest &amp;quot;''admin''&amp;quot; o haśle &amp;quot;''admin''&amp;quot; co powinno być jak najszybciej zmienione .&lt;br /&gt;
&lt;br /&gt;
Na końcu kasujemy niepotrzebne pliki:&lt;br /&gt;
  rm -f /usr/share/ocsinventory-reports/ocsreports/install.php &lt;br /&gt;
Teraz powinieneś mieć w pełni działający server '''OCS Inventory'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;google1 style=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/google1&amp;gt;&lt;/div&gt;</summary>
		<author><name>Slawek</name></author>	</entry>

	<entry>
		<id>http://wiki.linux-user.eu/index.php/Nagios</id>
		<title>Nagios</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux-user.eu/index.php/Nagios"/>
				<updated>2012-10-06T09:02:59Z</updated>
		
		<summary type="html">&lt;p&gt;Slawek: /* /etc/nagios/objects/serwer-www.cfg */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Serwer]]&lt;br /&gt;
== Nagios ==&lt;br /&gt;
W tym howto opiszę w jaki sposób można monitorować zdalne maszyny za pomocą oprogramowania '''Nagios'''.&lt;br /&gt;
'''Nagios''' jest oprogramowaniem, które umożliwia monitorowanie zdalnych maszyn oraz ich usług. Więcej na temat co to jest nagios można poczytać [http://www.nagios.org/about/overview/ tutaj].&amp;lt;br /&amp;gt;&lt;br /&gt;
Opisane poniżej kroki wykonywałem na:&lt;br /&gt;
* serwer monitorujący nagios Centos 6.2 i386&lt;br /&gt;
* hosty monitorowane Fedora 16, Centos 5.5, WindowsXP &lt;br /&gt;
monitorowane usługi to między innymi:&lt;br /&gt;
* ping&lt;br /&gt;
* http&lt;br /&gt;
* ilość wolnego miejsca na dysku&lt;br /&gt;
* zalogowani użytkownicy w systemie&lt;br /&gt;
&lt;br /&gt;
=== Przygotowanie środowiska ===&lt;br /&gt;
Do poprawnego działania oprogramowania '''Nagios''' potrzebujemy jedynie serwera stron ''www'' w celu wyświetlenia web-gui. Jak zainstalować serwer np Apach pokazane jest [[Apache|tutaj]]. &lt;br /&gt;
Potrzebujemy również jakieś repo w celu zainstalowania środowiska Nagios, ja użyłem repozytorium rpmforge.&lt;br /&gt;
Ściągamy paczkę rpmforge (ja pobieram dla maszyny 32 bitowej)&lt;br /&gt;
 wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i686.rpm&lt;br /&gt;
Instalujemy klucze GPG&lt;br /&gt;
 rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt&lt;br /&gt;
Jeśli dostaniesz taki błąd jak poniżej&lt;br /&gt;
 error: http://apt.sw.be/RPM-GPG-KEY.dag.txt: key 1 import failed.&lt;br /&gt;
to zweryfikuj paczkę poleceniem&lt;br /&gt;
 rpm -K rpmforge-release-0.5.2-2.el6.rf.*.rpm&lt;br /&gt;
a następnie zainstaluj repozytorium rpmforge poleceniem&lt;br /&gt;
 rpm -i rpmforge-release-0.5.2-2.el6.rf.*.rpm&lt;br /&gt;
to powinno dodać repozytorium rpmforge do Twojej listy repo.&lt;br /&gt;
W instalacji przewidziałem również że nie będę używał żadnego firewalla czy selinuxa chociaż jest to '''bardzo ryzykowne'''.&lt;br /&gt;
&lt;br /&gt;
=== Instalacja nagiosa (serwer monitorujący) ===&lt;br /&gt;
Aby zainstalować oprogramowanie '''Nagios''' wydajemy polecenie &lt;br /&gt;
 yum install *nagios*&lt;br /&gt;
najważniejsze paczki, które powinny się zainstalować to &lt;br /&gt;
nagios                              &lt;br /&gt;
* nagios-devel                       &lt;br /&gt;
* nagios-nrpe                         &lt;br /&gt;
* nagios-nsca                                         &lt;br /&gt;
* nagios-plugins                      &lt;br /&gt;
* nagios-plugins-nrpe                  &lt;br /&gt;
* nagios-plugins-setuid               &lt;br /&gt;
w moim przypadku Nagios jest w wersji '''3.2.3-3.el6'''.&lt;br /&gt;
Jeżeli wszystko poszło bez żadnych błędów to powinniśmy mieć już zainstalowanego nagiosa. Usługę można włączać/wyłączać/restartować za pomocą polecenia&lt;br /&gt;
 service nagios restart&lt;br /&gt;
lub&lt;br /&gt;
 service nagios start&lt;br /&gt;
lub &lt;br /&gt;
 service nagios stop&lt;br /&gt;
warto również dodać nagiosa do listy uruchamianych usług podczas uruchamiania systemu&lt;br /&gt;
 chkconfig nagios on&lt;br /&gt;
warto również to samo zrobić z serwerem apach&lt;br /&gt;
 chkconfig httpd on&lt;br /&gt;
Mamy również bardzo przydatną komendę nagiosa do sprawdzania stanu plików konfiguracyjnych, szczególnie przydatna jeśli nie chce wstać nam usługa nagiosa&lt;br /&gt;
 nagios -v /etc/nagios/nagios.cfg&lt;br /&gt;
&lt;br /&gt;
=== Konfiguracja serwera Nagios ===&lt;br /&gt;
W tym momencie mamy zainstalowane oraz uruchomione oprogramowanie Nagios oraz [[apache]]&lt;br /&gt;
 service nagios start&lt;br /&gt;
oraz&lt;br /&gt;
 service httpd start&lt;br /&gt;
Kolejnym krokiem jest nadanie użytkownika i hasła do przeglądania web-gui nagiosa wydając polecenie&lt;br /&gt;
 htpasswd -c /etc/nagios/htpasswd.users nagiosadmin&lt;br /&gt;
i możemy zalogować się do web-gui nagiosa za pomocą przeglądarki internetowej na adres&amp;lt;br /&amp;gt;&lt;br /&gt;
http://adres-ip-serwera-nagios/nagios&amp;lt;br /&amp;gt;&lt;br /&gt;
podając wcześniej skonfigurowane dane użytkownika i jego hasło.&lt;br /&gt;
&lt;br /&gt;
==== Pliki konfiguracyjne serwera nagios ====&lt;br /&gt;
Głównym plikiem konfiguracyjnym nagiosa jest plik /etc/nagios/nagios.cfg, natomiast logi domyślnie znajdują się w katalogu ''/var/log/nagios''.&lt;br /&gt;
===== /etc/nagios/nagios.cfg =====&lt;br /&gt;
w tym pliku znajduje się wiele ciekawych opcji a jedną z najważniejszych dla nas jest &lt;br /&gt;
 cfg_file=/etc/nagios/objects/localhost.cfg&lt;br /&gt;
 cfg_file=/etc/nagios/objects/serwer-www.cfg&lt;br /&gt;
która umożliwia pokazanie nagiosowi pliku konfiguracyjnego z nowo dodanym monitoringiem dla zdalnego hosta tzw objekt.&lt;br /&gt;
Kolejnym albo kolejnymi ważnymi plikami są tzw pliki obiektów znajdujące się w ścieżce ''/etc/nagios/objects''. &lt;br /&gt;
===== /etc/nagios/objects/serwer-www.cfg =====&lt;br /&gt;
Powyższy przykładowy wpis zawiera dane odnośnie monitorowanego systemu tzn adres &lt;br /&gt;
* adres serwera&lt;br /&gt;
* nazwa wyświetlana&lt;br /&gt;
* określenie grupy&lt;br /&gt;
* definicja monitorowanych usług&lt;br /&gt;
Do plików nowych maszyn możemy przekopiować zawartość pliku ''localhost.cfg'' i tak też zrobiłem tym razem jednak później należy go dostosować do własnych potrzeb, gdyż obiekt localhost.cfg jak sama nazwa wskazuje ustawiony jest do monitorowania maszyny lokalnej a nie zdalnej. &amp;lt;br /&amp;gt;&lt;br /&gt;
Do monitorowania mojego serwera www potrzebuję jedynie takich definicji jak&lt;br /&gt;
* monitorowanie pinga&lt;br /&gt;
* monitorowanie dysku całego lub partycji&lt;br /&gt;
* monitorowanie zalogowanych obecnie użytkowników do serwera&lt;br /&gt;
* monitorowanie usługi http&lt;br /&gt;
poniżej wklejam dopasowany do moich potrzeb plik serwer-www.cfg&lt;br /&gt;
 define host{&lt;br /&gt;
        use                     linux-server&lt;br /&gt;
        host_name               serwer-www&lt;br /&gt;
        alias                   serwer-www&lt;br /&gt;
        address                 192.168.0.12&lt;br /&gt;
        }&lt;br /&gt;
 define hostgroup{&lt;br /&gt;
        hostgroup_name  linux-servers&lt;br /&gt;
        alias           Linux Servers ; Long name of the group&lt;br /&gt;
        members         serwer-www&lt;br /&gt;
        }&lt;br /&gt;
 define service{&lt;br /&gt;
        use                             generic-service         ; Name of service template to use&lt;br /&gt;
        host_name                       serwer-www&lt;br /&gt;
        service_description             PING&lt;br /&gt;
        check_command                   check_ping!100.0,20%!500.0,60%&lt;br /&gt;
        }&lt;br /&gt;
 define service{&lt;br /&gt;
        use                             generic-service         ; Name of service template to use&lt;br /&gt;
        host_name                       serwer-www&lt;br /&gt;
        service_description             Partycja home&lt;br /&gt;
        check_command                   check_nrpe!check_disk!20%!10%!/dev/sda6&lt;br /&gt;
        }&lt;br /&gt;
 define service{&lt;br /&gt;
        use                             generic-service         ; Name of service template to use&lt;br /&gt;
        host_name                       serwer-www&lt;br /&gt;
        service_description             Current Users&lt;br /&gt;
        check_command                   check_nrpe!check_users!20!50&lt;br /&gt;
        }&lt;br /&gt;
 define service{&lt;br /&gt;
        use                             generic-service         ; Name of service template to use&lt;br /&gt;
        host_name                       check-www&lt;br /&gt;
        service_description             HTTP&lt;br /&gt;
        check_command                   check_nrpe!check_httpd&lt;br /&gt;
        notifications_enabled           0&lt;br /&gt;
        }&lt;br /&gt;
 &lt;br /&gt;
W tym momencie próba zrestartowania usługi nagiosa będzie nieudana gdyż w pliku konfiguracyjnym serwer-www.cfg mamy podane nie istniejące definicje komend  a dokładniej chodzi o trzy definicje czyli&lt;br /&gt;
* check_disk&lt;br /&gt;
* check_users&lt;br /&gt;
* check_nrpe&lt;br /&gt;
błąd można bardzo łatwo wykryć poleceniem &lt;br /&gt;
 # nagios -v /etc/nagios/nagios.cfg &lt;br /&gt;
 Nagios Core 3.2.3&lt;br /&gt;
 Copyright (c) 2009-2010 Nagios Core Development Team and Community Contributors&lt;br /&gt;
 Copyright (c) 1999-2009 Ethan Galstad&lt;br /&gt;
 Last Modified: 10-03-2010&lt;br /&gt;
 License: GPL&lt;br /&gt;
 Website: http://www.nagios.org &lt;br /&gt;
 Reading configuration data...&lt;br /&gt;
   Read main config file okay...&lt;br /&gt;
 Processing object config file '/etc/nagios/objects/commands.cfg'...&lt;br /&gt;
 Processing object config file '/etc/nagios/objects/contacts.cfg'...&lt;br /&gt;
 Processing object config file '/etc/nagios/objects/timeperiods.cfg'...&lt;br /&gt;
 Processing object config file '/etc/nagios/objects/templates.cfg'...&lt;br /&gt;
 Processing object config file '/etc/nagios/objects/localhost.cfg'...&lt;br /&gt;
 Processing object config file '/etc/nagios/objects/serwer-www.cfg'...&lt;br /&gt;
 Warning: Duplicate definition found for service 'HTTP' on host 'localhost' (config file '/etc/nagios/objects/localhost.cfg',  starting on line 150)&lt;br /&gt;
   Read object config files okay...&lt;br /&gt;
 Running pre-flight check on configuration data...&lt;br /&gt;
 Checking services...&lt;br /&gt;
 Error: Service check command 'check_nrpe' specified in service 'Current Users' for host 'serwer-www' not defined anywhere!&lt;br /&gt;
 Error: Service check command 'check_nrpe' specified in service 'Partycja home' for host 'serwer-www' not defined anywhere!&lt;br /&gt;
 ....&lt;br /&gt;
 Total Warnings: 0&lt;br /&gt;
 Total Errors:   2&lt;br /&gt;
 ***&amp;gt; One or more problems was encountered while running the pre-flight check...&lt;br /&gt;
     Check your configuration file(s) to ensure that they contain valid&lt;br /&gt;
     directives and data defintions.  If you are upgrading from a previous&lt;br /&gt;
     version of Nagios, you should be aware that some variables/definitions&lt;br /&gt;
     may have been removed or modified in this version.  Make sure to read&lt;br /&gt;
     the HTML documentation regarding the config files, as well as the&lt;br /&gt;
     'Whats New' section to find out what has changed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
co dosyć dokładnie określa nam gdzie jest błąd. Aby usunąć powyższy błąd należy dodać do pliku ''/etc/nagios/objects/commands.cfg'' definicję nowych komend.&lt;br /&gt;
&lt;br /&gt;
===== /etc/nagios/objects/commands.cfg =====&lt;br /&gt;
Plik '''commands.cfg''' przechowuje komendy dla definicji usług, które mają być monitorowane. Dla przykładu dodam dwie definicje monitorowania dysku oraz użytkowników.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Deinicja monitorowania zdalnego dysku&lt;br /&gt;
 define command{&lt;br /&gt;
        command_name    check_disk&lt;br /&gt;
        command_line    $USER1$/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$&lt;br /&gt;
        }&lt;br /&gt;
zwróć uwagę na nazwę opcji ''command_name'' czyli  ''check_disk'' musi się zgadzać z nazwą użytą w pliku ''serwer-www.cfg''&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Definicja monitorowania użytkowników&lt;br /&gt;
 define command{&lt;br /&gt;
        command_name    check_users&lt;br /&gt;
        command_line    $USER1$/check_users -w $ARG1$ -c $ARG2$&lt;br /&gt;
        }&lt;br /&gt;
Definicja check_nrpe potrzebna do zdalnego monitorowania&lt;br /&gt;
 define command{&lt;br /&gt;
        command_name    check_nrpe&lt;br /&gt;
        command_line    $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
reguła działania jest bardzo podobna&lt;br /&gt;
opcje &lt;br /&gt;
*'''-w''' określa kiedy występuje warning&lt;br /&gt;
*'''-c''' określa kiedy występuje critical&lt;br /&gt;
zakres tych opcji zostanie ustalony na klientach (stacjach monitorowanych).&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Po wprowadzeniu tych zmian restartujemy nagiosa&lt;br /&gt;
 service nagios restart&lt;br /&gt;
tym razem powinien uruchomić się bez problemu, a po chwili powinniśmy zobaczyć nową maszyne w panelu web-gui nagiosa.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Plik:nagios1.png|800px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Jak można zauważyć mam dwa błędy krytyczne z błedem ''Connection refused by host '', można się tylko domyślać, że nie mam poprawnie skonfigurowanego klienta (hosta monitorowanego).&lt;br /&gt;
&lt;br /&gt;
=== Konfiguracja klienta Linux - stacja monitorowana ===&lt;br /&gt;
Moim klientem czyli maszyna, którą chcę monitorować jest Fedora 16 z zainstalowanym oprogramowaniem apache, dlatego też nazwa w nagiosie ''serwer-www''. Aby zainstalować w systemie Linux klienta dla nagiosa wydajemy polecenie&lt;br /&gt;
 yum install nrpe nagios-plugins-nrpe&lt;br /&gt;
program nrpe robi za klienta który nasłuchuje na porcie 5666 a pakiet nagios-plugins-nrpe dostarcza nam pluginy, które możemy wykorzystać do monitorowania swoich usług.&amp;lt;br /&amp;gt;&lt;br /&gt;
Po zainstalowaniu pakietu ''nagios-plugins-nrpe'' wszystkie pluginy powinny znajdować się w ścieżce ''/usr/lib/nagios/plugins'' lub w ''/usr/local/nagios/libexec/'' w zależności od używanego systemu.&amp;lt;br /&amp;gt;&lt;br /&gt;
Na maszynie monitorowanej najważniejszym plikiem jest ''/etc/nagios/nrpe.cfg'', który jest dostępny po zainstalowaniu paczki '''nrpe'''. W tym pliku konfigurujemy między innymi takie opcje jak &lt;br /&gt;
* '''server_port''' port na którym ma działać usługa (domyślnie 5666)&lt;br /&gt;
* '''server_address''' adres serwera nrpe (czyli lokalny)&lt;br /&gt;
* '''nrpe_user''', ''' nrpe_group''' użytkownika i grupę nrpe (zostawiamy domyślnie)&lt;br /&gt;
* '''allowed_hosts''' hosty, które mają możliwość odebrania informacji od nrpe (ważna opcja musimy w tym miejscu podać IP lub nazwę DNS serwera monitorującego)&lt;br /&gt;
* '''dont_blame_nrpe=1''' opcja domyślnie ustawiona na '''0''', musimy ją przestawić na '''1''' jeśli chcemy mieć możliwość dopuszczania argumentów w komendach z definicji&lt;br /&gt;
* '''command[check_load]=/usr/lib/nagios/plugins/check_load -w 15,10,5 -c 30,25,20''' właściwa komenda dla serwera odpytującego &lt;br /&gt;
do mojego konfiga '''nrpe.cfg''' muszę dodać dwie dodatkowe reguły takie same jak podałem w plikach '''commands.cfg''' i '''serwer-www.cfg''' na serwerze nagiosa (zauważ, że nazwy '''check_disk''' oraz '''check_users''' w poszczególnych plikach muszą być takie same) czyli &lt;br /&gt;
* check_users&lt;br /&gt;
* check_disk&lt;br /&gt;
===== komenda dla sprawdzenia partycji =====&lt;br /&gt;
komenda dla sprawdzenia mojej np partycji /dev/sda6 będzie wyglądała następująco&lt;br /&gt;
 command[check_disk]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/sda5&lt;br /&gt;
gdzie &lt;br /&gt;
* '''-w''' określa poziom dla zdarzenia ''warning'' ustawiłem na 20% wolnej przestrzeni na partycji&lt;br /&gt;
* '''-c''' to samo co wyżej tylko dla zdarzenia ''critical'' ustawione na 10% wolnej przestrzeni&lt;br /&gt;
* '''-p''' określa jakie urządzenie ma być monitorowane&lt;br /&gt;
* '''/usr/local/nagios/libexec/check_disk''' ścieżka do pluginów zainstalowanych z pakietu ''nagios-plugins-nrpe''&lt;br /&gt;
===== komenda dla sprawdzenia użytkowników =====&lt;br /&gt;
aby sprawdzić ile osób jest zalogowanych na danej maszynie musisz dopisać następującą linijkę&lt;br /&gt;
 command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10&lt;br /&gt;
gdzie&lt;br /&gt;
* '''-w''' warning&lt;br /&gt;
* '''-c''' critical&lt;br /&gt;
* '''/usr/local/nagios/libexec/check_users''' ścieżka do pluginu&lt;br /&gt;
&lt;br /&gt;
===== komenda dla sprawdzenia stanu http =====&lt;br /&gt;
aby sprawdzić stan serwera http możesz dopisać taką regułe&lt;br /&gt;
 command[check_httpd]=/usr/local/nagios/libexec/check_http -I 192.168.0.12 -w 20 -c 60&lt;br /&gt;
&lt;br /&gt;
Opis poszczególnych pluginów i ich możliwych opcji możecie wyszukać na stronie [http://nagiosplugins.org/ nagiosplugins.org]&lt;br /&gt;
Po wyżej wymienionych zmianach uruchamiamy lub restartujemy program '''nrpe'''&lt;br /&gt;
 service nrpe restart&lt;br /&gt;
i po chwili powinny być widoczne zmiany w web-gui serwera nagios&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Plik:nagios2.png|800px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Jak widać mam jednego ''warninga'' przy opcji ''Current Users'', ponieważ ustawiłem opcję '''-w''' na '''2''' a w danej chwili jest zalogowanych 3 userów.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Konfiguracja klienta Windows - stacja monitorowana ===&lt;br /&gt;
Konfiguracja klienta winsows na serwerze monitorującym nie różni się niczym od konfiguracji monitorowanej stacji z systemem Linux. Dlatego tutaj opisze co należy wykonać na systemie Windows XP aby zadziałał monitoring.&amp;lt;br /&amp;gt;&lt;br /&gt;
Zaczynamy od ściągnięcia ze strony [http://www.nagios.org/download/addons www.nagios.org/download/addons] paczki z klientem dla systemu Windows. Następnie należy rozpakować ściągniętą paczkę i przejść do katalogu odpowiedniego dla swojego systemu w moim przypadku będzie to '''Win_2k_XP_Bin'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
Następnie kopiujemy pliki ''pNSClient.exe'', ''pdh.dll'', ''psapi.dll'', ''counters.defs'' do katalogu np ''C://nsclient''.&amp;lt;br /&amp;gt;&lt;br /&gt;
Otwieramy wiersz poleceń systemu Windows i przechodzimy do katalogu gdzie zostały przekopiowane wyżej wymienione pliki i wpisujemy polecenie &lt;br /&gt;
 pNSClient.exe /install&lt;br /&gt;
a następnie żeby uruchomić usługę &lt;br /&gt;
 net start client &lt;br /&gt;
więcej szczegółów znajdziesz w pliku README ściągniętej paczki.&lt;br /&gt;
&lt;br /&gt;
== Nagios web-gui ==&lt;br /&gt;
W samym web-gui nagiosa aby przyśpieszyć albo wysłać z ręki zapytanie o status usługi do danego klienta klikamy na usługa (np ''HTTP'') -&amp;gt; następnie po lewej stronie w tabelce na opcję ''Re-schedule the next check of this service'' -&amp;gt; klikamy na przycisk ''Commit'' -&amp;gt; klikamy na ''Done''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;google1 style=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/google1&amp;gt;&lt;/div&gt;</summary>
		<author><name>Slawek</name></author>	</entry>

	<entry>
		<id>http://wiki.linux-user.eu/index.php/Bacula_-_backup_danych</id>
		<title>Bacula - backup danych</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux-user.eu/index.php/Bacula_-_backup_danych"/>
				<updated>2012-09-18T18:54:53Z</updated>
		
		<summary type="html">&lt;p&gt;Slawek: /* Instalacja serwera bacula */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Serwer]]&lt;br /&gt;
== Backup danych - Bacula ==&lt;br /&gt;
'''Bacula''' jest profesjonalnym systemem archiwizacji danych typu klien-serwer. Jest to darmowe oprogramowanie, które odpowiada za tworzenie, przywracania oraz weryfikację danych. Sam serwer może działać na wielu platformach Linux, FreeBSD czy Solaris. Klient baculi archiwizuje dane z wilu platform łącznie z windowsami.&lt;br /&gt;
Bacula w skrócie:&lt;br /&gt;
* budowa modularna&lt;br /&gt;
* archiwizacja danych z platform Linux, Windows, Mac OS&lt;br /&gt;
* zaplecze bazo danowe w postaci MySQL, PostgreSQL czy SQLite&lt;br /&gt;
* dostęp do oprogramowania baculi na licencjo OpenSource&lt;br /&gt;
* kopia danych na woluminach wielotaśmowych&lt;br /&gt;
* umożliwia szyfrowanie danych przepływających przez sieć&lt;br /&gt;
* archiwizuje pliki większe niż 2 GBobsługuje automatyczne zmieniarki&lt;br /&gt;
* może wykonywać skrypty przed i po archiwizazcji&lt;br /&gt;
* scentralizowany system zarządzania kopiami dla całej sieci&lt;br /&gt;
&lt;br /&gt;
== Instalacja serwera bacula ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Potrzebne oprogramowanie do działania baculi zaznaczyłem w trakcie instalacji systemu &amp;quot;''[[LAMP]] Server''&amp;quot; , 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&lt;br /&gt;
* w systemie [[CentOS]]&lt;br /&gt;
 yum install bacula-client bacula-common bacula-console bacula-director-common bacula-director-mysql bacula-docs bacula-storage-common &lt;br /&gt;
 bacula-storage-mysql mysql mysql-devel mysql-server&lt;br /&gt;
* w systemie [[Ubuntu]] Server&lt;br /&gt;
  apt-get install bacula apache2 mysql php&lt;br /&gt;
i to tak na prawdę wszyst. Uwaga jeśli chcesz aby Twoja instalacja baculi współpracowała z np bazą danych mysql to musisz instalować pakiety np ''bacula-director-mysql'', ''bacula-common-mysql''  i tak dalej jeśli chcesz przeprowadzić  instalację do współpracy z odpowiednią bazą danych  to musisz jawnie o tym powiadomić instalator podczas instalacji oprogramowania.&lt;br /&gt;
Potrzebne pakiety do poprawnego działania to:&lt;br /&gt;
* bacula-common-mysql&lt;br /&gt;
* bacula-console&lt;br /&gt;
* bacula-director-common&lt;br /&gt;
* bacula-director-mysql&lt;br /&gt;
* bacula-fd (klient)&lt;br /&gt;
* bacula-sd-mysql&lt;br /&gt;
* bacula-server&lt;br /&gt;
* dbconfig-common&lt;br /&gt;
W trakcie instalacji na systemie '''Ubuntu Server''', powyższych pakietów system pyta nas o konfiguracje bazy danych dla '''baculi''' za pomocą oprogramowania '''dbconfig-common''', oczywiście się zgadzamy &amp;quot;''Configure database for bacula-director-mysql with dbconfig-common?''&amp;quot;, po zatwierdzeniu będziemy musieli podać hasło do użytkownika root bazy danych oraz nowe hasło dla '''bacula-director-mysql'''.  Do instalacji tego oprogramowania nie potrzebowałem żadnego dodatkowego repozytorium. Po poprawnej instalacji Twój serwer archiwizacji danych powinien być gotowy do konfiguracji.&amp;lt;br /&amp;gt;&lt;br /&gt;
* W systemie [[CentOS]] po instalacji pakietów musimy skonfigurować ręcznie bazę danych i tak na początku uruchamiamy serwer mysqla &lt;br /&gt;
 service mysqld start &lt;br /&gt;
następnie &lt;br /&gt;
 /usr/bin/mysql_secure_installation &lt;br /&gt;
i ustawiamy hasło do bazy danych i inne opcje (konfiguracja serwera MySQL dostępna jest [[MySQL|tutaj]]), następnie &lt;br /&gt;
 service mysqld restart &lt;br /&gt;
i  &lt;br /&gt;
 chkconfig mysqld on  &lt;br /&gt;
tworzymy bazę danych dla baculi &lt;br /&gt;
 cd /usr/libexec/bacula/ &lt;br /&gt;
a następnie &lt;br /&gt;
 ./create_mysql_database -u root -p &lt;br /&gt;
tworzymy tabele w bazie baculi &lt;br /&gt;
 ./make_mysql_tables -u root -p &lt;br /&gt;
nadanie przywilejów dla usera bacula &lt;br /&gt;
 ./grant_mysql_privileges -u root -p &lt;br /&gt;
następnie nadajemy użytkownikowi bazy danych bacula hasło (obecnie brak hasła), logujemy się do bazy danych &lt;br /&gt;
 mysql -u root -p &lt;br /&gt;
a następnie wydajemy polecenie &lt;br /&gt;
 UPDATE mysql.user set password=password('haslo_dla_usera_bacula') where user='bacula'; &lt;br /&gt;
restartujemy bazę danych &lt;br /&gt;
 service mysqld restart&lt;br /&gt;
&lt;br /&gt;
== Konfiguracja serwera Bacula ==&lt;br /&gt;
&lt;br /&gt;
Wszystkie pliki konfiguracyjne baculi powinny znajdować się w ścieżce ''/etc/bacula/'' usługę możesz restartować zatrzymywać oraz startować za pomocą polecenia&lt;br /&gt;
 /etc/init.d/bacula-dir start/stop/restart/status &lt;br /&gt;
 /etc/init.d/bacula-sd start/stop/restart/status&lt;br /&gt;
 /etc/init.d/bacula-fd start/stop/restart/status&lt;br /&gt;
&lt;br /&gt;
== Pliki konfiguracyjne ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Plik '''bacula-dir.conf'''&amp;lt;br /&amp;gt; '''Director''' – dane zarządcy uprawnionego do używania urządzeń demona magazynowania&lt;br /&gt;
# Plik '''bacula-fd.conf'''&amp;lt;br /&amp;gt;'''Device''' – definicja urządzenia archiwizującego&lt;br /&gt;
# Plik '''bacula-sd.conf'''&amp;lt;br /&amp;gt;'''StorageDaemon''' – główna konfiguracja demona magazynowania&lt;br /&gt;
# Plik '''bconsole.conf''' - plik konsoli bacula&lt;br /&gt;
#Plik konfiguracji każdego klienta np '''slawek-backup.conf'''&lt;br /&gt;
Poniżej przedstawie przykładowe pliki konfiguracyjne z działającego serwera i pokrótce  postaram się opisać najważniejsze opcje każdego z nich.&lt;br /&gt;
&lt;br /&gt;
== Plik bacula-dir.conf - Director ==&lt;br /&gt;
Plik '''bacula-dir.conf''' zawiera sekcje&lt;br /&gt;
* Director – główna konfiguracja zarządcy,&lt;br /&gt;
* Catalog – parametry połączenia z bazą danych,&lt;br /&gt;
* Messages – sposób zapisywania dzienników (w tym powiadomienia na e-mail),&lt;br /&gt;
* Job – zadanie (backup, restore, weryfikacja, migracja, kopiowanie i inne),&lt;br /&gt;
* FileSet – opcje zadania (listy dołączeń, listy wykluczeń, sygnatury plików, kompresja programowa i inne),&lt;br /&gt;
* Storage – ustawienia dostępnych urządzeń archiwizujących,&lt;br /&gt;
* Client – definicja klientów,&lt;br /&gt;
* Pool – pula woluminów,&lt;br /&gt;
* Schedule – harmonogram zadań.&lt;br /&gt;
&lt;br /&gt;
Przykładowa konfiguracja&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
 Director {&lt;br /&gt;
 Name = serwer-dir #nazwa zarzadcy&lt;br /&gt;
 Password = &amp;quot;qwerty123-dir&amp;quot; #haslo, uzywaja programy łączące się z zarządcy&lt;br /&gt;
 DIR Address = 192.168.2.15 #adres IP interfejsu sieciowego&lt;br /&gt;
 DIR Port = 9101 #port na którym ma nasłuchiwać zarządca&lt;br /&gt;
 QueryFile = &amp;quot;/usr/libexec/bacula/query.sql&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
 WorkingDirectory = &amp;quot;/var/spool/bacula&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
 PidDirectory = &amp;quot;/var/run&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
 Messages = DirRaport #nazwa zasobu messages, uzyta ponizej&lt;br /&gt;
 Maximum Concurrent jobs = 5 #ilość zadań, które jednocześnie może wykonywać zarządca&lt;br /&gt;
 }&lt;br /&gt;
 Catalog {&lt;br /&gt;
 Name = &amp;quot;Baza-danych-bacula&amp;quot; #nazwa zasobu, używana w zasobach client&lt;br /&gt;
 DB Name = bacula #nazwa bazy danych&lt;br /&gt;
 DB Address = 127.0.0.1 # adres bazy danych&lt;br /&gt;
 DB Port = 3306 #port na którym nasłuchuje mysql&lt;br /&gt;
 User = bacula #użytkownik do bazy danych dla baculi&lt;br /&gt;
 Password = bacula1 #hasło użytkownika baculi&lt;br /&gt;
 } &lt;br /&gt;
 Messages {&lt;br /&gt;
 Name = DirRaport #nazwa zasobu, odpowiada ona nazwie w zasobie Director opcji messages&lt;br /&gt;
 Mailcommand = &amp;quot;/usr/sbin/bsmtp -h localhost -f \&amp;quot;\(Bacula\) \&amp;lt;%r\&amp;gt;\&amp;quot; -s \&amp;quot;Bacula: %t %e of %c %l\&amp;quot; %r&amp;quot; #komenda do wysłania maila z powiadomieniem&lt;br /&gt;
 Operatorcommand = &amp;quot;/usr/sbin/bsmtp -h localhost -f \&amp;quot;\(Bacula\) \&amp;lt;%r\&amp;gt;\&amp;quot; -s \&amp;quot;Bacula: Intervention needed for %j\&amp;quot; %r&amp;quot; #mail z powiadomieniem&lt;br /&gt;
 Mail = slawek@linux-user.eu = all, !skipped #mail od kogo&lt;br /&gt;
 Operator = slawek@linux-user.eu = mount #mail od kogo&lt;br /&gt;
 Console = all, !skipped, !saved #wyświetlanie statusów i zdarzeń wartość all wyświetla wszystko&lt;br /&gt;
 Append = &amp;quot;/var/spool/bacula/log&amp;quot; = all, !skipped #ustawienie zapisywania statusów i raportów do pliku logów wartość all wszystko&lt;br /&gt;
 }&lt;br /&gt;
 Storage {&lt;br /&gt;
 Name = Dysk-Pendrive #nazwa zasobu, używana w zasobie jobs&lt;br /&gt;
 Address = 192.168.2.15 #adres IP z bacula-sd, &lt;br /&gt;
 SD Port = 9103 #port bacula-sd&lt;br /&gt;
 Password = qwerty123-sd #hasło do bacula-sd&lt;br /&gt;
 Device = &amp;quot;Urzadzenie pendrive&amp;quot; #nazwa urzadzenia, uzyte również w bacula-sd&lt;br /&gt;
 Media Type = Pliki-na-usb #nazwa typu obsługiwanych woluminów, uzywana w bacula-sd&lt;br /&gt;
 Maximum Concurrent Jobs = 1 #ilośc zadań, które jednocześnie może zrealizować urządzenie&lt;br /&gt;
 } &lt;br /&gt;
 Client {&lt;br /&gt;
 Name = backup_na_pendrive # nazwa klienta, użyta również w sekcji Job&lt;br /&gt;
 Address = 192.168.2.15 #adres IP komputera klienta, &lt;br /&gt;
 FD Port = 9102 #numer portu bacula-client, domyślnie 9102&lt;br /&gt;
 Catalog = &amp;quot;Baza-danych-bacula&amp;quot; #jakiej bazy danych użyć, nazwa z sekcji Catalog&lt;br /&gt;
 Password = &amp;quot;qwerty123-fd&amp;quot; #hasło do bacula-fd na kliencie&lt;br /&gt;
 AutoPrune = no # czyszczenie przestarzałych danych z bazy danych&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
 Name = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
 Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
 Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
 AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
 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&lt;br /&gt;
 Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
 LabelFormat = &amp;quot;serwer-serwer-plik-poniedzialek-&amp;quot; &lt;br /&gt;
 Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
 Name = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
 Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
 Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
 AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
 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&lt;br /&gt;
 Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
 LabelFormat = &amp;quot;serwer-serwer-plik-wtorek-&amp;quot;&lt;br /&gt;
 Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
 Name = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa puli woluminów&lt;br /&gt;
 Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
 Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
 AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
 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&lt;br /&gt;
 Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
 LabelFormat = &amp;quot;serwer-serwer-plik-sroda-&amp;quot;&lt;br /&gt;
 Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
 Name = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
 Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
 Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
 AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
 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&lt;br /&gt;
 Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
 LabelFormat = &amp;quot;serwer-serwer-plik-czwartek-&amp;quot;&lt;br /&gt;
 Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
 Name = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
 Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
 Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
 AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
 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&lt;br /&gt;
 Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
 LabelFormat = &amp;quot;serwer-serwer-plik-piatek-&amp;quot;&lt;br /&gt;
 Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 FileSet {&lt;br /&gt;
 Name = &amp;quot;Baza-danych-postgresql&amp;quot; #nazwa akcji, użyta w sekcji job&lt;br /&gt;
  Include {&lt;br /&gt;
   Options {&lt;br /&gt;
    Signature = MD5 # sposób tworzenia sygnatur kopii zapasowych&lt;br /&gt;
       }&lt;br /&gt;
   File = /var/lib/pgsql/9.1/data/ #pliki do archiwizowania&lt;br /&gt;
  }&lt;br /&gt;
  Exclude { #nie archiwizuj poniższych plików&lt;br /&gt;
     File = /var/lib/pgsql/9.1/data/backup_test &lt;br /&gt;
     File = /var/lib/pgsql/9.1/data/backup_test_pg&lt;br /&gt;
  }&lt;br /&gt;
  }&lt;br /&gt;
  FileSet {&lt;br /&gt;
   Name = &amp;quot;Pliki-samby&amp;quot;&lt;br /&gt;
 Include {&lt;br /&gt;
 Options {&lt;br /&gt;
  Signature = MD5 # sposób tworzenia sygnatur kopii zapasowych&lt;br /&gt;
  }&lt;br /&gt;
 File = /home/samba/&lt;br /&gt;
 }&lt;br /&gt;
 Exclude {&lt;br /&gt;
 File = /home/samba/.*&lt;br /&gt;
 }&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-poniedzialek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
 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ę &lt;br /&gt;
 #wykonywać w dni od poniedziałku do piątku&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-wtorek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
 Run = Full tuesday at 00:04  &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-sroda&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
 Run = Full wednesday at 15:10 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-czwartek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
 Run = Full thursday at 15:10 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-piatek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
 Run = Full friday at 16:15 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-incremental-poniedzialek&amp;quot;&lt;br /&gt;
 Run = Incremental monday at 10:00 #kopia przyrostowa w poniedziałek o 10:00&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-incremental-wtorek&amp;quot;&lt;br /&gt;
 Run = Incremental tuesday at 00:23 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-incremental-sroda&amp;quot;&lt;br /&gt;
 Run = Incremental wednesday at 15:13 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-incremental-czwartek&amp;quot;&lt;br /&gt;
 Run = Incremental thursday at 15:13 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-incremental-piatek&amp;quot;&lt;br /&gt;
 Run = Incremental friday at 16:17 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-samba-poniedzialek&amp;quot; &lt;br /&gt;
 Run = Full monday at 01:00 #backup powinien wykonać się w poniedziałek o godzinie 01:00&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-samba-wtorek&amp;quot; &lt;br /&gt;
 Run = Full tuesday at 00:06 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-samba-sroda&amp;quot; &lt;br /&gt;
 Run = Full wednesday at 00:06 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-samba-czwartek&amp;quot; &lt;br /&gt;
 Run = Full thursday at 15:11 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-samba-piatek&amp;quot; &lt;br /&gt;
 Run = Full friday at 16:19 &lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-poniedzialek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-poniedzialek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-poniedzialek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-wtorek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-wtorek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-wtorek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-sroda&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-sroda&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-sroda&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-baza_danych-czwartek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-czwartek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-czwartek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-piatek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-piatek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-piatek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-poniedzialek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-poniedzialek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-poniedzialek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-wtorek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-wtorek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-wtorek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-sroda&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-sroda&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-sroda&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-samby-czwartek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-czwartek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-czwartek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-piatek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-piatek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-piatek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-full-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-full-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa  (uwaga musisz mieć poniższy skrypt w lokalizacji podanej poniżej)&lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-full-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-full-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-full-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-full-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-full-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-full-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-full-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-full-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-incremental-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-incremental-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot; 	 &lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-incremental-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-incremental-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }      &lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-incremental-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-incremental-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }       &lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Plik bacula-sd.conf - Storage Daemon ==&lt;br /&gt;
Konfiguracja demona magazynowania odbywa się w pliku '''bacula-sd.conf'''. Storage Daemon baculi definiuje gdzie będą odkładane pliki backupu. &lt;br /&gt;
robimy kopie orginalnego pliku &lt;br /&gt;
 mv bacula-sd.conf bacula-sd.conf-org &lt;br /&gt;
i tworzymy własny &lt;br /&gt;
 touch bacula-sd.conf &lt;br /&gt;
edytujemy plik bacula-sd.conf&lt;br /&gt;
* Storage – główna konfiguracja demona magazynowania&lt;br /&gt;
* Director – dane zarządcy uprawnionego do używania urządzeń demona magazynowania&lt;br /&gt;
* Device – definicja urządzenia archiwizującego,i np pendriva&lt;br /&gt;
* Messages – opcje przekazywania logów demona magazynowania do serwisu zarządcy&lt;br /&gt;
 Storage {&lt;br /&gt;
   Name = serwer-sd #nazwa, brak powiązania z innymi sekcjami&lt;br /&gt;
   WorkingDirectory = &amp;quot;/var/spool/bacula&amp;quot; #kopiujemy z orginalnych plików&lt;br /&gt;
   Pid Directory = &amp;quot;/var/run&amp;quot; #kopiujemy z orginalnych plików&lt;br /&gt;
   SD Address = 192.168.2.15 # ip bacula-sd&lt;br /&gt;
   SD Port = 9103 #domyślny port bacula-sd&lt;br /&gt;
   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)&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
   Name = serwer-dir # nazwa directora z pliku bacula-dir.conf&lt;br /&gt;
   Password = &amp;quot;qwerty123-sd&amp;quot; #hasło bacula-sd, definiowane również w pliku bacula-dir.conf w sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Device {&lt;br /&gt;
   Name = &amp;quot;Urzadzenie pendrive&amp;quot; #nazwa urządzenia, używana w pliku bacula-dir w sekcji Storage&lt;br /&gt;
   Archive Device = /mnt/usb/ #lokalizacja urządzenia na którym będzie przechowywana kopia zapasowa&lt;br /&gt;
   Device Type = File #typ urządzenia File, Tape, Fifo, DVD&lt;br /&gt;
   Media Type = Pliki-na-usb # nazwa typu nośnika, używana również w sekcji storage  w pliku bacula-dir&lt;br /&gt;
   LabelMedia = yes;&lt;br /&gt;
   Removable Media = yes; #yes/no jeśli urządzenia wyjmowalne np usb, DVD to yes, jeśli np hdd to no&lt;br /&gt;
   Random Access = yes; #jeśli napęd taśmowy to no&lt;br /&gt;
   Requires Mount = yes; #jeśli urządzenie wymienne i samo się nie montuje to yes&lt;br /&gt;
   Mount Point = /mnt/usb/ #gdzie będzie zamontowane urządzenie&lt;br /&gt;
   Mount Command = &amp;quot;/bin/mount /dev/sdb1 /mnt/usb/&amp;quot; #komenda do montowania pendriva &lt;br /&gt;
   Unmount Command = &amp;quot;/bin/umount /mnt/usb/&amp;quot; #komenda do odmontowania urządzenia&lt;br /&gt;
 }&lt;br /&gt;
 Messages {&lt;br /&gt;
   Name = serwer-sd-raport #nazwa własna nie używana nigdzie indziej&lt;br /&gt;
   Director = serwer-dir = all #nazwa zarządcy oraz poziom logowania all - wszystko&lt;br /&gt;
 }&lt;br /&gt;
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''&lt;br /&gt;
&lt;br /&gt;
== Plik bacula-fd.conf - File Daemon ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
* Client – główne ustawienia klienta. Nazwa stosowana zamiennie dla tego typu zasobu to &amp;quot;FileDaemon&amp;quot;.&lt;br /&gt;
* Director – ustawienie zarządcy, który jest uprawniony do korzystania z klienta&lt;br /&gt;
* Messages – poziom logowania klienta&lt;br /&gt;
W katalogu ''/etc/bacula'' wydajemy polecenie &lt;br /&gt;
 mv bacula-fd.conf bacula-fd.conf-org | touch bacula-fd.conf &lt;br /&gt;
i edytujemy plik bacula-fd.conf&lt;br /&gt;
 FileDaemon {&lt;br /&gt;
   Name = serwer-fd #nazwa zasobu, nigdzie indziej nie używana&lt;br /&gt;
   FD Address = 192.168.2.15 #IP klienta, tam gdzie jest uruchomiony bacula-fd&lt;br /&gt;
   FD Port = 9102 #numer portu na którym nasłuchuje klient&lt;br /&gt;
   WorkingDirectory = /var/spool/bacula #kopiować z istniejących plików&lt;br /&gt;
   Pid Directory = /var/run #kopiować z istniejących plików&lt;br /&gt;
   Maximum Concurrent Jobs = 1 # ilośc zadań jakie jednocześnie może wykonywac klient&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
   Name = serwer-dir # nazwa zarzadcy uprawnionego do łączenia się z klientem&lt;br /&gt;
   Password = &amp;quot;qwerty123-fd&amp;quot; #hasło, którym director będzie się autoryzować u klienta, musi byc takie samo jak w pliku bacula-dir odpowiednia sekcja Client&lt;br /&gt;
 } &lt;br /&gt;
 Messages {&lt;br /&gt;
   Name = serwer-fd-raport-klient #nazwa zasobu, nigdzie indziej nie używana&lt;br /&gt;
   Director = serwer-dir = all, !skipped, !restored #nazwa zarządcy oraz poziom logowania all, oprócz przywracania danych i zignorowanych&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
Uwaga hasło &amp;quot;''qwerty123-fd''&amp;quot;  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.&lt;br /&gt;
== Bconsole ==&lt;br /&gt;
Plik konfiguracyjny konsoli baculi to  '''bconsole.conf''' znajdujący się w katalogu ''/etc/bacula/''&lt;br /&gt;
dla naszej konfiguracji plik może wyglądać jak poniżej&lt;br /&gt;
 Director {&lt;br /&gt;
  Name = serwer-dir #z pliku bacula-dir, sekcja director&lt;br /&gt;
  DIRport = 9101 #port na jakim działa bacula-director&lt;br /&gt;
  address = 192.168.2.15 #ip serwera bacula-director&lt;br /&gt;
  Password = &amp;quot;qwerty123-dir&amp;quot; # hasło do directora&lt;br /&gt;
 }&lt;br /&gt;
=== Przywracanie danych za pomocą bconsole ===&lt;br /&gt;
Aby używać konsoli baculi wydajemy polecenie jako użytkownik [[root]]&lt;br /&gt;
 bconsole&lt;br /&gt;
aby przywrócić pliki, w konsoli baculi wydajemy polecenie&lt;br /&gt;
 restore&lt;br /&gt;
i wybieramy jedną z opcji.&lt;br /&gt;
Aby zaznaczyć plik lub pliki do przywrócenia wydajemy polecenie &lt;br /&gt;
 mark jakiś_plik&lt;br /&gt;
 mark * #przywracamy wszystkie pliki&lt;br /&gt;
na koniec wydajemy polecenie&lt;br /&gt;
 done&lt;br /&gt;
wybieramy z jakiego czasu chcemy przywrócić kopię np &lt;br /&gt;
1&lt;br /&gt;
potwierdzamy za pomocą polecenia&lt;br /&gt;
 yes&lt;br /&gt;
i dajemy&lt;br /&gt;
 exit&lt;br /&gt;
całość może wyglądać tak&lt;br /&gt;
 $ '''bconsole'''&lt;br /&gt;
 Connecting to Director 192.168.2.15:9101&lt;br /&gt;
 1000 OK: ogrody-dir Version: 5.0.0 (26 January 2010)&lt;br /&gt;
 Enter a period to cancel a command.&lt;br /&gt;
 *'''restore'''&lt;br /&gt;
 Automatically selected Catalog: Baza-danych-bacula&lt;br /&gt;
 Using Catalog &amp;quot;Baza-danych-bacula&amp;quot;&lt;br /&gt;
 First you select one or more JobIds that contain files&lt;br /&gt;
 to be restored. You will be presented several methods&lt;br /&gt;
 of specifying the JobIds. Then you will be allowed to&lt;br /&gt;
 select which files from those JobIds are to be restored.&lt;br /&gt;
 To select the JobIds, you have the following choices:&lt;br /&gt;
     1: List last 20 Jobs run&lt;br /&gt;
     2: List Jobs where a given File is saved&lt;br /&gt;
     3: Enter list of comma separated JobIds to select&lt;br /&gt;
     4: Enter SQL list command&lt;br /&gt;
     5: Select the most recent backup for a client&lt;br /&gt;
     6: Select backup for a client before a specified time&lt;br /&gt;
     7: Enter a list of files to restore&lt;br /&gt;
     8: Enter a list of files to restore before a specified time&lt;br /&gt;
     9: Find the JobIds of the most recent backup for a client&lt;br /&gt;
    10: Find the JobIds for a backup for a client before a specified time&lt;br /&gt;
    11: Enter a list of directories to restore for found JobIds&lt;br /&gt;
    12: Select full restore to a specified Job date&lt;br /&gt;
    13: Cancel&lt;br /&gt;
 Select item:  (1-13): '''12'''&lt;br /&gt;
 Enter JobId to get the state to restore: '''50'''&lt;br /&gt;
 Selecting jobs to build the Full state at 2012-09-18 00:05:03&lt;br /&gt;
 You have selected the following JobId: 50&lt;br /&gt;
 Building directory tree for JobId(s) 50 ...  ++++++++++++++++++++++++++++++++++++++++++++++&lt;br /&gt;
 984 files inserted into the tree.&lt;br /&gt;
 You are now entering file selection mode where you add (mark) and&lt;br /&gt;
 remove (unmark) files to be restored. No files are initially added, unless&lt;br /&gt;
 you used the &amp;quot;all&amp;quot; keyword on the command line.&lt;br /&gt;
 Enter &amp;quot;done&amp;quot; to leave this mode.&lt;br /&gt;
 cwd is: /&lt;br /&gt;
 $ '''ls'''&lt;br /&gt;
 var/&lt;br /&gt;
 $ '''mark *'''&lt;br /&gt;
 1,000 files marked.&lt;br /&gt;
 $ '''done'''&lt;br /&gt;
 Bootstrap records written to /var/spool/bacula/serwer-dir.restore.1.bsr&lt;br /&gt;
 The job will require the following&lt;br /&gt;
   Volume(s)                 Storage(s)                SD Device(s)&lt;br /&gt;
 ===========================================================================  &lt;br /&gt;
    serwer-serwer-plik-wtorek Dysk-Pendrive             Urzadzenie pendrive      &lt;br /&gt;
 Volumes marked with &amp;quot;*&amp;quot; are online.&lt;br /&gt;
 1,000 files selected to be restored.&lt;br /&gt;
 The defined Restore Job resources are:&lt;br /&gt;
     1: Przywracanie-plikow-z-baza_danych-poniedzialek&lt;br /&gt;
     2: Przywracanie-plikow-z-baza_danych-wtorek&lt;br /&gt;
     3: Przywracanie-plikow-z-baza_danych-sroda&lt;br /&gt;
     4: Przywracanie-plikow-baza_danych-czwartek&lt;br /&gt;
     5: Przywracanie-plikow-z-baza_danych-piatek&lt;br /&gt;
     6: Przywracanie-plikow-z-samby-poniedzialek&lt;br /&gt;
     7: Przywracanie-plikow-z-samby-wtorek&lt;br /&gt;
     8: Przywracanie-plikow-z-samby-sroda&lt;br /&gt;
     9: Przywracanie-plikow-samby-czwartek&lt;br /&gt;
    10: Przywracanie-plikow-z-samby-piatek&lt;br /&gt;
 Select Restore Job (1-10): '''2'''&lt;br /&gt;
 Automatically selected Client: backup_na_pendrive&lt;br /&gt;
 Run Restore job&lt;br /&gt;
 JobName:         Przywracanie-plikow-z-baza_danych-wtorek&lt;br /&gt;
 Bootstrap:       /var/spool/bacula/serwer-dir.restore.1.bsr&lt;br /&gt;
 Where:           /root/bacula/restore-wtorek&lt;br /&gt;
 Replace:         always&lt;br /&gt;
 FileSet:         Baza-danych-postgresql&lt;br /&gt;
 Backup Client:   backup_na_pendrive&lt;br /&gt;
 Restore Client:  backup_na_pendrive&lt;br /&gt;
 Storage:         Dysk-Pendrive&lt;br /&gt;
 When:            2012-09-16 15:34:27&lt;br /&gt;
 Catalog:         Baza-danych-bacula&lt;br /&gt;
 Priority:        10&lt;br /&gt;
 Plugin Options:  *None*&lt;br /&gt;
 OK to run? (yes/mod/no): '''yes'''&lt;br /&gt;
 Job queued. JobId=56&lt;br /&gt;
 *'''exit'''&lt;br /&gt;
przywrócone pliki znajdują się w ścieżce ''/root/bacula/restor-DZIEN_TYGODNIA''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;google1 style=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/google1&amp;gt;&lt;/div&gt;</summary>
		<author><name>Slawek</name></author>	</entry>

	<entry>
		<id>http://wiki.linux-user.eu/index.php/Bacula_-_backup_danych</id>
		<title>Bacula - backup danych</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux-user.eu/index.php/Bacula_-_backup_danych"/>
				<updated>2012-09-18T18:53:22Z</updated>
		
		<summary type="html">&lt;p&gt;Slawek: /* Bconsole */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Serwer]]&lt;br /&gt;
== Backup danych - Bacula ==&lt;br /&gt;
'''Bacula''' jest profesjonalnym systemem archiwizacji danych typu klien-serwer. Jest to darmowe oprogramowanie, które odpowiada za tworzenie, przywracania oraz weryfikację danych. Sam serwer może działać na wielu platformach Linux, FreeBSD czy Solaris. Klient baculi archiwizuje dane z wilu platform łącznie z windowsami.&lt;br /&gt;
Bacula w skrócie:&lt;br /&gt;
* budowa modularna&lt;br /&gt;
* archiwizacja danych z platform Linux, Windows, Mac OS&lt;br /&gt;
* zaplecze bazo danowe w postaci MySQL, PostgreSQL czy SQLite&lt;br /&gt;
* dostęp do oprogramowania baculi na licencjo OpenSource&lt;br /&gt;
* kopia danych na woluminach wielotaśmowych&lt;br /&gt;
* umożliwia szyfrowanie danych przepływających przez sieć&lt;br /&gt;
* archiwizuje pliki większe niż 2 GBobsługuje automatyczne zmieniarki&lt;br /&gt;
* może wykonywać skrypty przed i po archiwizazcji&lt;br /&gt;
* scentralizowany system zarządzania kopiami dla całej sieci&lt;br /&gt;
&lt;br /&gt;
== Instalacja serwera bacula ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Potrzebne oprogramowanie do działania baculi zaznaczyłem w trakcie instalacji systemu &amp;quot;''[[LAMP]] Server''&amp;quot; , 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&lt;br /&gt;
* w systemie [[CentOS]]&lt;br /&gt;
 yum install bacula-client bacula-common bacula-console bacula-director-common bacula-director-mysql bacula-docs bacula-storage-common &lt;br /&gt;
 bacula-storage-mysql mysql mysql-devel mysql-server&lt;br /&gt;
* w systemie [[Ubuntu]] Server&lt;br /&gt;
  apt-get install bacula apache2 mysql php&lt;br /&gt;
i to tak na prawdę wszyst. Uwaga jeśli chcesz aby Twoja instalacja baculi współpracowała z np bazą danych mysql to musisz instalować pakiety np ''bacula-director-mysql'', ''bacula-common-mysql''  i tak dalej jeśli chcesz przeprowadzić  instalację do współpracy z odpowiednią bazą danych  to musisz jawnie o tym powiadomić instalator podczas instalacji oprogramowania.&lt;br /&gt;
Potrzebne pakiety do poprawnego działania to:&lt;br /&gt;
* bacula-common-mysql&lt;br /&gt;
* bacula-console&lt;br /&gt;
* bacula-director-common&lt;br /&gt;
* bacula-director-mysql&lt;br /&gt;
* bacula-fd (klient)&lt;br /&gt;
* bacula-sd-mysql&lt;br /&gt;
* bacula-server&lt;br /&gt;
* dbconfig-common&lt;br /&gt;
W trakcie instalacji na systemie '''Ubuntu Server''', powyższych pakietów system pyta nas o konfiguracje bazy danych dla '''baculi''' za pomocą oprogramowania '''dbconfig-common''', oczywiście się zgadzamy &amp;quot;''Configure database for bacula-director-mysql with dbconfig-common?''&amp;quot;, po zatwierdzeniu będziemy musieli podać hasło do użytkownika root bazy danych oraz nowe hasło dla '''bacula-director-mysql'''.  Do instalacji tego oprogramowania nie potrzebowałem żadnego dodatkowego repozytorium. Po poprawnej instalacji Twój serwer archiwizacji danych powinien być gotowy do konfiguracji.&amp;lt;br /&amp;gt;&lt;br /&gt;
* W systemie [[CentOS]] po instalacji pakietów musimy skonfigurować ręcznie bazę danych i tak na początku uruchamiamy serwer mysqla &lt;br /&gt;
 service mysqld start &lt;br /&gt;
następnie &lt;br /&gt;
 /usr/bin/mysql_secure_installation &lt;br /&gt;
i ustawiamy hasło do bazy danych i inne opcje (konfiguracja serwera MySQL dostępna jest [[MySQL|tutaj]]), następnie &lt;br /&gt;
 service mysqld restart &lt;br /&gt;
i  &lt;br /&gt;
 chkconfig mysqld on  &lt;br /&gt;
tworzymy bazę danych dla baculi &lt;br /&gt;
 cd /usr/libexec/bacula/ &lt;br /&gt;
a następnie &lt;br /&gt;
 ./create_mysql_database -u root -p &lt;br /&gt;
tworzymy tabele w bazie baculi &lt;br /&gt;
 ./make_mysql_tables -u root -p &lt;br /&gt;
nadanie przywilejów dla usera bacula &lt;br /&gt;
 ./grant_mysql_privileges -u root -p &lt;br /&gt;
następnie nadajemy użytkownikowi bazy danych bacula hasło (obecnie brak hasła), logujemy się do bazy danych &lt;br /&gt;
 mysql -u root -p &lt;br /&gt;
a następnie wydajemy polecenie &lt;br /&gt;
 UPDATE mysql.user set password=password('haslo_dla_usera_bacula') where user='bacula'; &lt;br /&gt;
restartujemy bazę danych &lt;br /&gt;
 service mysqld restart&lt;br /&gt;
&lt;br /&gt;
== Konfiguracja serwera Bacula ==&lt;br /&gt;
&lt;br /&gt;
Wszystkie pliki konfiguracyjne baculi powinny znajdować się w ścieżce ''/etc/bacula/'' usługę możesz restartować zatrzymywać oraz startować za pomocą polecenia&lt;br /&gt;
 /etc/init.d/bacula-dir start/stop/restart/status &lt;br /&gt;
 /etc/init.d/bacula-sd start/stop/restart/status&lt;br /&gt;
 /etc/init.d/bacula-fd start/stop/restart/status&lt;br /&gt;
&lt;br /&gt;
== Pliki konfiguracyjne ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Plik '''bacula-dir.conf'''&amp;lt;br /&amp;gt; '''Director''' – dane zarządcy uprawnionego do używania urządzeń demona magazynowania&lt;br /&gt;
# Plik '''bacula-fd.conf'''&amp;lt;br /&amp;gt;'''Device''' – definicja urządzenia archiwizującego&lt;br /&gt;
# Plik '''bacula-sd.conf'''&amp;lt;br /&amp;gt;'''StorageDaemon''' – główna konfiguracja demona magazynowania&lt;br /&gt;
# Plik '''bconsole.conf''' - plik konsoli bacula&lt;br /&gt;
#Plik konfiguracji każdego klienta np '''slawek-backup.conf'''&lt;br /&gt;
Poniżej przedstawie przykładowe pliki konfiguracyjne z działającego serwera i pokrótce  postaram się opisać najważniejsze opcje każdego z nich.&lt;br /&gt;
&lt;br /&gt;
== Plik bacula-dir.conf - Director ==&lt;br /&gt;
Plik '''bacula-dir.conf''' zawiera sekcje&lt;br /&gt;
* Director – główna konfiguracja zarządcy,&lt;br /&gt;
* Catalog – parametry połączenia z bazą danych,&lt;br /&gt;
* Messages – sposób zapisywania dzienników (w tym powiadomienia na e-mail),&lt;br /&gt;
* Job – zadanie (backup, restore, weryfikacja, migracja, kopiowanie i inne),&lt;br /&gt;
* FileSet – opcje zadania (listy dołączeń, listy wykluczeń, sygnatury plików, kompresja programowa i inne),&lt;br /&gt;
* Storage – ustawienia dostępnych urządzeń archiwizujących,&lt;br /&gt;
* Client – definicja klientów,&lt;br /&gt;
* Pool – pula woluminów,&lt;br /&gt;
* Schedule – harmonogram zadań.&lt;br /&gt;
&lt;br /&gt;
Przykładowa konfiguracja&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
 Director {&lt;br /&gt;
 Name = serwer-dir #nazwa zarzadcy&lt;br /&gt;
 Password = &amp;quot;qwerty123-dir&amp;quot; #haslo, uzywaja programy łączące się z zarządcy&lt;br /&gt;
 DIR Address = 192.168.2.15 #adres IP interfejsu sieciowego&lt;br /&gt;
 DIR Port = 9101 #port na którym ma nasłuchiwać zarządca&lt;br /&gt;
 QueryFile = &amp;quot;/usr/libexec/bacula/query.sql&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
 WorkingDirectory = &amp;quot;/var/spool/bacula&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
 PidDirectory = &amp;quot;/var/run&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
 Messages = DirRaport #nazwa zasobu messages, uzyta ponizej&lt;br /&gt;
 Maximum Concurrent jobs = 5 #ilość zadań, które jednocześnie może wykonywać zarządca&lt;br /&gt;
 }&lt;br /&gt;
 Catalog {&lt;br /&gt;
 Name = &amp;quot;Baza-danych-bacula&amp;quot; #nazwa zasobu, używana w zasobach client&lt;br /&gt;
 DB Name = bacula #nazwa bazy danych&lt;br /&gt;
 DB Address = 127.0.0.1 # adres bazy danych&lt;br /&gt;
 DB Port = 3306 #port na którym nasłuchuje mysql&lt;br /&gt;
 User = bacula #użytkownik do bazy danych dla baculi&lt;br /&gt;
 Password = bacula1 #hasło użytkownika baculi&lt;br /&gt;
 } &lt;br /&gt;
 Messages {&lt;br /&gt;
 Name = DirRaport #nazwa zasobu, odpowiada ona nazwie w zasobie Director opcji messages&lt;br /&gt;
 Mailcommand = &amp;quot;/usr/sbin/bsmtp -h localhost -f \&amp;quot;\(Bacula\) \&amp;lt;%r\&amp;gt;\&amp;quot; -s \&amp;quot;Bacula: %t %e of %c %l\&amp;quot; %r&amp;quot; #komenda do wysłania maila z powiadomieniem&lt;br /&gt;
 Operatorcommand = &amp;quot;/usr/sbin/bsmtp -h localhost -f \&amp;quot;\(Bacula\) \&amp;lt;%r\&amp;gt;\&amp;quot; -s \&amp;quot;Bacula: Intervention needed for %j\&amp;quot; %r&amp;quot; #mail z powiadomieniem&lt;br /&gt;
 Mail = slawek@linux-user.eu = all, !skipped #mail od kogo&lt;br /&gt;
 Operator = slawek@linux-user.eu = mount #mail od kogo&lt;br /&gt;
 Console = all, !skipped, !saved #wyświetlanie statusów i zdarzeń wartość all wyświetla wszystko&lt;br /&gt;
 Append = &amp;quot;/var/spool/bacula/log&amp;quot; = all, !skipped #ustawienie zapisywania statusów i raportów do pliku logów wartość all wszystko&lt;br /&gt;
 }&lt;br /&gt;
 Storage {&lt;br /&gt;
 Name = Dysk-Pendrive #nazwa zasobu, używana w zasobie jobs&lt;br /&gt;
 Address = 192.168.2.15 #adres IP z bacula-sd, &lt;br /&gt;
 SD Port = 9103 #port bacula-sd&lt;br /&gt;
 Password = qwerty123-sd #hasło do bacula-sd&lt;br /&gt;
 Device = &amp;quot;Urzadzenie pendrive&amp;quot; #nazwa urzadzenia, uzyte również w bacula-sd&lt;br /&gt;
 Media Type = Pliki-na-usb #nazwa typu obsługiwanych woluminów, uzywana w bacula-sd&lt;br /&gt;
 Maximum Concurrent Jobs = 1 #ilośc zadań, które jednocześnie może zrealizować urządzenie&lt;br /&gt;
 } &lt;br /&gt;
 Client {&lt;br /&gt;
 Name = backup_na_pendrive # nazwa klienta, użyta również w sekcji Job&lt;br /&gt;
 Address = 192.168.2.15 #adres IP komputera klienta, &lt;br /&gt;
 FD Port = 9102 #numer portu bacula-client, domyślnie 9102&lt;br /&gt;
 Catalog = &amp;quot;Baza-danych-bacula&amp;quot; #jakiej bazy danych użyć, nazwa z sekcji Catalog&lt;br /&gt;
 Password = &amp;quot;qwerty123-fd&amp;quot; #hasło do bacula-fd na kliencie&lt;br /&gt;
 AutoPrune = no # czyszczenie przestarzałych danych z bazy danych&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
 Name = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
 Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
 Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
 AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
 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&lt;br /&gt;
 Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
 LabelFormat = &amp;quot;serwer-serwer-plik-poniedzialek-&amp;quot; &lt;br /&gt;
 Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
 Name = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
 Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
 Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
 AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
 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&lt;br /&gt;
 Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
 LabelFormat = &amp;quot;serwer-serwer-plik-wtorek-&amp;quot;&lt;br /&gt;
 Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
 Name = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa puli woluminów&lt;br /&gt;
 Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
 Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
 AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
 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&lt;br /&gt;
 Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
 LabelFormat = &amp;quot;serwer-serwer-plik-sroda-&amp;quot;&lt;br /&gt;
 Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
 Name = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
 Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
 Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
 AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
 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&lt;br /&gt;
 Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
 LabelFormat = &amp;quot;serwer-serwer-plik-czwartek-&amp;quot;&lt;br /&gt;
 Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
 Name = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
 Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
 Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
 AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
 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&lt;br /&gt;
 Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
 LabelFormat = &amp;quot;serwer-serwer-plik-piatek-&amp;quot;&lt;br /&gt;
 Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 FileSet {&lt;br /&gt;
 Name = &amp;quot;Baza-danych-postgresql&amp;quot; #nazwa akcji, użyta w sekcji job&lt;br /&gt;
  Include {&lt;br /&gt;
   Options {&lt;br /&gt;
    Signature = MD5 # sposób tworzenia sygnatur kopii zapasowych&lt;br /&gt;
       }&lt;br /&gt;
   File = /var/lib/pgsql/9.1/data/ #pliki do archiwizowania&lt;br /&gt;
  }&lt;br /&gt;
  Exclude { #nie archiwizuj poniższych plików&lt;br /&gt;
     File = /var/lib/pgsql/9.1/data/backup_test &lt;br /&gt;
     File = /var/lib/pgsql/9.1/data/backup_test_pg&lt;br /&gt;
  }&lt;br /&gt;
  }&lt;br /&gt;
  FileSet {&lt;br /&gt;
   Name = &amp;quot;Pliki-samby&amp;quot;&lt;br /&gt;
 Include {&lt;br /&gt;
 Options {&lt;br /&gt;
  Signature = MD5 # sposób tworzenia sygnatur kopii zapasowych&lt;br /&gt;
  }&lt;br /&gt;
 File = /home/samba/&lt;br /&gt;
 }&lt;br /&gt;
 Exclude {&lt;br /&gt;
 File = /home/samba/.*&lt;br /&gt;
 }&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-poniedzialek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
 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ę &lt;br /&gt;
 #wykonywać w dni od poniedziałku do piątku&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-wtorek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
 Run = Full tuesday at 00:04  &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-sroda&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
 Run = Full wednesday at 15:10 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-czwartek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
 Run = Full thursday at 15:10 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-piatek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
 Run = Full friday at 16:15 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-incremental-poniedzialek&amp;quot;&lt;br /&gt;
 Run = Incremental monday at 10:00 #kopia przyrostowa w poniedziałek o 10:00&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-incremental-wtorek&amp;quot;&lt;br /&gt;
 Run = Incremental tuesday at 00:23 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-incremental-sroda&amp;quot;&lt;br /&gt;
 Run = Incremental wednesday at 15:13 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-incremental-czwartek&amp;quot;&lt;br /&gt;
 Run = Incremental thursday at 15:13 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-incremental-piatek&amp;quot;&lt;br /&gt;
 Run = Incremental friday at 16:17 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-samba-poniedzialek&amp;quot; &lt;br /&gt;
 Run = Full monday at 01:00 #backup powinien wykonać się w poniedziałek o godzinie 01:00&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-samba-wtorek&amp;quot; &lt;br /&gt;
 Run = Full tuesday at 00:06 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-samba-sroda&amp;quot; &lt;br /&gt;
 Run = Full wednesday at 00:06 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-samba-czwartek&amp;quot; &lt;br /&gt;
 Run = Full thursday at 15:11 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-samba-piatek&amp;quot; &lt;br /&gt;
 Run = Full friday at 16:19 &lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-poniedzialek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-poniedzialek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-poniedzialek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-wtorek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-wtorek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-wtorek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-sroda&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-sroda&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-sroda&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-baza_danych-czwartek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-czwartek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-czwartek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-piatek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-piatek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-piatek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-poniedzialek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-poniedzialek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-poniedzialek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-wtorek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-wtorek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-wtorek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-sroda&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-sroda&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-sroda&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-samby-czwartek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-czwartek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-czwartek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-piatek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-piatek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-piatek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-full-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-full-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa  (uwaga musisz mieć poniższy skrypt w lokalizacji podanej poniżej)&lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-full-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-full-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-full-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-full-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-full-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-full-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-full-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-full-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-incremental-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-incremental-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot; 	 &lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-incremental-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-incremental-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }      &lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-incremental-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-incremental-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }       &lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Plik bacula-sd.conf - Storage Daemon ==&lt;br /&gt;
Konfiguracja demona magazynowania odbywa się w pliku '''bacula-sd.conf'''. Storage Daemon baculi definiuje gdzie będą odkładane pliki backupu. &lt;br /&gt;
robimy kopie orginalnego pliku &lt;br /&gt;
 mv bacula-sd.conf bacula-sd.conf-org &lt;br /&gt;
i tworzymy własny &lt;br /&gt;
 touch bacula-sd.conf &lt;br /&gt;
edytujemy plik bacula-sd.conf&lt;br /&gt;
* Storage – główna konfiguracja demona magazynowania&lt;br /&gt;
* Director – dane zarządcy uprawnionego do używania urządzeń demona magazynowania&lt;br /&gt;
* Device – definicja urządzenia archiwizującego,i np pendriva&lt;br /&gt;
* Messages – opcje przekazywania logów demona magazynowania do serwisu zarządcy&lt;br /&gt;
 Storage {&lt;br /&gt;
   Name = serwer-sd #nazwa, brak powiązania z innymi sekcjami&lt;br /&gt;
   WorkingDirectory = &amp;quot;/var/spool/bacula&amp;quot; #kopiujemy z orginalnych plików&lt;br /&gt;
   Pid Directory = &amp;quot;/var/run&amp;quot; #kopiujemy z orginalnych plików&lt;br /&gt;
   SD Address = 192.168.2.15 # ip bacula-sd&lt;br /&gt;
   SD Port = 9103 #domyślny port bacula-sd&lt;br /&gt;
   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)&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
   Name = serwer-dir # nazwa directora z pliku bacula-dir.conf&lt;br /&gt;
   Password = &amp;quot;qwerty123-sd&amp;quot; #hasło bacula-sd, definiowane również w pliku bacula-dir.conf w sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Device {&lt;br /&gt;
   Name = &amp;quot;Urzadzenie pendrive&amp;quot; #nazwa urządzenia, używana w pliku bacula-dir w sekcji Storage&lt;br /&gt;
   Archive Device = /mnt/usb/ #lokalizacja urządzenia na którym będzie przechowywana kopia zapasowa&lt;br /&gt;
   Device Type = File #typ urządzenia File, Tape, Fifo, DVD&lt;br /&gt;
   Media Type = Pliki-na-usb # nazwa typu nośnika, używana również w sekcji storage  w pliku bacula-dir&lt;br /&gt;
   LabelMedia = yes;&lt;br /&gt;
   Removable Media = yes; #yes/no jeśli urządzenia wyjmowalne np usb, DVD to yes, jeśli np hdd to no&lt;br /&gt;
   Random Access = yes; #jeśli napęd taśmowy to no&lt;br /&gt;
   Requires Mount = yes; #jeśli urządzenie wymienne i samo się nie montuje to yes&lt;br /&gt;
   Mount Point = /mnt/usb/ #gdzie będzie zamontowane urządzenie&lt;br /&gt;
   Mount Command = &amp;quot;/bin/mount /dev/sdb1 /mnt/usb/&amp;quot; #komenda do montowania pendriva &lt;br /&gt;
   Unmount Command = &amp;quot;/bin/umount /mnt/usb/&amp;quot; #komenda do odmontowania urządzenia&lt;br /&gt;
 }&lt;br /&gt;
 Messages {&lt;br /&gt;
   Name = serwer-sd-raport #nazwa własna nie używana nigdzie indziej&lt;br /&gt;
   Director = serwer-dir = all #nazwa zarządcy oraz poziom logowania all - wszystko&lt;br /&gt;
 }&lt;br /&gt;
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''&lt;br /&gt;
&lt;br /&gt;
== Plik bacula-fd.conf - File Daemon ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
* Client – główne ustawienia klienta. Nazwa stosowana zamiennie dla tego typu zasobu to &amp;quot;FileDaemon&amp;quot;.&lt;br /&gt;
* Director – ustawienie zarządcy, który jest uprawniony do korzystania z klienta&lt;br /&gt;
* Messages – poziom logowania klienta&lt;br /&gt;
W katalogu ''/etc/bacula'' wydajemy polecenie &lt;br /&gt;
 mv bacula-fd.conf bacula-fd.conf-org | touch bacula-fd.conf &lt;br /&gt;
i edytujemy plik bacula-fd.conf&lt;br /&gt;
 FileDaemon {&lt;br /&gt;
   Name = serwer-fd #nazwa zasobu, nigdzie indziej nie używana&lt;br /&gt;
   FD Address = 192.168.2.15 #IP klienta, tam gdzie jest uruchomiony bacula-fd&lt;br /&gt;
   FD Port = 9102 #numer portu na którym nasłuchuje klient&lt;br /&gt;
   WorkingDirectory = /var/spool/bacula #kopiować z istniejących plików&lt;br /&gt;
   Pid Directory = /var/run #kopiować z istniejących plików&lt;br /&gt;
   Maximum Concurrent Jobs = 1 # ilośc zadań jakie jednocześnie może wykonywac klient&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
   Name = serwer-dir # nazwa zarzadcy uprawnionego do łączenia się z klientem&lt;br /&gt;
   Password = &amp;quot;qwerty123-fd&amp;quot; #hasło, którym director będzie się autoryzować u klienta, musi byc takie samo jak w pliku bacula-dir odpowiednia sekcja Client&lt;br /&gt;
 } &lt;br /&gt;
 Messages {&lt;br /&gt;
   Name = serwer-fd-raport-klient #nazwa zasobu, nigdzie indziej nie używana&lt;br /&gt;
   Director = serwer-dir = all, !skipped, !restored #nazwa zarządcy oraz poziom logowania all, oprócz przywracania danych i zignorowanych&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
Uwaga hasło &amp;quot;''qwerty123-fd''&amp;quot;  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.&lt;br /&gt;
== Bconsole ==&lt;br /&gt;
Plik konfiguracyjny konsoli baculi to  '''bconsole.conf''' znajdujący się w katalogu ''/etc/bacula/''&lt;br /&gt;
dla naszej konfiguracji plik może wyglądać jak poniżej&lt;br /&gt;
 Director {&lt;br /&gt;
  Name = serwer-dir #z pliku bacula-dir, sekcja director&lt;br /&gt;
  DIRport = 9101 #port na jakim działa bacula-director&lt;br /&gt;
  address = 192.168.2.15 #ip serwera bacula-director&lt;br /&gt;
  Password = &amp;quot;qwerty123-dir&amp;quot; # hasło do directora&lt;br /&gt;
 }&lt;br /&gt;
=== Przywracanie danych za pomocą bconsole ===&lt;br /&gt;
Aby używać konsoli baculi wydajemy polecenie jako użytkownik [[root]]&lt;br /&gt;
 bconsole&lt;br /&gt;
aby przywrócić pliki, w konsoli baculi wydajemy polecenie&lt;br /&gt;
 restore&lt;br /&gt;
i wybieramy jedną z opcji.&lt;br /&gt;
Aby zaznaczyć plik lub pliki do przywrócenia wydajemy polecenie &lt;br /&gt;
 mark jakiś_plik&lt;br /&gt;
 mark * #przywracamy wszystkie pliki&lt;br /&gt;
na koniec wydajemy polecenie&lt;br /&gt;
 done&lt;br /&gt;
wybieramy z jakiego czasu chcemy przywrócić kopię np &lt;br /&gt;
1&lt;br /&gt;
potwierdzamy za pomocą polecenia&lt;br /&gt;
 yes&lt;br /&gt;
i dajemy&lt;br /&gt;
 exit&lt;br /&gt;
całość może wyglądać tak&lt;br /&gt;
 $ '''bconsole'''&lt;br /&gt;
 Connecting to Director 192.168.2.15:9101&lt;br /&gt;
 1000 OK: ogrody-dir Version: 5.0.0 (26 January 2010)&lt;br /&gt;
 Enter a period to cancel a command.&lt;br /&gt;
 *'''restore'''&lt;br /&gt;
 Automatically selected Catalog: Baza-danych-bacula&lt;br /&gt;
 Using Catalog &amp;quot;Baza-danych-bacula&amp;quot;&lt;br /&gt;
 First you select one or more JobIds that contain files&lt;br /&gt;
 to be restored. You will be presented several methods&lt;br /&gt;
 of specifying the JobIds. Then you will be allowed to&lt;br /&gt;
 select which files from those JobIds are to be restored.&lt;br /&gt;
 To select the JobIds, you have the following choices:&lt;br /&gt;
     1: List last 20 Jobs run&lt;br /&gt;
     2: List Jobs where a given File is saved&lt;br /&gt;
     3: Enter list of comma separated JobIds to select&lt;br /&gt;
     4: Enter SQL list command&lt;br /&gt;
     5: Select the most recent backup for a client&lt;br /&gt;
     6: Select backup for a client before a specified time&lt;br /&gt;
     7: Enter a list of files to restore&lt;br /&gt;
     8: Enter a list of files to restore before a specified time&lt;br /&gt;
     9: Find the JobIds of the most recent backup for a client&lt;br /&gt;
    10: Find the JobIds for a backup for a client before a specified time&lt;br /&gt;
    11: Enter a list of directories to restore for found JobIds&lt;br /&gt;
    12: Select full restore to a specified Job date&lt;br /&gt;
    13: Cancel&lt;br /&gt;
 Select item:  (1-13): '''12'''&lt;br /&gt;
 Enter JobId to get the state to restore: '''50'''&lt;br /&gt;
 Selecting jobs to build the Full state at 2012-09-18 00:05:03&lt;br /&gt;
 You have selected the following JobId: 50&lt;br /&gt;
 Building directory tree for JobId(s) 50 ...  ++++++++++++++++++++++++++++++++++++++++++++++&lt;br /&gt;
 984 files inserted into the tree.&lt;br /&gt;
 You are now entering file selection mode where you add (mark) and&lt;br /&gt;
 remove (unmark) files to be restored. No files are initially added, unless&lt;br /&gt;
 you used the &amp;quot;all&amp;quot; keyword on the command line.&lt;br /&gt;
 Enter &amp;quot;done&amp;quot; to leave this mode.&lt;br /&gt;
 cwd is: /&lt;br /&gt;
 $ '''ls'''&lt;br /&gt;
 var/&lt;br /&gt;
 $ '''mark *'''&lt;br /&gt;
 1,000 files marked.&lt;br /&gt;
 $ '''done'''&lt;br /&gt;
 Bootstrap records written to /var/spool/bacula/serwer-dir.restore.1.bsr&lt;br /&gt;
 The job will require the following&lt;br /&gt;
   Volume(s)                 Storage(s)                SD Device(s)&lt;br /&gt;
 ===========================================================================  &lt;br /&gt;
    serwer-serwer-plik-wtorek Dysk-Pendrive             Urzadzenie pendrive      &lt;br /&gt;
 Volumes marked with &amp;quot;*&amp;quot; are online.&lt;br /&gt;
 1,000 files selected to be restored.&lt;br /&gt;
 The defined Restore Job resources are:&lt;br /&gt;
     1: Przywracanie-plikow-z-baza_danych-poniedzialek&lt;br /&gt;
     2: Przywracanie-plikow-z-baza_danych-wtorek&lt;br /&gt;
     3: Przywracanie-plikow-z-baza_danych-sroda&lt;br /&gt;
     4: Przywracanie-plikow-baza_danych-czwartek&lt;br /&gt;
     5: Przywracanie-plikow-z-baza_danych-piatek&lt;br /&gt;
     6: Przywracanie-plikow-z-samby-poniedzialek&lt;br /&gt;
     7: Przywracanie-plikow-z-samby-wtorek&lt;br /&gt;
     8: Przywracanie-plikow-z-samby-sroda&lt;br /&gt;
     9: Przywracanie-plikow-samby-czwartek&lt;br /&gt;
    10: Przywracanie-plikow-z-samby-piatek&lt;br /&gt;
 Select Restore Job (1-10): '''2'''&lt;br /&gt;
 Automatically selected Client: backup_na_pendrive&lt;br /&gt;
 Run Restore job&lt;br /&gt;
 JobName:         Przywracanie-plikow-z-baza_danych-wtorek&lt;br /&gt;
 Bootstrap:       /var/spool/bacula/serwer-dir.restore.1.bsr&lt;br /&gt;
 Where:           /root/bacula/restore-wtorek&lt;br /&gt;
 Replace:         always&lt;br /&gt;
 FileSet:         Baza-danych-postgresql&lt;br /&gt;
 Backup Client:   backup_na_pendrive&lt;br /&gt;
 Restore Client:  backup_na_pendrive&lt;br /&gt;
 Storage:         Dysk-Pendrive&lt;br /&gt;
 When:            2012-09-16 15:34:27&lt;br /&gt;
 Catalog:         Baza-danych-bacula&lt;br /&gt;
 Priority:        10&lt;br /&gt;
 Plugin Options:  *None*&lt;br /&gt;
 OK to run? (yes/mod/no): '''yes'''&lt;br /&gt;
 Job queued. JobId=56&lt;br /&gt;
 *'''exit'''&lt;br /&gt;
przywrócone pliki znajdują się w ścieżce ''/root/bacula/restor-DZIEN_TYGODNIA''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;google1 style=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/google1&amp;gt;&lt;/div&gt;</summary>
		<author><name>Slawek</name></author>	</entry>

	<entry>
		<id>http://wiki.linux-user.eu/index.php/Bacula_-_backup_danych</id>
		<title>Bacula - backup danych</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux-user.eu/index.php/Bacula_-_backup_danych"/>
				<updated>2012-09-16T13:40:59Z</updated>
		
		<summary type="html">&lt;p&gt;Slawek: /* Przywracanie danych za pomocą bconsole */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Serwer]]&lt;br /&gt;
== Backup danych - Bacula ==&lt;br /&gt;
'''Bacula''' jest profesjonalnym systemem archiwizacji danych typu klien-serwer. Jest to darmowe oprogramowanie, które odpowiada za tworzenie, przywracania oraz weryfikację danych. Sam serwer może działać na wielu platformach Linux, FreeBSD czy Solaris. Klient baculi archiwizuje dane z wilu platform łącznie z windowsami.&lt;br /&gt;
Bacula w skrócie:&lt;br /&gt;
* budowa modularna&lt;br /&gt;
* archiwizacja danych z platform Linux, Windows, Mac OS&lt;br /&gt;
* zaplecze bazo danowe w postaci MySQL, PostgreSQL czy SQLite&lt;br /&gt;
* dostęp do oprogramowania baculi na licencjo OpenSource&lt;br /&gt;
* kopia danych na woluminach wielotaśmowych&lt;br /&gt;
* umożliwia szyfrowanie danych przepływających przez sieć&lt;br /&gt;
* archiwizuje pliki większe niż 2 GBobsługuje automatyczne zmieniarki&lt;br /&gt;
* może wykonywać skrypty przed i po archiwizazcji&lt;br /&gt;
* scentralizowany system zarządzania kopiami dla całej sieci&lt;br /&gt;
&lt;br /&gt;
== Instalacja serwera bacula ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Potrzebne oprogramowanie do działania baculi zaznaczyłem w trakcie instalacji systemu &amp;quot;''[[LAMP]] Server''&amp;quot; , 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&lt;br /&gt;
* w systemie [[CentOS]]&lt;br /&gt;
 yum install bacula-client bacula-common bacula-console bacula-director-common bacula-director-mysql bacula-docs bacula-storage-common &lt;br /&gt;
 bacula-storage-mysql mysql mysql-devel mysql-server&lt;br /&gt;
* w systemie [[Ubuntu]] Server&lt;br /&gt;
  apt-get install bacula apache2 mysql php&lt;br /&gt;
i to tak na prawdę wszyst. Uwaga jeśli chcesz aby Twoja instalacja baculi współpracowała z np bazą danych mysql to musisz instalować pakiety np ''bacula-director-mysql'', ''bacula-common-mysql''  i tak dalej jeśli chcesz przeprowadzić  instalację do współpracy z odpowiednią bazą danych  to musisz jawnie o tym powiadomić instalator podczas instalacji oprogramowania.&lt;br /&gt;
Potrzebne pakiety do poprawnego działania to:&lt;br /&gt;
* bacula-common-mysql&lt;br /&gt;
* bacula-console&lt;br /&gt;
* bacula-director-common&lt;br /&gt;
* bacula-director-mysql&lt;br /&gt;
* bacula-fd (klient)&lt;br /&gt;
* bacula-sd-mysql&lt;br /&gt;
* bacula-server&lt;br /&gt;
* dbconfig-common&lt;br /&gt;
W trakcie instalacji na systemie '''Ubuntu Server''', powyższych pakietów system pyta nas o konfiguracje bazy danych dla '''baculi''' za pomocą oprogramowania '''dbconfig-common''', oczywiście się zgadzamy &amp;quot;''Configure database for bacula-director-mysql with dbconfig-common?''&amp;quot;, po zatwierdzeniu będziemy musieli podać hasło do użytkownika root bazy danych oraz nowe hasło dla '''bacula-director-mysql'''.  Do instalacji tego oprogramowania nie potrzebowałem żadnego dodatkowego repozytorium. Po poprawnej instalacji Twój serwer archiwizacji danych powinien być gotowy do konfiguracji.&amp;lt;br /&amp;gt;&lt;br /&gt;
* W systemie [[CentOS]] po instalacji pakietów musimy skonfigurować ręcznie bazę danych i tak na początku uruchamiamy serwer mysqla &lt;br /&gt;
 service mysqld start &lt;br /&gt;
następnie &lt;br /&gt;
 /usr/bin/mysql_secure_installation &lt;br /&gt;
i ustawiamy hasło do bazy danych i inne opcje (konfiguracja serwera MySQL dostępna jest [[MySQL|tutaj]]), następnie &lt;br /&gt;
 service mysqld restart &lt;br /&gt;
i  &lt;br /&gt;
 chkconfig mysqld on  &lt;br /&gt;
tworzymy bazę danych dla baculi &lt;br /&gt;
 cd /usr/libexec/bacula/ &lt;br /&gt;
a następnie &lt;br /&gt;
 ./create_mysql_database -u root -p &lt;br /&gt;
tworzymy tabele w bazie baculi &lt;br /&gt;
 ./make_mysql_tables -u root -p &lt;br /&gt;
nadanie przywilejów dla usera bacula &lt;br /&gt;
 ./grant_mysql_privileges -u root -p &lt;br /&gt;
następnie nadajemy użytkownikowi bazy danych bacula hasło (obecnie brak hasła), logujemy się do bazy danych &lt;br /&gt;
 mysql -u root -p &lt;br /&gt;
a następnie wydajemy polecenie &lt;br /&gt;
 UPDATE mysql.user set password=password('haslo_dla_usera_bacula') where user='bacula'; &lt;br /&gt;
restartujemy bazę danych &lt;br /&gt;
 service mysqld restart&lt;br /&gt;
&lt;br /&gt;
== Konfiguracja serwera Bacula ==&lt;br /&gt;
&lt;br /&gt;
Wszystkie pliki konfiguracyjne baculi powinny znajdować się w ścieżce ''/etc/bacula/'' usługę możesz restartować zatrzymywać oraz startować za pomocą polecenia&lt;br /&gt;
 /etc/init.d/bacula-dir start/stop/restart/status &lt;br /&gt;
 /etc/init.d/bacula-sd start/stop/restart/status&lt;br /&gt;
 /etc/init.d/bacula-fd start/stop/restart/status&lt;br /&gt;
&lt;br /&gt;
== Pliki konfiguracyjne ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Plik '''bacula-dir.conf'''&amp;lt;br /&amp;gt; '''Director''' – dane zarządcy uprawnionego do używania urządzeń demona magazynowania&lt;br /&gt;
# Plik '''bacula-fd.conf'''&amp;lt;br /&amp;gt;'''Device''' – definicja urządzenia archiwizującego&lt;br /&gt;
# Plik '''bacula-sd.conf'''&amp;lt;br /&amp;gt;'''StorageDaemon''' – główna konfiguracja demona magazynowania&lt;br /&gt;
# Plik '''bconsole.conf''' - plik konsoli bacula&lt;br /&gt;
#Plik konfiguracji każdego klienta np '''slawek-backup.conf'''&lt;br /&gt;
Poniżej przedstawie przykładowe pliki konfiguracyjne z działającego serwera i pokrótce  postaram się opisać najważniejsze opcje każdego z nich.&lt;br /&gt;
&lt;br /&gt;
== Plik bacula-dir.conf - Director ==&lt;br /&gt;
Plik '''bacula-dir.conf''' zawiera sekcje&lt;br /&gt;
* Director – główna konfiguracja zarządcy,&lt;br /&gt;
* Catalog – parametry połączenia z bazą danych,&lt;br /&gt;
* Messages – sposób zapisywania dzienników (w tym powiadomienia na e-mail),&lt;br /&gt;
* Job – zadanie (backup, restore, weryfikacja, migracja, kopiowanie i inne),&lt;br /&gt;
* FileSet – opcje zadania (listy dołączeń, listy wykluczeń, sygnatury plików, kompresja programowa i inne),&lt;br /&gt;
* Storage – ustawienia dostępnych urządzeń archiwizujących,&lt;br /&gt;
* Client – definicja klientów,&lt;br /&gt;
* Pool – pula woluminów,&lt;br /&gt;
* Schedule – harmonogram zadań.&lt;br /&gt;
&lt;br /&gt;
Przykładowa konfiguracja&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
 Director {&lt;br /&gt;
 Name = serwer-dir #nazwa zarzadcy&lt;br /&gt;
 Password = &amp;quot;qwerty123-dir&amp;quot; #haslo, uzywaja programy łączące się z zarządcy&lt;br /&gt;
 DIR Address = 192.168.2.15 #adres IP interfejsu sieciowego&lt;br /&gt;
 DIR Port = 9101 #port na którym ma nasłuchiwać zarządca&lt;br /&gt;
 QueryFile = &amp;quot;/usr/libexec/bacula/query.sql&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
 WorkingDirectory = &amp;quot;/var/spool/bacula&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
 PidDirectory = &amp;quot;/var/run&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
 Messages = DirRaport #nazwa zasobu messages, uzyta ponizej&lt;br /&gt;
 Maximum Concurrent jobs = 5 #ilość zadań, które jednocześnie może wykonywać zarządca&lt;br /&gt;
 }&lt;br /&gt;
 Catalog {&lt;br /&gt;
 Name = &amp;quot;Baza-danych-bacula&amp;quot; #nazwa zasobu, używana w zasobach client&lt;br /&gt;
 DB Name = bacula #nazwa bazy danych&lt;br /&gt;
 DB Address = 127.0.0.1 # adres bazy danych&lt;br /&gt;
 DB Port = 3306 #port na którym nasłuchuje mysql&lt;br /&gt;
 User = bacula #użytkownik do bazy danych dla baculi&lt;br /&gt;
 Password = bacula1 #hasło użytkownika baculi&lt;br /&gt;
 } &lt;br /&gt;
 Messages {&lt;br /&gt;
 Name = DirRaport #nazwa zasobu, odpowiada ona nazwie w zasobie Director opcji messages&lt;br /&gt;
 Mailcommand = &amp;quot;/usr/sbin/bsmtp -h localhost -f \&amp;quot;\(Bacula\) \&amp;lt;%r\&amp;gt;\&amp;quot; -s \&amp;quot;Bacula: %t %e of %c %l\&amp;quot; %r&amp;quot; #komenda do wysłania maila z powiadomieniem&lt;br /&gt;
 Operatorcommand = &amp;quot;/usr/sbin/bsmtp -h localhost -f \&amp;quot;\(Bacula\) \&amp;lt;%r\&amp;gt;\&amp;quot; -s \&amp;quot;Bacula: Intervention needed for %j\&amp;quot; %r&amp;quot; #mail z powiadomieniem&lt;br /&gt;
 Mail = slawek@linux-user.eu = all, !skipped #mail od kogo&lt;br /&gt;
 Operator = slawek@linux-user.eu = mount #mail od kogo&lt;br /&gt;
 Console = all, !skipped, !saved #wyświetlanie statusów i zdarzeń wartość all wyświetla wszystko&lt;br /&gt;
 Append = &amp;quot;/var/spool/bacula/log&amp;quot; = all, !skipped #ustawienie zapisywania statusów i raportów do pliku logów wartość all wszystko&lt;br /&gt;
 }&lt;br /&gt;
 Storage {&lt;br /&gt;
 Name = Dysk-Pendrive #nazwa zasobu, używana w zasobie jobs&lt;br /&gt;
 Address = 192.168.2.15 #adres IP z bacula-sd, &lt;br /&gt;
 SD Port = 9103 #port bacula-sd&lt;br /&gt;
 Password = qwerty123-sd #hasło do bacula-sd&lt;br /&gt;
 Device = &amp;quot;Urzadzenie pendrive&amp;quot; #nazwa urzadzenia, uzyte również w bacula-sd&lt;br /&gt;
 Media Type = Pliki-na-usb #nazwa typu obsługiwanych woluminów, uzywana w bacula-sd&lt;br /&gt;
 Maximum Concurrent Jobs = 1 #ilośc zadań, które jednocześnie może zrealizować urządzenie&lt;br /&gt;
 } &lt;br /&gt;
 Client {&lt;br /&gt;
 Name = backup_na_pendrive # nazwa klienta, użyta również w sekcji Job&lt;br /&gt;
 Address = 192.168.2.15 #adres IP komputera klienta, &lt;br /&gt;
 FD Port = 9102 #numer portu bacula-client, domyślnie 9102&lt;br /&gt;
 Catalog = &amp;quot;Baza-danych-bacula&amp;quot; #jakiej bazy danych użyć, nazwa z sekcji Catalog&lt;br /&gt;
 Password = &amp;quot;qwerty123-fd&amp;quot; #hasło do bacula-fd na kliencie&lt;br /&gt;
 AutoPrune = no # czyszczenie przestarzałych danych z bazy danych&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
 Name = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
 Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
 Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
 AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
 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&lt;br /&gt;
 Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
 LabelFormat = &amp;quot;serwer-serwer-plik-poniedzialek-&amp;quot; &lt;br /&gt;
 Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
 Name = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
 Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
 Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
 AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
 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&lt;br /&gt;
 Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
 LabelFormat = &amp;quot;serwer-serwer-plik-wtorek-&amp;quot;&lt;br /&gt;
 Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
 Name = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa puli woluminów&lt;br /&gt;
 Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
 Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
 AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
 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&lt;br /&gt;
 Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
 LabelFormat = &amp;quot;serwer-serwer-plik-sroda-&amp;quot;&lt;br /&gt;
 Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
 Name = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
 Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
 Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
 AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
 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&lt;br /&gt;
 Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
 LabelFormat = &amp;quot;serwer-serwer-plik-czwartek-&amp;quot;&lt;br /&gt;
 Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
 Name = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
 Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
 Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
 AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
 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&lt;br /&gt;
 Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
 LabelFormat = &amp;quot;serwer-serwer-plik-piatek-&amp;quot;&lt;br /&gt;
 Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 FileSet {&lt;br /&gt;
 Name = &amp;quot;Baza-danych-postgresql&amp;quot; #nazwa akcji, użyta w sekcji job&lt;br /&gt;
  Include {&lt;br /&gt;
   Options {&lt;br /&gt;
    Signature = MD5 # sposób tworzenia sygnatur kopii zapasowych&lt;br /&gt;
       }&lt;br /&gt;
   File = /var/lib/pgsql/9.1/data/ #pliki do archiwizowania&lt;br /&gt;
  }&lt;br /&gt;
  Exclude { #nie archiwizuj poniższych plików&lt;br /&gt;
     File = /var/lib/pgsql/9.1/data/backup_test &lt;br /&gt;
     File = /var/lib/pgsql/9.1/data/backup_test_pg&lt;br /&gt;
  }&lt;br /&gt;
  }&lt;br /&gt;
  FileSet {&lt;br /&gt;
   Name = &amp;quot;Pliki-samby&amp;quot;&lt;br /&gt;
 Include {&lt;br /&gt;
 Options {&lt;br /&gt;
  Signature = MD5 # sposób tworzenia sygnatur kopii zapasowych&lt;br /&gt;
  }&lt;br /&gt;
 File = /home/samba/&lt;br /&gt;
 }&lt;br /&gt;
 Exclude {&lt;br /&gt;
 File = /home/samba/.*&lt;br /&gt;
 }&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-poniedzialek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
 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ę &lt;br /&gt;
 #wykonywać w dni od poniedziałku do piątku&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-wtorek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
 Run = Full tuesday at 00:04  &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-sroda&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
 Run = Full wednesday at 15:10 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-czwartek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
 Run = Full thursday at 15:10 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-piatek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
 Run = Full friday at 16:15 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-incremental-poniedzialek&amp;quot;&lt;br /&gt;
 Run = Incremental monday at 10:00 #kopia przyrostowa w poniedziałek o 10:00&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-incremental-wtorek&amp;quot;&lt;br /&gt;
 Run = Incremental tuesday at 00:23 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-incremental-sroda&amp;quot;&lt;br /&gt;
 Run = Incremental wednesday at 15:13 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-incremental-czwartek&amp;quot;&lt;br /&gt;
 Run = Incremental thursday at 15:13 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-incremental-piatek&amp;quot;&lt;br /&gt;
 Run = Incremental friday at 16:17 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-samba-poniedzialek&amp;quot; &lt;br /&gt;
 Run = Full monday at 01:00 #backup powinien wykonać się w poniedziałek o godzinie 01:00&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-samba-wtorek&amp;quot; &lt;br /&gt;
 Run = Full tuesday at 00:06 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-samba-sroda&amp;quot; &lt;br /&gt;
 Run = Full wednesday at 00:06 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-samba-czwartek&amp;quot; &lt;br /&gt;
 Run = Full thursday at 15:11 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-samba-piatek&amp;quot; &lt;br /&gt;
 Run = Full friday at 16:19 &lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-poniedzialek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-poniedzialek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-poniedzialek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-wtorek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-wtorek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-wtorek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-sroda&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-sroda&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-sroda&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-baza_danych-czwartek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-czwartek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-czwartek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-piatek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-piatek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-piatek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-poniedzialek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-poniedzialek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-poniedzialek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-wtorek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-wtorek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-wtorek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-sroda&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-sroda&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-sroda&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-samby-czwartek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-czwartek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-czwartek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-piatek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-piatek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-piatek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-full-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-full-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa  (uwaga musisz mieć poniższy skrypt w lokalizacji podanej poniżej)&lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-full-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-full-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-full-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-full-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-full-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-full-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-full-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-full-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-incremental-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-incremental-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot; 	 &lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-incremental-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-incremental-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }      &lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-incremental-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-incremental-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }       &lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Plik bacula-sd.conf - Storage Daemon ==&lt;br /&gt;
Konfiguracja demona magazynowania odbywa się w pliku '''bacula-sd.conf'''. Storage Daemon baculi definiuje gdzie będą odkładane pliki backupu. &lt;br /&gt;
robimy kopie orginalnego pliku &lt;br /&gt;
 mv bacula-sd.conf bacula-sd.conf-org &lt;br /&gt;
i tworzymy własny &lt;br /&gt;
 touch bacula-sd.conf &lt;br /&gt;
edytujemy plik bacula-sd.conf&lt;br /&gt;
* Storage – główna konfiguracja demona magazynowania&lt;br /&gt;
* Director – dane zarządcy uprawnionego do używania urządzeń demona magazynowania&lt;br /&gt;
* Device – definicja urządzenia archiwizującego,i np pendriva&lt;br /&gt;
* Messages – opcje przekazywania logów demona magazynowania do serwisu zarządcy&lt;br /&gt;
 Storage {&lt;br /&gt;
   Name = serwer-sd #nazwa, brak powiązania z innymi sekcjami&lt;br /&gt;
   WorkingDirectory = &amp;quot;/var/spool/bacula&amp;quot; #kopiujemy z orginalnych plików&lt;br /&gt;
   Pid Directory = &amp;quot;/var/run&amp;quot; #kopiujemy z orginalnych plików&lt;br /&gt;
   SD Address = 192.168.2.15 # ip bacula-sd&lt;br /&gt;
   SD Port = 9103 #domyślny port bacula-sd&lt;br /&gt;
   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)&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
   Name = serwer-dir # nazwa directora z pliku bacula-dir.conf&lt;br /&gt;
   Password = &amp;quot;qwerty123-sd&amp;quot; #hasło bacula-sd, definiowane również w pliku bacula-dir.conf w sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Device {&lt;br /&gt;
   Name = &amp;quot;Urzadzenie pendrive&amp;quot; #nazwa urządzenia, używana w pliku bacula-dir w sekcji Storage&lt;br /&gt;
   Archive Device = /mnt/usb/ #lokalizacja urządzenia na którym będzie przechowywana kopia zapasowa&lt;br /&gt;
   Device Type = File #typ urządzenia File, Tape, Fifo, DVD&lt;br /&gt;
   Media Type = Pliki-na-usb # nazwa typu nośnika, używana również w sekcji storage  w pliku bacula-dir&lt;br /&gt;
   LabelMedia = yes;&lt;br /&gt;
   Removable Media = yes; #yes/no jeśli urządzenia wyjmowalne np usb, DVD to yes, jeśli np hdd to no&lt;br /&gt;
   Random Access = yes; #jeśli napęd taśmowy to no&lt;br /&gt;
   Requires Mount = yes; #jeśli urządzenie wymienne i samo się nie montuje to yes&lt;br /&gt;
   Mount Point = /mnt/usb/ #gdzie będzie zamontowane urządzenie&lt;br /&gt;
   Mount Command = &amp;quot;/bin/mount /dev/sdb1 /mnt/usb/&amp;quot; #komenda do montowania pendriva &lt;br /&gt;
   Unmount Command = &amp;quot;/bin/umount /mnt/usb/&amp;quot; #komenda do odmontowania urządzenia&lt;br /&gt;
 }&lt;br /&gt;
 Messages {&lt;br /&gt;
   Name = serwer-sd-raport #nazwa własna nie używana nigdzie indziej&lt;br /&gt;
   Director = serwer-dir = all #nazwa zarządcy oraz poziom logowania all - wszystko&lt;br /&gt;
 }&lt;br /&gt;
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''&lt;br /&gt;
&lt;br /&gt;
== Plik bacula-fd.conf - File Daemon ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
* Client – główne ustawienia klienta. Nazwa stosowana zamiennie dla tego typu zasobu to &amp;quot;FileDaemon&amp;quot;.&lt;br /&gt;
* Director – ustawienie zarządcy, który jest uprawniony do korzystania z klienta&lt;br /&gt;
* Messages – poziom logowania klienta&lt;br /&gt;
W katalogu ''/etc/bacula'' wydajemy polecenie &lt;br /&gt;
 mv bacula-fd.conf bacula-fd.conf-org | touch bacula-fd.conf &lt;br /&gt;
i edytujemy plik bacula-fd.conf&lt;br /&gt;
 FileDaemon {&lt;br /&gt;
   Name = serwer-fd #nazwa zasobu, nigdzie indziej nie używana&lt;br /&gt;
   FD Address = 192.168.2.15 #IP klienta, tam gdzie jest uruchomiony bacula-fd&lt;br /&gt;
   FD Port = 9102 #numer portu na którym nasłuchuje klient&lt;br /&gt;
   WorkingDirectory = /var/spool/bacula #kopiować z istniejących plików&lt;br /&gt;
   Pid Directory = /var/run #kopiować z istniejących plików&lt;br /&gt;
   Maximum Concurrent Jobs = 1 # ilośc zadań jakie jednocześnie może wykonywac klient&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
   Name = serwer-dir # nazwa zarzadcy uprawnionego do łączenia się z klientem&lt;br /&gt;
   Password = &amp;quot;qwerty123-fd&amp;quot; #hasło, którym director będzie się autoryzować u klienta, musi byc takie samo jak w pliku bacula-dir odpowiednia sekcja Client&lt;br /&gt;
 } &lt;br /&gt;
 Messages {&lt;br /&gt;
   Name = serwer-fd-raport-klient #nazwa zasobu, nigdzie indziej nie używana&lt;br /&gt;
   Director = serwer-dir = all, !skipped, !restored #nazwa zarządcy oraz poziom logowania all, oprócz przywracania danych i zignorowanych&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
Uwaga hasło &amp;quot;''qwerty123-fd''&amp;quot;  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.&lt;br /&gt;
== Bconsole ==&lt;br /&gt;
Plik konfiguracyjny konsoli baculi to  '''bconsole.conf''' znajdujący się w katalogu ''/etc/bacula/''&lt;br /&gt;
dla naszej konfiguracji plik może wyglądać jak poniżej&lt;br /&gt;
 Director {&lt;br /&gt;
  Name = serwer-dir&lt;br /&gt;
  DIRport = 9101&lt;br /&gt;
  address = 192.168.2.15&lt;br /&gt;
  Password = &amp;quot;qwerty123-dir&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
=== Przywracanie danych za pomocą bconsole ===&lt;br /&gt;
Aby używać konsoli baculi wydajemy polecenie jako użytkownik [[root]]&lt;br /&gt;
 bconsole&lt;br /&gt;
aby przywrócić pliki, w konsoli baculi wydajemy polecenie&lt;br /&gt;
 restore&lt;br /&gt;
i wybieramy jedną z opcji.&lt;br /&gt;
Aby zaznaczyć plik lub pliki do przywrócenia wydajemy polecenie &lt;br /&gt;
 mark jakiś_plik&lt;br /&gt;
 mark * #przywracamy wszystkie pliki&lt;br /&gt;
na koniec wydajemy polecenie&lt;br /&gt;
 done&lt;br /&gt;
wybieramy z jakiego czasu chcemy przywrócić kopię np &lt;br /&gt;
1&lt;br /&gt;
potwierdzamy za pomocą polecenia&lt;br /&gt;
 yes&lt;br /&gt;
i dajemy&lt;br /&gt;
 exit&lt;br /&gt;
całość może wyglądać tak&lt;br /&gt;
 $ '''bconsole'''&lt;br /&gt;
 Connecting to Director 192.168.2.15:9101&lt;br /&gt;
 1000 OK: ogrody-dir Version: 5.0.0 (26 January 2010)&lt;br /&gt;
 Enter a period to cancel a command.&lt;br /&gt;
 *'''restore'''&lt;br /&gt;
 Automatically selected Catalog: Baza-danych-bacula&lt;br /&gt;
 Using Catalog &amp;quot;Baza-danych-bacula&amp;quot;&lt;br /&gt;
 First you select one or more JobIds that contain files&lt;br /&gt;
 to be restored. You will be presented several methods&lt;br /&gt;
 of specifying the JobIds. Then you will be allowed to&lt;br /&gt;
 select which files from those JobIds are to be restored.&lt;br /&gt;
 To select the JobIds, you have the following choices:&lt;br /&gt;
     1: List last 20 Jobs run&lt;br /&gt;
     2: List Jobs where a given File is saved&lt;br /&gt;
     3: Enter list of comma separated JobIds to select&lt;br /&gt;
     4: Enter SQL list command&lt;br /&gt;
     5: Select the most recent backup for a client&lt;br /&gt;
     6: Select backup for a client before a specified time&lt;br /&gt;
     7: Enter a list of files to restore&lt;br /&gt;
     8: Enter a list of files to restore before a specified time&lt;br /&gt;
     9: Find the JobIds of the most recent backup for a client&lt;br /&gt;
    10: Find the JobIds for a backup for a client before a specified time&lt;br /&gt;
    11: Enter a list of directories to restore for found JobIds&lt;br /&gt;
    12: Select full restore to a specified Job date&lt;br /&gt;
    13: Cancel&lt;br /&gt;
 Select item:  (1-13): '''12'''&lt;br /&gt;
 Enter JobId to get the state to restore: '''50'''&lt;br /&gt;
 Selecting jobs to build the Full state at 2012-09-18 00:05:03&lt;br /&gt;
 You have selected the following JobId: 50&lt;br /&gt;
 Building directory tree for JobId(s) 50 ...  ++++++++++++++++++++++++++++++++++++++++++++++&lt;br /&gt;
 984 files inserted into the tree.&lt;br /&gt;
 You are now entering file selection mode where you add (mark) and&lt;br /&gt;
 remove (unmark) files to be restored. No files are initially added, unless&lt;br /&gt;
 you used the &amp;quot;all&amp;quot; keyword on the command line.&lt;br /&gt;
 Enter &amp;quot;done&amp;quot; to leave this mode.&lt;br /&gt;
 cwd is: /&lt;br /&gt;
 $ '''ls'''&lt;br /&gt;
 var/&lt;br /&gt;
 $ '''mark *'''&lt;br /&gt;
 1,000 files marked.&lt;br /&gt;
 $ '''done'''&lt;br /&gt;
 Bootstrap records written to /var/spool/bacula/serwer-dir.restore.1.bsr&lt;br /&gt;
 The job will require the following&lt;br /&gt;
   Volume(s)                 Storage(s)                SD Device(s)&lt;br /&gt;
 ===========================================================================  &lt;br /&gt;
    serwer-serwer-plik-wtorek Dysk-Pendrive             Urzadzenie pendrive      &lt;br /&gt;
 Volumes marked with &amp;quot;*&amp;quot; are online.&lt;br /&gt;
 1,000 files selected to be restored.&lt;br /&gt;
 The defined Restore Job resources are:&lt;br /&gt;
     1: Przywracanie-plikow-z-baza_danych-poniedzialek&lt;br /&gt;
     2: Przywracanie-plikow-z-baza_danych-wtorek&lt;br /&gt;
     3: Przywracanie-plikow-z-baza_danych-sroda&lt;br /&gt;
     4: Przywracanie-plikow-baza_danych-czwartek&lt;br /&gt;
     5: Przywracanie-plikow-z-baza_danych-piatek&lt;br /&gt;
     6: Przywracanie-plikow-z-samby-poniedzialek&lt;br /&gt;
     7: Przywracanie-plikow-z-samby-wtorek&lt;br /&gt;
     8: Przywracanie-plikow-z-samby-sroda&lt;br /&gt;
     9: Przywracanie-plikow-samby-czwartek&lt;br /&gt;
    10: Przywracanie-plikow-z-samby-piatek&lt;br /&gt;
 Select Restore Job (1-10): '''2'''&lt;br /&gt;
 Automatically selected Client: backup_na_pendrive&lt;br /&gt;
 Run Restore job&lt;br /&gt;
 JobName:         Przywracanie-plikow-z-baza_danych-wtorek&lt;br /&gt;
 Bootstrap:       /var/spool/bacula/serwer-dir.restore.1.bsr&lt;br /&gt;
 Where:           /root/bacula/restore-wtorek&lt;br /&gt;
 Replace:         always&lt;br /&gt;
 FileSet:         Baza-danych-postgresql&lt;br /&gt;
 Backup Client:   backup_na_pendrive&lt;br /&gt;
 Restore Client:  backup_na_pendrive&lt;br /&gt;
 Storage:         Dysk-Pendrive&lt;br /&gt;
 When:            2012-09-16 15:34:27&lt;br /&gt;
 Catalog:         Baza-danych-bacula&lt;br /&gt;
 Priority:        10&lt;br /&gt;
 Plugin Options:  *None*&lt;br /&gt;
 OK to run? (yes/mod/no): '''yes'''&lt;br /&gt;
 Job queued. JobId=56&lt;br /&gt;
 *'''exit'''&lt;br /&gt;
przywrócone pliki znajdują się w ścieżce ''/root/bacula/restor-DZIEN_TYGODNIA''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;google1 style=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/google1&amp;gt;&lt;/div&gt;</summary>
		<author><name>Slawek</name></author>	</entry>

	<entry>
		<id>http://wiki.linux-user.eu/index.php/Bacula_-_backup_danych</id>
		<title>Bacula - backup danych</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux-user.eu/index.php/Bacula_-_backup_danych"/>
				<updated>2012-09-16T13:39:42Z</updated>
		
		<summary type="html">&lt;p&gt;Slawek: opis bconsole&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Serwer]]&lt;br /&gt;
== Backup danych - Bacula ==&lt;br /&gt;
'''Bacula''' jest profesjonalnym systemem archiwizacji danych typu klien-serwer. Jest to darmowe oprogramowanie, które odpowiada za tworzenie, przywracania oraz weryfikację danych. Sam serwer może działać na wielu platformach Linux, FreeBSD czy Solaris. Klient baculi archiwizuje dane z wilu platform łącznie z windowsami.&lt;br /&gt;
Bacula w skrócie:&lt;br /&gt;
* budowa modularna&lt;br /&gt;
* archiwizacja danych z platform Linux, Windows, Mac OS&lt;br /&gt;
* zaplecze bazo danowe w postaci MySQL, PostgreSQL czy SQLite&lt;br /&gt;
* dostęp do oprogramowania baculi na licencjo OpenSource&lt;br /&gt;
* kopia danych na woluminach wielotaśmowych&lt;br /&gt;
* umożliwia szyfrowanie danych przepływających przez sieć&lt;br /&gt;
* archiwizuje pliki większe niż 2 GBobsługuje automatyczne zmieniarki&lt;br /&gt;
* może wykonywać skrypty przed i po archiwizazcji&lt;br /&gt;
* scentralizowany system zarządzania kopiami dla całej sieci&lt;br /&gt;
&lt;br /&gt;
== Instalacja serwera bacula ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Potrzebne oprogramowanie do działania baculi zaznaczyłem w trakcie instalacji systemu &amp;quot;''[[LAMP]] Server''&amp;quot; , 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&lt;br /&gt;
* w systemie [[CentOS]]&lt;br /&gt;
 yum install bacula-client bacula-common bacula-console bacula-director-common bacula-director-mysql bacula-docs bacula-storage-common &lt;br /&gt;
 bacula-storage-mysql mysql mysql-devel mysql-server&lt;br /&gt;
* w systemie [[Ubuntu]] Server&lt;br /&gt;
  apt-get install bacula apache2 mysql php&lt;br /&gt;
i to tak na prawdę wszyst. Uwaga jeśli chcesz aby Twoja instalacja baculi współpracowała z np bazą danych mysql to musisz instalować pakiety np ''bacula-director-mysql'', ''bacula-common-mysql''  i tak dalej jeśli chcesz przeprowadzić  instalację do współpracy z odpowiednią bazą danych  to musisz jawnie o tym powiadomić instalator podczas instalacji oprogramowania.&lt;br /&gt;
Potrzebne pakiety do poprawnego działania to:&lt;br /&gt;
* bacula-common-mysql&lt;br /&gt;
* bacula-console&lt;br /&gt;
* bacula-director-common&lt;br /&gt;
* bacula-director-mysql&lt;br /&gt;
* bacula-fd (klient)&lt;br /&gt;
* bacula-sd-mysql&lt;br /&gt;
* bacula-server&lt;br /&gt;
* dbconfig-common&lt;br /&gt;
W trakcie instalacji na systemie '''Ubuntu Server''', powyższych pakietów system pyta nas o konfiguracje bazy danych dla '''baculi''' za pomocą oprogramowania '''dbconfig-common''', oczywiście się zgadzamy &amp;quot;''Configure database for bacula-director-mysql with dbconfig-common?''&amp;quot;, po zatwierdzeniu będziemy musieli podać hasło do użytkownika root bazy danych oraz nowe hasło dla '''bacula-director-mysql'''.  Do instalacji tego oprogramowania nie potrzebowałem żadnego dodatkowego repozytorium. Po poprawnej instalacji Twój serwer archiwizacji danych powinien być gotowy do konfiguracji.&amp;lt;br /&amp;gt;&lt;br /&gt;
* W systemie [[CentOS]] po instalacji pakietów musimy skonfigurować ręcznie bazę danych i tak na początku uruchamiamy serwer mysqla &lt;br /&gt;
 service mysqld start &lt;br /&gt;
następnie &lt;br /&gt;
 /usr/bin/mysql_secure_installation &lt;br /&gt;
i ustawiamy hasło do bazy danych i inne opcje (konfiguracja serwera MySQL dostępna jest [[MySQL|tutaj]]), następnie &lt;br /&gt;
 service mysqld restart &lt;br /&gt;
i  &lt;br /&gt;
 chkconfig mysqld on  &lt;br /&gt;
tworzymy bazę danych dla baculi &lt;br /&gt;
 cd /usr/libexec/bacula/ &lt;br /&gt;
a następnie &lt;br /&gt;
 ./create_mysql_database -u root -p &lt;br /&gt;
tworzymy tabele w bazie baculi &lt;br /&gt;
 ./make_mysql_tables -u root -p &lt;br /&gt;
nadanie przywilejów dla usera bacula &lt;br /&gt;
 ./grant_mysql_privileges -u root -p &lt;br /&gt;
następnie nadajemy użytkownikowi bazy danych bacula hasło (obecnie brak hasła), logujemy się do bazy danych &lt;br /&gt;
 mysql -u root -p &lt;br /&gt;
a następnie wydajemy polecenie &lt;br /&gt;
 UPDATE mysql.user set password=password('haslo_dla_usera_bacula') where user='bacula'; &lt;br /&gt;
restartujemy bazę danych &lt;br /&gt;
 service mysqld restart&lt;br /&gt;
&lt;br /&gt;
== Konfiguracja serwera Bacula ==&lt;br /&gt;
&lt;br /&gt;
Wszystkie pliki konfiguracyjne baculi powinny znajdować się w ścieżce ''/etc/bacula/'' usługę możesz restartować zatrzymywać oraz startować za pomocą polecenia&lt;br /&gt;
 /etc/init.d/bacula-dir start/stop/restart/status &lt;br /&gt;
 /etc/init.d/bacula-sd start/stop/restart/status&lt;br /&gt;
 /etc/init.d/bacula-fd start/stop/restart/status&lt;br /&gt;
&lt;br /&gt;
== Pliki konfiguracyjne ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Plik '''bacula-dir.conf'''&amp;lt;br /&amp;gt; '''Director''' – dane zarządcy uprawnionego do używania urządzeń demona magazynowania&lt;br /&gt;
# Plik '''bacula-fd.conf'''&amp;lt;br /&amp;gt;'''Device''' – definicja urządzenia archiwizującego&lt;br /&gt;
# Plik '''bacula-sd.conf'''&amp;lt;br /&amp;gt;'''StorageDaemon''' – główna konfiguracja demona magazynowania&lt;br /&gt;
# Plik '''bconsole.conf''' - plik konsoli bacula&lt;br /&gt;
#Plik konfiguracji każdego klienta np '''slawek-backup.conf'''&lt;br /&gt;
Poniżej przedstawie przykładowe pliki konfiguracyjne z działającego serwera i pokrótce  postaram się opisać najważniejsze opcje każdego z nich.&lt;br /&gt;
&lt;br /&gt;
== Plik bacula-dir.conf - Director ==&lt;br /&gt;
Plik '''bacula-dir.conf''' zawiera sekcje&lt;br /&gt;
* Director – główna konfiguracja zarządcy,&lt;br /&gt;
* Catalog – parametry połączenia z bazą danych,&lt;br /&gt;
* Messages – sposób zapisywania dzienników (w tym powiadomienia na e-mail),&lt;br /&gt;
* Job – zadanie (backup, restore, weryfikacja, migracja, kopiowanie i inne),&lt;br /&gt;
* FileSet – opcje zadania (listy dołączeń, listy wykluczeń, sygnatury plików, kompresja programowa i inne),&lt;br /&gt;
* Storage – ustawienia dostępnych urządzeń archiwizujących,&lt;br /&gt;
* Client – definicja klientów,&lt;br /&gt;
* Pool – pula woluminów,&lt;br /&gt;
* Schedule – harmonogram zadań.&lt;br /&gt;
&lt;br /&gt;
Przykładowa konfiguracja&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
 Director {&lt;br /&gt;
 Name = serwer-dir #nazwa zarzadcy&lt;br /&gt;
 Password = &amp;quot;qwerty123-dir&amp;quot; #haslo, uzywaja programy łączące się z zarządcy&lt;br /&gt;
 DIR Address = 192.168.2.15 #adres IP interfejsu sieciowego&lt;br /&gt;
 DIR Port = 9101 #port na którym ma nasłuchiwać zarządca&lt;br /&gt;
 QueryFile = &amp;quot;/usr/libexec/bacula/query.sql&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
 WorkingDirectory = &amp;quot;/var/spool/bacula&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
 PidDirectory = &amp;quot;/var/run&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
 Messages = DirRaport #nazwa zasobu messages, uzyta ponizej&lt;br /&gt;
 Maximum Concurrent jobs = 5 #ilość zadań, które jednocześnie może wykonywać zarządca&lt;br /&gt;
 }&lt;br /&gt;
 Catalog {&lt;br /&gt;
 Name = &amp;quot;Baza-danych-bacula&amp;quot; #nazwa zasobu, używana w zasobach client&lt;br /&gt;
 DB Name = bacula #nazwa bazy danych&lt;br /&gt;
 DB Address = 127.0.0.1 # adres bazy danych&lt;br /&gt;
 DB Port = 3306 #port na którym nasłuchuje mysql&lt;br /&gt;
 User = bacula #użytkownik do bazy danych dla baculi&lt;br /&gt;
 Password = bacula1 #hasło użytkownika baculi&lt;br /&gt;
 } &lt;br /&gt;
 Messages {&lt;br /&gt;
 Name = DirRaport #nazwa zasobu, odpowiada ona nazwie w zasobie Director opcji messages&lt;br /&gt;
 Mailcommand = &amp;quot;/usr/sbin/bsmtp -h localhost -f \&amp;quot;\(Bacula\) \&amp;lt;%r\&amp;gt;\&amp;quot; -s \&amp;quot;Bacula: %t %e of %c %l\&amp;quot; %r&amp;quot; #komenda do wysłania maila z powiadomieniem&lt;br /&gt;
 Operatorcommand = &amp;quot;/usr/sbin/bsmtp -h localhost -f \&amp;quot;\(Bacula\) \&amp;lt;%r\&amp;gt;\&amp;quot; -s \&amp;quot;Bacula: Intervention needed for %j\&amp;quot; %r&amp;quot; #mail z powiadomieniem&lt;br /&gt;
 Mail = slawek@linux-user.eu = all, !skipped #mail od kogo&lt;br /&gt;
 Operator = slawek@linux-user.eu = mount #mail od kogo&lt;br /&gt;
 Console = all, !skipped, !saved #wyświetlanie statusów i zdarzeń wartość all wyświetla wszystko&lt;br /&gt;
 Append = &amp;quot;/var/spool/bacula/log&amp;quot; = all, !skipped #ustawienie zapisywania statusów i raportów do pliku logów wartość all wszystko&lt;br /&gt;
 }&lt;br /&gt;
 Storage {&lt;br /&gt;
 Name = Dysk-Pendrive #nazwa zasobu, używana w zasobie jobs&lt;br /&gt;
 Address = 192.168.2.15 #adres IP z bacula-sd, &lt;br /&gt;
 SD Port = 9103 #port bacula-sd&lt;br /&gt;
 Password = qwerty123-sd #hasło do bacula-sd&lt;br /&gt;
 Device = &amp;quot;Urzadzenie pendrive&amp;quot; #nazwa urzadzenia, uzyte również w bacula-sd&lt;br /&gt;
 Media Type = Pliki-na-usb #nazwa typu obsługiwanych woluminów, uzywana w bacula-sd&lt;br /&gt;
 Maximum Concurrent Jobs = 1 #ilośc zadań, które jednocześnie może zrealizować urządzenie&lt;br /&gt;
 } &lt;br /&gt;
 Client {&lt;br /&gt;
 Name = backup_na_pendrive # nazwa klienta, użyta również w sekcji Job&lt;br /&gt;
 Address = 192.168.2.15 #adres IP komputera klienta, &lt;br /&gt;
 FD Port = 9102 #numer portu bacula-client, domyślnie 9102&lt;br /&gt;
 Catalog = &amp;quot;Baza-danych-bacula&amp;quot; #jakiej bazy danych użyć, nazwa z sekcji Catalog&lt;br /&gt;
 Password = &amp;quot;qwerty123-fd&amp;quot; #hasło do bacula-fd na kliencie&lt;br /&gt;
 AutoPrune = no # czyszczenie przestarzałych danych z bazy danych&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
 Name = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
 Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
 Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
 AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
 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&lt;br /&gt;
 Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
 LabelFormat = &amp;quot;serwer-serwer-plik-poniedzialek-&amp;quot; &lt;br /&gt;
 Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
 Name = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
 Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
 Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
 AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
 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&lt;br /&gt;
 Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
 LabelFormat = &amp;quot;serwer-serwer-plik-wtorek-&amp;quot;&lt;br /&gt;
 Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
 Name = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa puli woluminów&lt;br /&gt;
 Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
 Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
 AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
 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&lt;br /&gt;
 Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
 LabelFormat = &amp;quot;serwer-serwer-plik-sroda-&amp;quot;&lt;br /&gt;
 Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
 Name = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
 Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
 Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
 AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
 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&lt;br /&gt;
 Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
 LabelFormat = &amp;quot;serwer-serwer-plik-czwartek-&amp;quot;&lt;br /&gt;
 Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
 Name = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
 Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
 Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
 AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
 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&lt;br /&gt;
 Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
 LabelFormat = &amp;quot;serwer-serwer-plik-piatek-&amp;quot;&lt;br /&gt;
 Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 FileSet {&lt;br /&gt;
 Name = &amp;quot;Baza-danych-postgresql&amp;quot; #nazwa akcji, użyta w sekcji job&lt;br /&gt;
  Include {&lt;br /&gt;
   Options {&lt;br /&gt;
    Signature = MD5 # sposób tworzenia sygnatur kopii zapasowych&lt;br /&gt;
       }&lt;br /&gt;
   File = /var/lib/pgsql/9.1/data/ #pliki do archiwizowania&lt;br /&gt;
  }&lt;br /&gt;
  Exclude { #nie archiwizuj poniższych plików&lt;br /&gt;
     File = /var/lib/pgsql/9.1/data/backup_test &lt;br /&gt;
     File = /var/lib/pgsql/9.1/data/backup_test_pg&lt;br /&gt;
  }&lt;br /&gt;
  }&lt;br /&gt;
  FileSet {&lt;br /&gt;
   Name = &amp;quot;Pliki-samby&amp;quot;&lt;br /&gt;
 Include {&lt;br /&gt;
 Options {&lt;br /&gt;
  Signature = MD5 # sposób tworzenia sygnatur kopii zapasowych&lt;br /&gt;
  }&lt;br /&gt;
 File = /home/samba/&lt;br /&gt;
 }&lt;br /&gt;
 Exclude {&lt;br /&gt;
 File = /home/samba/.*&lt;br /&gt;
 }&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-poniedzialek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
 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ę &lt;br /&gt;
 #wykonywać w dni od poniedziałku do piątku&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-wtorek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
 Run = Full tuesday at 00:04  &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-sroda&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
 Run = Full wednesday at 15:10 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-czwartek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
 Run = Full thursday at 15:10 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-piatek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
 Run = Full friday at 16:15 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-incremental-poniedzialek&amp;quot;&lt;br /&gt;
 Run = Incremental monday at 10:00 #kopia przyrostowa w poniedziałek o 10:00&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-incremental-wtorek&amp;quot;&lt;br /&gt;
 Run = Incremental tuesday at 00:23 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-incremental-sroda&amp;quot;&lt;br /&gt;
 Run = Incremental wednesday at 15:13 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-incremental-czwartek&amp;quot;&lt;br /&gt;
 Run = Incremental thursday at 15:13 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-incremental-piatek&amp;quot;&lt;br /&gt;
 Run = Incremental friday at 16:17 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-samba-poniedzialek&amp;quot; &lt;br /&gt;
 Run = Full monday at 01:00 #backup powinien wykonać się w poniedziałek o godzinie 01:00&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-samba-wtorek&amp;quot; &lt;br /&gt;
 Run = Full tuesday at 00:06 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-samba-sroda&amp;quot; &lt;br /&gt;
 Run = Full wednesday at 00:06 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-samba-czwartek&amp;quot; &lt;br /&gt;
 Run = Full thursday at 15:11 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-samba-piatek&amp;quot; &lt;br /&gt;
 Run = Full friday at 16:19 &lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-poniedzialek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-poniedzialek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-poniedzialek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-wtorek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-wtorek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-wtorek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-sroda&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-sroda&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-sroda&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-baza_danych-czwartek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-czwartek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-czwartek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-piatek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-piatek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-piatek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-poniedzialek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-poniedzialek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-poniedzialek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-wtorek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-wtorek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-wtorek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-sroda&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-sroda&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-sroda&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-samby-czwartek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-czwartek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-czwartek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-piatek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-piatek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-piatek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-full-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-full-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa  (uwaga musisz mieć poniższy skrypt w lokalizacji podanej poniżej)&lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-full-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-full-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-full-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-full-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-full-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-full-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-full-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-full-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-incremental-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-incremental-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot; 	 &lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-incremental-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-incremental-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }      &lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-incremental-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-incremental-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }       &lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Plik bacula-sd.conf - Storage Daemon ==&lt;br /&gt;
Konfiguracja demona magazynowania odbywa się w pliku '''bacula-sd.conf'''. Storage Daemon baculi definiuje gdzie będą odkładane pliki backupu. &lt;br /&gt;
robimy kopie orginalnego pliku &lt;br /&gt;
 mv bacula-sd.conf bacula-sd.conf-org &lt;br /&gt;
i tworzymy własny &lt;br /&gt;
 touch bacula-sd.conf &lt;br /&gt;
edytujemy plik bacula-sd.conf&lt;br /&gt;
* Storage – główna konfiguracja demona magazynowania&lt;br /&gt;
* Director – dane zarządcy uprawnionego do używania urządzeń demona magazynowania&lt;br /&gt;
* Device – definicja urządzenia archiwizującego,i np pendriva&lt;br /&gt;
* Messages – opcje przekazywania logów demona magazynowania do serwisu zarządcy&lt;br /&gt;
 Storage {&lt;br /&gt;
   Name = serwer-sd #nazwa, brak powiązania z innymi sekcjami&lt;br /&gt;
   WorkingDirectory = &amp;quot;/var/spool/bacula&amp;quot; #kopiujemy z orginalnych plików&lt;br /&gt;
   Pid Directory = &amp;quot;/var/run&amp;quot; #kopiujemy z orginalnych plików&lt;br /&gt;
   SD Address = 192.168.2.15 # ip bacula-sd&lt;br /&gt;
   SD Port = 9103 #domyślny port bacula-sd&lt;br /&gt;
   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)&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
   Name = serwer-dir # nazwa directora z pliku bacula-dir.conf&lt;br /&gt;
   Password = &amp;quot;qwerty123-sd&amp;quot; #hasło bacula-sd, definiowane również w pliku bacula-dir.conf w sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Device {&lt;br /&gt;
   Name = &amp;quot;Urzadzenie pendrive&amp;quot; #nazwa urządzenia, używana w pliku bacula-dir w sekcji Storage&lt;br /&gt;
   Archive Device = /mnt/usb/ #lokalizacja urządzenia na którym będzie przechowywana kopia zapasowa&lt;br /&gt;
   Device Type = File #typ urządzenia File, Tape, Fifo, DVD&lt;br /&gt;
   Media Type = Pliki-na-usb # nazwa typu nośnika, używana również w sekcji storage  w pliku bacula-dir&lt;br /&gt;
   LabelMedia = yes;&lt;br /&gt;
   Removable Media = yes; #yes/no jeśli urządzenia wyjmowalne np usb, DVD to yes, jeśli np hdd to no&lt;br /&gt;
   Random Access = yes; #jeśli napęd taśmowy to no&lt;br /&gt;
   Requires Mount = yes; #jeśli urządzenie wymienne i samo się nie montuje to yes&lt;br /&gt;
   Mount Point = /mnt/usb/ #gdzie będzie zamontowane urządzenie&lt;br /&gt;
   Mount Command = &amp;quot;/bin/mount /dev/sdb1 /mnt/usb/&amp;quot; #komenda do montowania pendriva &lt;br /&gt;
   Unmount Command = &amp;quot;/bin/umount /mnt/usb/&amp;quot; #komenda do odmontowania urządzenia&lt;br /&gt;
 }&lt;br /&gt;
 Messages {&lt;br /&gt;
   Name = serwer-sd-raport #nazwa własna nie używana nigdzie indziej&lt;br /&gt;
   Director = serwer-dir = all #nazwa zarządcy oraz poziom logowania all - wszystko&lt;br /&gt;
 }&lt;br /&gt;
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''&lt;br /&gt;
&lt;br /&gt;
== Plik bacula-fd.conf - File Daemon ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
* Client – główne ustawienia klienta. Nazwa stosowana zamiennie dla tego typu zasobu to &amp;quot;FileDaemon&amp;quot;.&lt;br /&gt;
* Director – ustawienie zarządcy, który jest uprawniony do korzystania z klienta&lt;br /&gt;
* Messages – poziom logowania klienta&lt;br /&gt;
W katalogu ''/etc/bacula'' wydajemy polecenie &lt;br /&gt;
 mv bacula-fd.conf bacula-fd.conf-org | touch bacula-fd.conf &lt;br /&gt;
i edytujemy plik bacula-fd.conf&lt;br /&gt;
 FileDaemon {&lt;br /&gt;
   Name = serwer-fd #nazwa zasobu, nigdzie indziej nie używana&lt;br /&gt;
   FD Address = 192.168.2.15 #IP klienta, tam gdzie jest uruchomiony bacula-fd&lt;br /&gt;
   FD Port = 9102 #numer portu na którym nasłuchuje klient&lt;br /&gt;
   WorkingDirectory = /var/spool/bacula #kopiować z istniejących plików&lt;br /&gt;
   Pid Directory = /var/run #kopiować z istniejących plików&lt;br /&gt;
   Maximum Concurrent Jobs = 1 # ilośc zadań jakie jednocześnie może wykonywac klient&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
   Name = serwer-dir # nazwa zarzadcy uprawnionego do łączenia się z klientem&lt;br /&gt;
   Password = &amp;quot;qwerty123-fd&amp;quot; #hasło, którym director będzie się autoryzować u klienta, musi byc takie samo jak w pliku bacula-dir odpowiednia sekcja Client&lt;br /&gt;
 } &lt;br /&gt;
 Messages {&lt;br /&gt;
   Name = serwer-fd-raport-klient #nazwa zasobu, nigdzie indziej nie używana&lt;br /&gt;
   Director = serwer-dir = all, !skipped, !restored #nazwa zarządcy oraz poziom logowania all, oprócz przywracania danych i zignorowanych&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
Uwaga hasło &amp;quot;''qwerty123-fd''&amp;quot;  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.&lt;br /&gt;
== Bconsole ==&lt;br /&gt;
Plik konfiguracyjny konsoli baculi to  '''bconsole.conf''' znajdujący się w katalogu ''/etc/bacula/''&lt;br /&gt;
dla naszej konfiguracji plik może wyglądać jak poniżej&lt;br /&gt;
 Director {&lt;br /&gt;
  Name = serwer-dir&lt;br /&gt;
  DIRport = 9101&lt;br /&gt;
  address = 192.168.2.15&lt;br /&gt;
  Password = &amp;quot;qwerty123-dir&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
=== Przywracanie danych za pomocą bconsole ===&lt;br /&gt;
Aby używać konsoli baculi wydajemy polecenie jako użytkownik [[root]]&lt;br /&gt;
 bconsole&lt;br /&gt;
aby przywrócić pliki, w konsoli baculi wydajemy polecenie&lt;br /&gt;
 restore&lt;br /&gt;
i wybieramy jedną z opcji.&lt;br /&gt;
Aby zaznaczyć plik lub pliki do przywrócenia wydajemy polecenie &lt;br /&gt;
 mark jakiś_plik&lt;br /&gt;
 mark * #przywracamy wszystkie pliki&lt;br /&gt;
na koniec wydajemy polecenie&lt;br /&gt;
 done&lt;br /&gt;
wybieramy z jakiego czasu chcemy przywrócić kopię np &lt;br /&gt;
1&lt;br /&gt;
potwierdzamy za pomocą polecenia&lt;br /&gt;
 yes&lt;br /&gt;
i dajemy&lt;br /&gt;
 exit&lt;br /&gt;
całość może wyglądać tak&lt;br /&gt;
 $ '''bconsole'''&lt;br /&gt;
 Connecting to Director 192.168.2.15:9101&lt;br /&gt;
 1000 OK: ogrody-dir Version: 5.0.0 (26 January 2010)&lt;br /&gt;
 Enter a period to cancel a command.&lt;br /&gt;
 *'''restore'''&lt;br /&gt;
 Automatically selected Catalog: Baza-danych-bacula&lt;br /&gt;
 Using Catalog &amp;quot;Baza-danych-bacula&amp;quot;&lt;br /&gt;
 First you select one or more JobIds that contain files&lt;br /&gt;
 to be restored. You will be presented several methods&lt;br /&gt;
 of specifying the JobIds. Then you will be allowed to&lt;br /&gt;
 select which files from those JobIds are to be restored.&lt;br /&gt;
 To select the JobIds, you have the following choices:&lt;br /&gt;
     1: List last 20 Jobs run&lt;br /&gt;
     2: List Jobs where a given File is saved&lt;br /&gt;
     3: Enter list of comma separated JobIds to select&lt;br /&gt;
     4: Enter SQL list command&lt;br /&gt;
     5: Select the most recent backup for a client&lt;br /&gt;
     6: Select backup for a client before a specified time&lt;br /&gt;
     7: Enter a list of files to restore&lt;br /&gt;
     8: Enter a list of files to restore before a specified time&lt;br /&gt;
     9: Find the JobIds of the most recent backup for a client&lt;br /&gt;
    10: Find the JobIds for a backup for a client before a specified time&lt;br /&gt;
    11: Enter a list of directories to restore for found JobIds&lt;br /&gt;
    12: Select full restore to a specified Job date&lt;br /&gt;
    13: Cancel&lt;br /&gt;
 Select item:  (1-13): '''12'''&lt;br /&gt;
 Enter JobId to get the state to restore: '''50'''&lt;br /&gt;
 Selecting jobs to build the Full state at 2012-09-18 00:05:03&lt;br /&gt;
 You have selected the following JobId: 50&lt;br /&gt;
 Building directory tree for JobId(s) 50 ...  ++++++++++++++++++++++++++++++++++++++++++++++&lt;br /&gt;
 984 files inserted into the tree.&lt;br /&gt;
 You are now entering file selection mode where you add (mark) and&lt;br /&gt;
 remove (unmark) files to be restored. No files are initially added, unless&lt;br /&gt;
 you used the &amp;quot;all&amp;quot; keyword on the command line.&lt;br /&gt;
 Enter &amp;quot;done&amp;quot; to leave this mode.&lt;br /&gt;
 cwd is: /&lt;br /&gt;
 $ '''ls'''&lt;br /&gt;
 var/&lt;br /&gt;
 $ '''mark *'''&lt;br /&gt;
 1,000 files marked.&lt;br /&gt;
 $ '''done'''&lt;br /&gt;
 Bootstrap records written to /var/spool/bacula/serwer-dir.restore.1.bsr&lt;br /&gt;
The job will require the following&lt;br /&gt;
   Volume(s)                 Storage(s)                SD Device(s)&lt;br /&gt;
 ===========================================================================  &lt;br /&gt;
    serwer-serwer-plik-wtorek Dysk-Pendrive             Urzadzenie pendrive      &lt;br /&gt;
 Volumes marked with &amp;quot;*&amp;quot; are online.&lt;br /&gt;
 1,000 files selected to be restored.&lt;br /&gt;
 The defined Restore Job resources are:&lt;br /&gt;
     1: Przywracanie-plikow-z-baza_danych-poniedzialek&lt;br /&gt;
     2: Przywracanie-plikow-z-baza_danych-wtorek&lt;br /&gt;
     3: Przywracanie-plikow-z-baza_danych-sroda&lt;br /&gt;
     4: Przywracanie-plikow-baza_danych-czwartek&lt;br /&gt;
     5: Przywracanie-plikow-z-baza_danych-piatek&lt;br /&gt;
     6: Przywracanie-plikow-z-samby-poniedzialek&lt;br /&gt;
     7: Przywracanie-plikow-z-samby-wtorek&lt;br /&gt;
     8: Przywracanie-plikow-z-samby-sroda&lt;br /&gt;
     9: Przywracanie-plikow-samby-czwartek&lt;br /&gt;
    10: Przywracanie-plikow-z-samby-piatek&lt;br /&gt;
 Select Restore Job (1-10): '''2'''&lt;br /&gt;
 Automatically selected Client: backup_na_pendrive&lt;br /&gt;
 Run Restore job&lt;br /&gt;
 JobName:         Przywracanie-plikow-z-baza_danych-wtorek&lt;br /&gt;
 Bootstrap:       /var/spool/bacula/serwer-dir.restore.1.bsr&lt;br /&gt;
 Where:           /root/bacula/restore-wtorek&lt;br /&gt;
 Replace:         always&lt;br /&gt;
 FileSet:         Baza-danych-postgresql&lt;br /&gt;
 Backup Client:   backup_na_pendrive&lt;br /&gt;
 Restore Client:  backup_na_pendrive&lt;br /&gt;
 Storage:         Dysk-Pendrive&lt;br /&gt;
 When:            2012-09-16 15:34:27&lt;br /&gt;
 Catalog:         Baza-danych-bacula&lt;br /&gt;
 Priority:        10&lt;br /&gt;
 Plugin Options:  *None*&lt;br /&gt;
 OK to run? (yes/mod/no): '''yes'''&lt;br /&gt;
 Job queued. JobId=56&lt;br /&gt;
 *'''exit'''&lt;br /&gt;
przywrócone pliki znajdują się w ścieżce ''/root/bacula/restor-DZIEN_TYGODNIA''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;google1 style=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/google1&amp;gt;&lt;/div&gt;</summary>
		<author><name>Slawek</name></author>	</entry>

	<entry>
		<id>http://wiki.linux-user.eu/index.php/Bacula_-_backup_danych</id>
		<title>Bacula - backup danych</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux-user.eu/index.php/Bacula_-_backup_danych"/>
				<updated>2012-09-16T13:27:41Z</updated>
		
		<summary type="html">&lt;p&gt;Slawek: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Serwer]]&lt;br /&gt;
== Backup danych - Bacula ==&lt;br /&gt;
'''Bacula''' jest profesjonalnym systemem archiwizacji danych typu klien-serwer. Jest to darmowe oprogramowanie, które odpowiada za tworzenie, przywracania oraz weryfikację danych. Sam serwer może działać na wielu platformach Linux, FreeBSD czy Solaris. Klient baculi archiwizuje dane z wilu platform łącznie z windowsami.&lt;br /&gt;
Bacula w skrócie:&lt;br /&gt;
* budowa modularna&lt;br /&gt;
* archiwizacja danych z platform Linux, Windows, Mac OS&lt;br /&gt;
* zaplecze bazo danowe w postaci MySQL, PostgreSQL czy SQLite&lt;br /&gt;
* dostęp do oprogramowania baculi na licencjo OpenSource&lt;br /&gt;
* kopia danych na woluminach wielotaśmowych&lt;br /&gt;
* umożliwia szyfrowanie danych przepływających przez sieć&lt;br /&gt;
* archiwizuje pliki większe niż 2 GBobsługuje automatyczne zmieniarki&lt;br /&gt;
* może wykonywać skrypty przed i po archiwizazcji&lt;br /&gt;
* scentralizowany system zarządzania kopiami dla całej sieci&lt;br /&gt;
&lt;br /&gt;
== Instalacja serwera bacula ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Potrzebne oprogramowanie do działania baculi zaznaczyłem w trakcie instalacji systemu &amp;quot;''[[LAMP]] Server''&amp;quot; , 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&lt;br /&gt;
* w systemie [[CentOS]]&lt;br /&gt;
 yum install bacula-client bacula-common bacula-console bacula-director-common bacula-director-mysql bacula-docs bacula-storage-common &lt;br /&gt;
 bacula-storage-mysql mysql mysql-devel mysql-server&lt;br /&gt;
* w systemie [[Ubuntu]] Server&lt;br /&gt;
  apt-get install bacula apache2 mysql php&lt;br /&gt;
i to tak na prawdę wszyst. Uwaga jeśli chcesz aby Twoja instalacja baculi współpracowała z np bazą danych mysql to musisz instalować pakiety np ''bacula-director-mysql'', ''bacula-common-mysql''  i tak dalej jeśli chcesz przeprowadzić  instalację do współpracy z odpowiednią bazą danych  to musisz jawnie o tym powiadomić instalator podczas instalacji oprogramowania.&lt;br /&gt;
Potrzebne pakiety do poprawnego działania to:&lt;br /&gt;
* bacula-common-mysql&lt;br /&gt;
* bacula-console&lt;br /&gt;
* bacula-director-common&lt;br /&gt;
* bacula-director-mysql&lt;br /&gt;
* bacula-fd (klient)&lt;br /&gt;
* bacula-sd-mysql&lt;br /&gt;
* bacula-server&lt;br /&gt;
* dbconfig-common&lt;br /&gt;
W trakcie instalacji na systemie '''Ubuntu Server''', powyższych pakietów system pyta nas o konfiguracje bazy danych dla '''baculi''' za pomocą oprogramowania '''dbconfig-common''', oczywiście się zgadzamy &amp;quot;''Configure database for bacula-director-mysql with dbconfig-common?''&amp;quot;, po zatwierdzeniu będziemy musieli podać hasło do użytkownika root bazy danych oraz nowe hasło dla '''bacula-director-mysql'''.  Do instalacji tego oprogramowania nie potrzebowałem żadnego dodatkowego repozytorium. Po poprawnej instalacji Twój serwer archiwizacji danych powinien być gotowy do konfiguracji.&amp;lt;br /&amp;gt;&lt;br /&gt;
* W systemie [[CentOS]] po instalacji pakietów musimy skonfigurować ręcznie bazę danych i tak na początku uruchamiamy serwer mysqla &lt;br /&gt;
 service mysqld start &lt;br /&gt;
następnie &lt;br /&gt;
 /usr/bin/mysql_secure_installation &lt;br /&gt;
i ustawiamy hasło do bazy danych i inne opcje (konfiguracja serwera MySQL dostępna jest [[MySQL|tutaj]]), następnie &lt;br /&gt;
 service mysqld restart &lt;br /&gt;
i  &lt;br /&gt;
 chkconfig mysqld on  &lt;br /&gt;
tworzymy bazę danych dla baculi &lt;br /&gt;
 cd /usr/libexec/bacula/ &lt;br /&gt;
a następnie &lt;br /&gt;
 ./create_mysql_database -u root -p &lt;br /&gt;
tworzymy tabele w bazie baculi &lt;br /&gt;
 ./make_mysql_tables -u root -p &lt;br /&gt;
nadanie przywilejów dla usera bacula &lt;br /&gt;
 ./grant_mysql_privileges -u root -p &lt;br /&gt;
następnie nadajemy użytkownikowi bazy danych bacula hasło (obecnie brak hasła), logujemy się do bazy danych &lt;br /&gt;
 mysql -u root -p &lt;br /&gt;
a następnie wydajemy polecenie &lt;br /&gt;
 UPDATE mysql.user set password=password('haslo_dla_usera_bacula') where user='bacula'; &lt;br /&gt;
restartujemy bazę danych &lt;br /&gt;
 service mysqld restart&lt;br /&gt;
&lt;br /&gt;
== Konfiguracja serwera Bacula ==&lt;br /&gt;
&lt;br /&gt;
Wszystkie pliki konfiguracyjne baculi powinny znajdować się w ścieżce ''/etc/bacula/'' usługę możesz restartować zatrzymywać oraz startować za pomocą polecenia&lt;br /&gt;
 /etc/init.d/bacula-dir start/stop/restart/status &lt;br /&gt;
 /etc/init.d/bacula-sd start/stop/restart/status&lt;br /&gt;
 /etc/init.d/bacula-fd start/stop/restart/status&lt;br /&gt;
&lt;br /&gt;
== Pliki konfiguracyjne ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Plik '''bacula-dir.conf'''&amp;lt;br /&amp;gt; '''Director''' – dane zarządcy uprawnionego do używania urządzeń demona magazynowania&lt;br /&gt;
# Plik '''bacula-fd.conf'''&amp;lt;br /&amp;gt;'''Device''' – definicja urządzenia archiwizującego&lt;br /&gt;
# Plik '''bacula-sd.conf'''&amp;lt;br /&amp;gt;'''StorageDaemon''' – główna konfiguracja demona magazynowania&lt;br /&gt;
# Plik '''bconsole.conf''' - plik konsoli bacula&lt;br /&gt;
#Plik konfiguracji każdego klienta np '''slawek-backup.conf'''&lt;br /&gt;
Poniżej przedstawie przykładowe pliki konfiguracyjne z działającego serwera i pokrótce  postaram się opisać najważniejsze opcje każdego z nich.&lt;br /&gt;
&lt;br /&gt;
== Plik bacula-dir.conf - Director ==&lt;br /&gt;
Plik '''bacula-dir.conf''' zawiera sekcje&lt;br /&gt;
* Director – główna konfiguracja zarządcy,&lt;br /&gt;
* Catalog – parametry połączenia z bazą danych,&lt;br /&gt;
* Messages – sposób zapisywania dzienników (w tym powiadomienia na e-mail),&lt;br /&gt;
* Job – zadanie (backup, restore, weryfikacja, migracja, kopiowanie i inne),&lt;br /&gt;
* FileSet – opcje zadania (listy dołączeń, listy wykluczeń, sygnatury plików, kompresja programowa i inne),&lt;br /&gt;
* Storage – ustawienia dostępnych urządzeń archiwizujących,&lt;br /&gt;
* Client – definicja klientów,&lt;br /&gt;
* Pool – pula woluminów,&lt;br /&gt;
* Schedule – harmonogram zadań.&lt;br /&gt;
&lt;br /&gt;
Przykładowa konfiguracja&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
 Director {&lt;br /&gt;
 Name = serwer-dir #nazwa zarzadcy&lt;br /&gt;
 Password = &amp;quot;qwerty123-dir&amp;quot; #haslo, uzywaja programy łączące się z zarządcy&lt;br /&gt;
 DIR Address = 192.168.2.15 #adres IP interfejsu sieciowego&lt;br /&gt;
 DIR Port = 9101 #port na którym ma nasłuchiwać zarządca&lt;br /&gt;
 QueryFile = &amp;quot;/usr/libexec/bacula/query.sql&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
 WorkingDirectory = &amp;quot;/var/spool/bacula&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
 PidDirectory = &amp;quot;/var/run&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
 Messages = DirRaport #nazwa zasobu messages, uzyta ponizej&lt;br /&gt;
 Maximum Concurrent jobs = 5 #ilość zadań, które jednocześnie może wykonywać zarządca&lt;br /&gt;
 }&lt;br /&gt;
 Catalog {&lt;br /&gt;
 Name = &amp;quot;Baza-danych-bacula&amp;quot; #nazwa zasobu, używana w zasobach client&lt;br /&gt;
 DB Name = bacula #nazwa bazy danych&lt;br /&gt;
 DB Address = 127.0.0.1 # adres bazy danych&lt;br /&gt;
 DB Port = 3306 #port na którym nasłuchuje mysql&lt;br /&gt;
 User = bacula #użytkownik do bazy danych dla baculi&lt;br /&gt;
 Password = bacula1 #hasło użytkownika baculi&lt;br /&gt;
 } &lt;br /&gt;
 Messages {&lt;br /&gt;
 Name = DirRaport #nazwa zasobu, odpowiada ona nazwie w zasobie Director opcji messages&lt;br /&gt;
 Mailcommand = &amp;quot;/usr/sbin/bsmtp -h localhost -f \&amp;quot;\(Bacula\) \&amp;lt;%r\&amp;gt;\&amp;quot; -s \&amp;quot;Bacula: %t %e of %c %l\&amp;quot; %r&amp;quot; #komenda do wysłania maila z powiadomieniem&lt;br /&gt;
 Operatorcommand = &amp;quot;/usr/sbin/bsmtp -h localhost -f \&amp;quot;\(Bacula\) \&amp;lt;%r\&amp;gt;\&amp;quot; -s \&amp;quot;Bacula: Intervention needed for %j\&amp;quot; %r&amp;quot; #mail z powiadomieniem&lt;br /&gt;
 Mail = slawek@linux-user.eu = all, !skipped #mail od kogo&lt;br /&gt;
 Operator = slawek@linux-user.eu = mount #mail od kogo&lt;br /&gt;
 Console = all, !skipped, !saved #wyświetlanie statusów i zdarzeń wartość all wyświetla wszystko&lt;br /&gt;
 Append = &amp;quot;/var/spool/bacula/log&amp;quot; = all, !skipped #ustawienie zapisywania statusów i raportów do pliku logów wartość all wszystko&lt;br /&gt;
 }&lt;br /&gt;
 Storage {&lt;br /&gt;
 Name = Dysk-Pendrive #nazwa zasobu, używana w zasobie jobs&lt;br /&gt;
 Address = 192.168.2.15 #adres IP z bacula-sd, &lt;br /&gt;
 SD Port = 9103 #port bacula-sd&lt;br /&gt;
 Password = qwerty123-sd #hasło do bacula-sd&lt;br /&gt;
 Device = &amp;quot;Urzadzenie pendrive&amp;quot; #nazwa urzadzenia, uzyte również w bacula-sd&lt;br /&gt;
 Media Type = Pliki-na-usb #nazwa typu obsługiwanych woluminów, uzywana w bacula-sd&lt;br /&gt;
 Maximum Concurrent Jobs = 1 #ilośc zadań, które jednocześnie może zrealizować urządzenie&lt;br /&gt;
 } &lt;br /&gt;
 Client {&lt;br /&gt;
 Name = backup_na_pendrive # nazwa klienta, użyta również w sekcji Job&lt;br /&gt;
 Address = 192.168.2.15 #adres IP komputera klienta, &lt;br /&gt;
 FD Port = 9102 #numer portu bacula-client, domyślnie 9102&lt;br /&gt;
 Catalog = &amp;quot;Baza-danych-bacula&amp;quot; #jakiej bazy danych użyć, nazwa z sekcji Catalog&lt;br /&gt;
 Password = &amp;quot;qwerty123-fd&amp;quot; #hasło do bacula-fd na kliencie&lt;br /&gt;
 AutoPrune = no # czyszczenie przestarzałych danych z bazy danych&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
 Name = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
 Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
 Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
 AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
 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&lt;br /&gt;
 Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
 LabelFormat = &amp;quot;serwer-serwer-plik-poniedzialek-&amp;quot; &lt;br /&gt;
 Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
 Name = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
 Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
 Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
 AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
 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&lt;br /&gt;
 Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
 LabelFormat = &amp;quot;serwer-serwer-plik-wtorek-&amp;quot;&lt;br /&gt;
 Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
 Name = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa puli woluminów&lt;br /&gt;
 Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
 Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
 AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
 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&lt;br /&gt;
 Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
 LabelFormat = &amp;quot;serwer-serwer-plik-sroda-&amp;quot;&lt;br /&gt;
 Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
 Name = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
 Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
 Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
 AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
 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&lt;br /&gt;
 Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
 LabelFormat = &amp;quot;serwer-serwer-plik-czwartek-&amp;quot;&lt;br /&gt;
 Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
 Name = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
 Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
 Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
 AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
 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&lt;br /&gt;
 Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
 LabelFormat = &amp;quot;serwer-serwer-plik-piatek-&amp;quot;&lt;br /&gt;
 Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 FileSet {&lt;br /&gt;
 Name = &amp;quot;Baza-danych-postgresql&amp;quot; #nazwa akcji, użyta w sekcji job&lt;br /&gt;
  Include {&lt;br /&gt;
   Options {&lt;br /&gt;
    Signature = MD5 # sposób tworzenia sygnatur kopii zapasowych&lt;br /&gt;
       }&lt;br /&gt;
   File = /var/lib/pgsql/9.1/data/ #pliki do archiwizowania&lt;br /&gt;
  }&lt;br /&gt;
  Exclude { #nie archiwizuj poniższych plików&lt;br /&gt;
     File = /var/lib/pgsql/9.1/data/backup_test &lt;br /&gt;
     File = /var/lib/pgsql/9.1/data/backup_test_pg&lt;br /&gt;
  }&lt;br /&gt;
  }&lt;br /&gt;
  FileSet {&lt;br /&gt;
   Name = &amp;quot;Pliki-samby&amp;quot;&lt;br /&gt;
 Include {&lt;br /&gt;
 Options {&lt;br /&gt;
  Signature = MD5 # sposób tworzenia sygnatur kopii zapasowych&lt;br /&gt;
  }&lt;br /&gt;
 File = /home/samba/&lt;br /&gt;
 }&lt;br /&gt;
 Exclude {&lt;br /&gt;
 File = /home/samba/.*&lt;br /&gt;
 }&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-poniedzialek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
 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ę &lt;br /&gt;
 #wykonywać w dni od poniedziałku do piątku&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-wtorek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
 Run = Full tuesday at 00:04  &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-sroda&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
 Run = Full wednesday at 15:10 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-czwartek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
 Run = Full thursday at 15:10 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-piatek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
 Run = Full friday at 16:15 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-incremental-poniedzialek&amp;quot;&lt;br /&gt;
 Run = Incremental monday at 10:00 #kopia przyrostowa w poniedziałek o 10:00&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-incremental-wtorek&amp;quot;&lt;br /&gt;
 Run = Incremental tuesday at 00:23 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-incremental-sroda&amp;quot;&lt;br /&gt;
 Run = Incremental wednesday at 15:13 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-incremental-czwartek&amp;quot;&lt;br /&gt;
 Run = Incremental thursday at 15:13 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-incremental-piatek&amp;quot;&lt;br /&gt;
 Run = Incremental friday at 16:17 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-samba-poniedzialek&amp;quot; &lt;br /&gt;
 Run = Full monday at 01:00 #backup powinien wykonać się w poniedziałek o godzinie 01:00&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-samba-wtorek&amp;quot; &lt;br /&gt;
 Run = Full tuesday at 00:06 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-samba-sroda&amp;quot; &lt;br /&gt;
 Run = Full wednesday at 00:06 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-samba-czwartek&amp;quot; &lt;br /&gt;
 Run = Full thursday at 15:11 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-samba-piatek&amp;quot; &lt;br /&gt;
 Run = Full friday at 16:19 &lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-poniedzialek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-poniedzialek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-poniedzialek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-wtorek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-wtorek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-wtorek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-sroda&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-sroda&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-sroda&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-baza_danych-czwartek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-czwartek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-czwartek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-piatek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-piatek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-piatek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-poniedzialek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-poniedzialek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-poniedzialek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-wtorek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-wtorek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-wtorek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-sroda&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-sroda&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-sroda&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-samby-czwartek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-czwartek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-czwartek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-piatek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-piatek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-piatek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-full-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-full-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa  (uwaga musisz mieć poniższy skrypt w lokalizacji podanej poniżej)&lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-full-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-full-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-full-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-full-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-full-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-full-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-full-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-full-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-incremental-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-incremental-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot; 	 &lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-incremental-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-incremental-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }      &lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-incremental-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-incremental-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }       &lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Plik bacula-sd.conf - Storage Daemon ==&lt;br /&gt;
Konfiguracja demona magazynowania odbywa się w pliku '''bacula-sd.conf'''. Storage Daemon baculi definiuje gdzie będą odkładane pliki backupu. &lt;br /&gt;
robimy kopie orginalnego pliku &lt;br /&gt;
 mv bacula-sd.conf bacula-sd.conf-org &lt;br /&gt;
i tworzymy własny &lt;br /&gt;
 touch bacula-sd.conf &lt;br /&gt;
edytujemy plik bacula-sd.conf&lt;br /&gt;
* Storage – główna konfiguracja demona magazynowania&lt;br /&gt;
* Director – dane zarządcy uprawnionego do używania urządzeń demona magazynowania&lt;br /&gt;
* Device – definicja urządzenia archiwizującego,i np pendriva&lt;br /&gt;
* Messages – opcje przekazywania logów demona magazynowania do serwisu zarządcy&lt;br /&gt;
 Storage {&lt;br /&gt;
   Name = serwer-sd #nazwa, brak powiązania z innymi sekcjami&lt;br /&gt;
   WorkingDirectory = &amp;quot;/var/spool/bacula&amp;quot; #kopiujemy z orginalnych plików&lt;br /&gt;
   Pid Directory = &amp;quot;/var/run&amp;quot; #kopiujemy z orginalnych plików&lt;br /&gt;
   SD Address = 192.168.2.15 # ip bacula-sd&lt;br /&gt;
   SD Port = 9103 #domyślny port bacula-sd&lt;br /&gt;
   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)&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
   Name = serwer-dir # nazwa directora z pliku bacula-dir.conf&lt;br /&gt;
   Password = &amp;quot;qwerty123-sd&amp;quot; #hasło bacula-sd, definiowane również w pliku bacula-dir.conf w sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Device {&lt;br /&gt;
   Name = &amp;quot;Urzadzenie pendrive&amp;quot; #nazwa urządzenia, używana w pliku bacula-dir w sekcji Storage&lt;br /&gt;
   Archive Device = /mnt/usb/ #lokalizacja urządzenia na którym będzie przechowywana kopia zapasowa&lt;br /&gt;
   Device Type = File #typ urządzenia File, Tape, Fifo, DVD&lt;br /&gt;
   Media Type = Pliki-na-usb # nazwa typu nośnika, używana również w sekcji storage  w pliku bacula-dir&lt;br /&gt;
   LabelMedia = yes;&lt;br /&gt;
   Removable Media = yes; #yes/no jeśli urządzenia wyjmowalne np usb, DVD to yes, jeśli np hdd to no&lt;br /&gt;
   Random Access = yes; #jeśli napęd taśmowy to no&lt;br /&gt;
   Requires Mount = yes; #jeśli urządzenie wymienne i samo się nie montuje to yes&lt;br /&gt;
   Mount Point = /mnt/usb/ #gdzie będzie zamontowane urządzenie&lt;br /&gt;
   Mount Command = &amp;quot;/bin/mount /dev/sdb1 /mnt/usb/&amp;quot; #komenda do montowania pendriva &lt;br /&gt;
   Unmount Command = &amp;quot;/bin/umount /mnt/usb/&amp;quot; #komenda do odmontowania urządzenia&lt;br /&gt;
 }&lt;br /&gt;
 Messages {&lt;br /&gt;
   Name = serwer-sd-raport #nazwa własna nie używana nigdzie indziej&lt;br /&gt;
   Director = serwer-dir = all #nazwa zarządcy oraz poziom logowania all - wszystko&lt;br /&gt;
 }&lt;br /&gt;
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''&lt;br /&gt;
&lt;br /&gt;
== Plik bacula-fd.conf - File Daemon ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
* Client – główne ustawienia klienta. Nazwa stosowana zamiennie dla tego typu zasobu to &amp;quot;FileDaemon&amp;quot;.&lt;br /&gt;
* Director – ustawienie zarządcy, który jest uprawniony do korzystania z klienta&lt;br /&gt;
* Messages – poziom logowania klienta&lt;br /&gt;
W katalogu ''/etc/bacula'' wydajemy polecenie &lt;br /&gt;
 mv bacula-fd.conf bacula-fd.conf-org | touch bacula-fd.conf &lt;br /&gt;
i edytujemy plik bacula-fd.conf&lt;br /&gt;
 FileDaemon {&lt;br /&gt;
   Name = serwer-fd #nazwa zasobu, nigdzie indziej nie używana&lt;br /&gt;
   FD Address = 192.168.2.15 #IP klienta, tam gdzie jest uruchomiony bacula-fd&lt;br /&gt;
   FD Port = 9102 #numer portu na którym nasłuchuje klient&lt;br /&gt;
   WorkingDirectory = /var/spool/bacula #kopiować z istniejących plików&lt;br /&gt;
   Pid Directory = /var/run #kopiować z istniejących plików&lt;br /&gt;
   Maximum Concurrent Jobs = 1 # ilośc zadań jakie jednocześnie może wykonywac klient&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
   Name = serwer-dir # nazwa zarzadcy uprawnionego do łączenia się z klientem&lt;br /&gt;
   Password = &amp;quot;qwerty123-fd&amp;quot; #hasło, którym director będzie się autoryzować u klienta, musi byc takie samo jak w pliku bacula-dir odpowiednia sekcja Client&lt;br /&gt;
 } &lt;br /&gt;
 Messages {&lt;br /&gt;
   Name = serwer-fd-raport-klient #nazwa zasobu, nigdzie indziej nie używana&lt;br /&gt;
   Director = serwer-dir = all, !skipped, !restored #nazwa zarządcy oraz poziom logowania all, oprócz przywracania danych i zignorowanych&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
Uwaga hasło &amp;quot;''qwerty123-fd''&amp;quot;  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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;google1 style=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/google1&amp;gt;&lt;/div&gt;</summary>
		<author><name>Slawek</name></author>	</entry>

	<entry>
		<id>http://wiki.linux-user.eu/index.php/Bacula_-_backup_danych</id>
		<title>Bacula - backup danych</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux-user.eu/index.php/Bacula_-_backup_danych"/>
				<updated>2012-09-16T13:25:21Z</updated>
		
		<summary type="html">&lt;p&gt;Slawek: /* Plik bacula-sd.conf Storage Daemon */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Serwer]]&lt;br /&gt;
== Backup danych - Bacula ==&lt;br /&gt;
'''Bacula''' jest profesjonalnym systemem archiwizacji danych typu klien-serwer. Jest to darmowe oprogramowanie, które odpowiada za tworzenie, przywracania oraz weryfikację danych. Sam serwer może działać na wielu platformach Linux, FreeBSD czy Solaris. Klient baculi archiwizuje dane z wilu platform łącznie z windowsami.&lt;br /&gt;
Bacula w skrócie:&lt;br /&gt;
* budowa modularna&lt;br /&gt;
* archiwizacja danych z platform Linux, Windows, Mac OS&lt;br /&gt;
* zaplecze bazo danowe w postaci MySQL, PostgreSQL czy SQLite&lt;br /&gt;
* dostęp do oprogramowania baculi na licencjo OpenSource&lt;br /&gt;
* kopia danych na woluminach wielotaśmowych&lt;br /&gt;
* umożliwia szyfrowanie danych przepływających przez sieć&lt;br /&gt;
* archiwizuje pliki większe niż 2 GBobsługuje automatyczne zmieniarki&lt;br /&gt;
* może wykonywać skrypty przed i po archiwizazcji&lt;br /&gt;
* scentralizowany system zarządzania kopiami dla całej sieci&lt;br /&gt;
&lt;br /&gt;
== Instalacja serwera bacula ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Potrzebne oprogramowanie do działania baculi zaznaczyłem w trakcie instalacji systemu &amp;quot;''[[LAMP]] Server''&amp;quot; , 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&lt;br /&gt;
* w systemie [[CentOS]]&lt;br /&gt;
 yum install bacula-client bacula-common bacula-console bacula-director-common bacula-director-mysql bacula-docs bacula-storage-common &lt;br /&gt;
 bacula-storage-mysql mysql mysql-devel mysql-server&lt;br /&gt;
* w systemie [[Ubuntu]] Server&lt;br /&gt;
  apt-get install bacula apache2 mysql php&lt;br /&gt;
i to tak na prawdę wszyst. Uwaga jeśli chcesz aby Twoja instalacja baculi współpracowała z np bazą danych mysql to musisz instalować pakiety np ''bacula-director-mysql'', ''bacula-common-mysql''  i tak dalej jeśli chcesz przeprowadzić  instalację do współpracy z odpowiednią bazą danych  to musisz jawnie o tym powiadomić instalator podczas instalacji oprogramowania.&lt;br /&gt;
Potrzebne pakiety do poprawnego działania to:&lt;br /&gt;
* bacula-common-mysql&lt;br /&gt;
* bacula-console&lt;br /&gt;
* bacula-director-common&lt;br /&gt;
* bacula-director-mysql&lt;br /&gt;
* bacula-fd (klient)&lt;br /&gt;
* bacula-sd-mysql&lt;br /&gt;
* bacula-server&lt;br /&gt;
* dbconfig-common&lt;br /&gt;
W trakcie instalacji na systemie '''Ubuntu Server''', powyższych pakietów system pyta nas o konfiguracje bazy danych dla '''baculi''' za pomocą oprogramowania '''dbconfig-common''', oczywiście się zgadzamy &amp;quot;''Configure database for bacula-director-mysql with dbconfig-common?''&amp;quot;, po zatwierdzeniu będziemy musieli podać hasło do użytkownika root bazy danych oraz nowe hasło dla '''bacula-director-mysql'''.  Do instalacji tego oprogramowania nie potrzebowałem żadnego dodatkowego repozytorium. Po poprawnej instalacji Twój serwer archiwizacji danych powinien być gotowy do konfiguracji.&amp;lt;br /&amp;gt;&lt;br /&gt;
* W systemie [[CentOS]] po instalacji pakietów musimy skonfigurować ręcznie bazę danych i tak na początku uruchamiamy serwer mysqla &lt;br /&gt;
 service mysqld start &lt;br /&gt;
następnie &lt;br /&gt;
 /usr/bin/mysql_secure_installation &lt;br /&gt;
i ustawiamy hasło do bazy danych i inne opcje (konfiguracja serwera MySQL dostępna jest [[MySQL|tutaj]]), następnie &lt;br /&gt;
 service mysqld restart &lt;br /&gt;
i  &lt;br /&gt;
 chkconfig mysqld on  &lt;br /&gt;
tworzymy bazę danych dla baculi &lt;br /&gt;
 cd /usr/libexec/bacula/ &lt;br /&gt;
a następnie &lt;br /&gt;
 ./create_mysql_database -u root -p &lt;br /&gt;
tworzymy tabele w bazie baculi &lt;br /&gt;
 ./make_mysql_tables -u root -p &lt;br /&gt;
nadanie przywilejów dla usera bacula &lt;br /&gt;
 ./grant_mysql_privileges -u root -p &lt;br /&gt;
następnie nadajemy użytkownikowi bazy danych bacula hasło (obecnie brak hasła), logujemy się do bazy danych &lt;br /&gt;
 mysql -u root -p &lt;br /&gt;
a następnie wydajemy polecenie &lt;br /&gt;
 UPDATE mysql.user set password=password('haslo_dla_usera_bacula') where user='bacula'; &lt;br /&gt;
restartujemy bazę danych &lt;br /&gt;
 service mysqld restart&lt;br /&gt;
&lt;br /&gt;
== Konfiguracja serwera Bacula ==&lt;br /&gt;
&lt;br /&gt;
Wszystkie pliki konfiguracyjne baculi powinny znajdować się w ścieżce ''/etc/bacula/'' usługę możesz restartować zatrzymywać oraz startować za pomocą polecenia&lt;br /&gt;
 /etc/init.d/bacula-dir start/stop/restart/status &lt;br /&gt;
 /etc/init.d/bacula-sd start/stop/restart/status&lt;br /&gt;
 /etc/init.d/bacula-fd start/stop/restart/status&lt;br /&gt;
&lt;br /&gt;
== Pliki konfiguracyjne ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Plik '''bacula-dir.conf'''&amp;lt;br /&amp;gt; '''Director''' – dane zarządcy uprawnionego do używania urządzeń demona magazynowania&lt;br /&gt;
# Plik '''bacula-fd.conf'''&amp;lt;br /&amp;gt;'''Device''' – definicja urządzenia archiwizującego&lt;br /&gt;
# Plik '''bacula-sd.conf'''&amp;lt;br /&amp;gt;'''StorageDaemon''' – główna konfiguracja demona magazynowania&lt;br /&gt;
# Plik '''bconsole.conf''' - plik konsoli bacula&lt;br /&gt;
#Plik konfiguracji każdego klienta np '''slawek-backup.conf'''&lt;br /&gt;
Poniżej przedstawie przykładowe pliki konfiguracyjne z działającego serwera i pokrótce  postaram się opisać najważniejsze opcje każdego z nich.&lt;br /&gt;
&lt;br /&gt;
== Plik bacula-dir.conf - Director ==&lt;br /&gt;
Plik '''bacula-dir.conf''' zawiera sekcje&lt;br /&gt;
* Director – główna konfiguracja zarządcy,&lt;br /&gt;
* Catalog – parametry połączenia z bazą danych,&lt;br /&gt;
* Messages – sposób zapisywania dzienników (w tym powiadomienia na e-mail),&lt;br /&gt;
* Job – zadanie (backup, restore, weryfikacja, migracja, kopiowanie i inne),&lt;br /&gt;
* FileSet – opcje zadania (listy dołączeń, listy wykluczeń, sygnatury plików, kompresja programowa i inne),&lt;br /&gt;
* Storage – ustawienia dostępnych urządzeń archiwizujących,&lt;br /&gt;
* Client – definicja klientów,&lt;br /&gt;
* Pool – pula woluminów,&lt;br /&gt;
* Schedule – harmonogram zadań.&lt;br /&gt;
&lt;br /&gt;
Przykładowa konfiguracja&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
 Director {&lt;br /&gt;
 Name = ogrody-dir #nazwa zarzadcy&lt;br /&gt;
 Password = &amp;quot;qwerty123-dir&amp;quot; #haslo, uzywaja programy łączące się z zarządcy&lt;br /&gt;
 DIR Address = 192.168.2.15 #adres IP interfejsu sieciowego&lt;br /&gt;
 DIR Port = 9101 #port na którym ma nasłuchiwać zarządca&lt;br /&gt;
 QueryFile = &amp;quot;/usr/libexec/bacula/query.sql&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
 WorkingDirectory = &amp;quot;/var/spool/bacula&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
 PidDirectory = &amp;quot;/var/run&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
 Messages = DirRaport #nazwa zasobu messages, uzyta ponizej&lt;br /&gt;
 Maximum Concurrent jobs = 5 #ilość zadań, które jednocześnie może wykonywać zarządca&lt;br /&gt;
 }&lt;br /&gt;
 Catalog {&lt;br /&gt;
 Name = &amp;quot;Baza-danych-bacula&amp;quot; #nazwa zasobu, używana w zasobach client&lt;br /&gt;
 DB Name = bacula #nazwa bazy danych&lt;br /&gt;
 DB Address = 127.0.0.1 # adres bazy danych&lt;br /&gt;
 DB Port = 3306 #port na którym nasłuchuje mysql&lt;br /&gt;
 User = bacula #użytkownik do bazy danych dla baculi&lt;br /&gt;
 Password = bacula1 #hasło użytkownika baculi&lt;br /&gt;
 } &lt;br /&gt;
 Messages {&lt;br /&gt;
 Name = DirRaport #nazwa zasobu, odpowiada ona nazwie w zasobie Director opcji messages&lt;br /&gt;
 Mailcommand = &amp;quot;/usr/sbin/bsmtp -h localhost -f \&amp;quot;\(Bacula\) \&amp;lt;%r\&amp;gt;\&amp;quot; -s \&amp;quot;Bacula: %t %e of %c %l\&amp;quot; %r&amp;quot; #komenda do wysłania maila z powiadomieniem&lt;br /&gt;
 Operatorcommand = &amp;quot;/usr/sbin/bsmtp -h localhost -f \&amp;quot;\(Bacula\) \&amp;lt;%r\&amp;gt;\&amp;quot; -s \&amp;quot;Bacula: Intervention needed for %j\&amp;quot; %r&amp;quot; #mail z powiadomieniem&lt;br /&gt;
 Mail = slawek@linux-user.eu = all, !skipped #mail od kogo&lt;br /&gt;
 Operator = slawek@linux-user.eu = mount #mail od kogo&lt;br /&gt;
 Console = all, !skipped, !saved #wyświetlanie statusów i zdarzeń wartość all wyświetla wszystko&lt;br /&gt;
 Append = &amp;quot;/var/spool/bacula/log&amp;quot; = all, !skipped #ustawienie zapisywania statusów i raportów do pliku logów wartość all wszystko&lt;br /&gt;
 }&lt;br /&gt;
 Storage {&lt;br /&gt;
 Name = Dysk-Pendrive #nazwa zasobu, używana w zasobie jobs&lt;br /&gt;
 Address = 192.168.2.15 #adres IP z bacula-sd, &lt;br /&gt;
 SD Port = 9103 #port bacula-sd&lt;br /&gt;
 Password = qwerty123-sd #hasło do bacula-sd&lt;br /&gt;
 Device = &amp;quot;Urzadzenie pendrive&amp;quot; #nazwa urzadzenia, uzyte również w bacula-sd&lt;br /&gt;
 Media Type = Pliki-na-usb #nazwa typu obsługiwanych woluminów, uzywana w bacula-sd&lt;br /&gt;
 Maximum Concurrent Jobs = 1 #ilośc zadań, które jednocześnie może zrealizować urządzenie&lt;br /&gt;
 } &lt;br /&gt;
 Client {&lt;br /&gt;
 Name = backup_na_pendrive # nazwa klienta, użyta również w sekcji Job&lt;br /&gt;
 Address = 192.168.2.15 #adres IP komputera klienta, &lt;br /&gt;
 FD Port = 9102 #numer portu bacula-client, domyślnie 9102&lt;br /&gt;
 Catalog = &amp;quot;Baza-danych-bacula&amp;quot; #jakiej bazy danych użyć, nazwa z sekcji Catalog&lt;br /&gt;
 Password = &amp;quot;qwerty123-fd&amp;quot; #hasło do bacula-fd na kliencie&lt;br /&gt;
 AutoPrune = no # czyszczenie przestarzałych danych z bazy danych&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
 Name = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
 Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
 Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
 AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
 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&lt;br /&gt;
 Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
 LabelFormat = &amp;quot;serwer-ogrody-plik-poniedzialek-&amp;quot; &lt;br /&gt;
 Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
 Name = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
 Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
 Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
 AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
 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&lt;br /&gt;
 Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
 LabelFormat = &amp;quot;serwer-ogrody-plik-wtorek-&amp;quot;&lt;br /&gt;
 Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
 Name = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa puli woluminów&lt;br /&gt;
 Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
 Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
 AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
 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&lt;br /&gt;
 Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
 LabelFormat = &amp;quot;serwer-ogrody-plik-sroda-&amp;quot;&lt;br /&gt;
 Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
 Name = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
 Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
 Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
 AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
 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&lt;br /&gt;
 Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
 LabelFormat = &amp;quot;serwer-ogrody-plik-czwartek-&amp;quot;&lt;br /&gt;
 Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
 Name = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
 Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
 Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
 AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
 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&lt;br /&gt;
 Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
 LabelFormat = &amp;quot;serwer-ogrody-plik-piatek-&amp;quot;&lt;br /&gt;
 Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 FileSet {&lt;br /&gt;
 Name = &amp;quot;Baza-danych-postgresql&amp;quot; #nazwa akcji, użyta w sekcji job&lt;br /&gt;
  Include {&lt;br /&gt;
   Options {&lt;br /&gt;
    Signature = MD5 # sposób tworzenia sygnatur kopii zapasowych&lt;br /&gt;
       }&lt;br /&gt;
   File = /var/lib/pgsql/9.1/data/ #pliki do archiwizowania&lt;br /&gt;
  }&lt;br /&gt;
  Exclude { #nie archiwizuj poniższych plików&lt;br /&gt;
     File = /var/lib/pgsql/9.1/data/backup_test &lt;br /&gt;
     File = /var/lib/pgsql/9.1/data/backup_test_pg&lt;br /&gt;
  }&lt;br /&gt;
  }&lt;br /&gt;
  FileSet {&lt;br /&gt;
   Name = &amp;quot;Pliki-samby&amp;quot;&lt;br /&gt;
 Include {&lt;br /&gt;
 Options {&lt;br /&gt;
  Signature = MD5 # sposób tworzenia sygnatur kopii zapasowych&lt;br /&gt;
  }&lt;br /&gt;
 File = /home/samba/&lt;br /&gt;
 }&lt;br /&gt;
 Exclude {&lt;br /&gt;
 File = /home/samba/.*&lt;br /&gt;
 }&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-poniedzialek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
 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ę &lt;br /&gt;
 #wykonywać w dni od poniedziałku do piątku&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-wtorek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
 Run = Full tuesday at 00:04  &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-sroda&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
 Run = Full wednesday at 15:10 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-czwartek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
 Run = Full thursday at 15:10 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-piatek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
 Run = Full friday at 16:15 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-incremental-poniedzialek&amp;quot;&lt;br /&gt;
 Run = Incremental monday at 10:00 #kopia przyrostowa w poniedziałek o 10:00&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-incremental-wtorek&amp;quot;&lt;br /&gt;
 Run = Incremental tuesday at 00:23 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-incremental-sroda&amp;quot;&lt;br /&gt;
 Run = Incremental wednesday at 15:13 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-incremental-czwartek&amp;quot;&lt;br /&gt;
 Run = Incremental thursday at 15:13 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-incremental-piatek&amp;quot;&lt;br /&gt;
 Run = Incremental friday at 16:17 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-samba-poniedzialek&amp;quot; &lt;br /&gt;
 Run = Full monday at 01:00 #backup powinien wykonać się w poniedziałek o godzinie 01:00&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-samba-wtorek&amp;quot; &lt;br /&gt;
 Run = Full tuesday at 00:06 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-samba-sroda&amp;quot; &lt;br /&gt;
 Run = Full wednesday at 00:06 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-samba-czwartek&amp;quot; &lt;br /&gt;
 Run = Full thursday at 15:11 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-samba-piatek&amp;quot; &lt;br /&gt;
 Run = Full friday at 16:19 &lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-poniedzialek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-poniedzialek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-poniedzialek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-wtorek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-wtorek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-wtorek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-sroda&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-sroda&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-sroda&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-baza_danych-czwartek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-czwartek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-czwartek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-piatek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-piatek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-piatek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-poniedzialek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-poniedzialek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-poniedzialek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-wtorek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-wtorek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-wtorek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-sroda&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-sroda&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-sroda&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-samby-czwartek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-czwartek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-czwartek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-piatek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-piatek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-piatek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-full-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-full-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa  (uwaga musisz mieć poniższy skrypt w lokalizacji podanej poniżej)&lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-full-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-full-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-full-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-full-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-full-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-full-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-full-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-full-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-incremental-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-incremental-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot; 	 &lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-incremental-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-incremental-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }      &lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-incremental-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-incremental-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }       &lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Plik bacula-sd.conf - Storage Daemon ==&lt;br /&gt;
Konfiguracja demona magazynowania odbywa się w pliku '''bacula-sd.conf'''. Storage Daemon baculi definiuje gdzie będą odkładane pliki backupu. &lt;br /&gt;
robimy kopie orginalnego pliku &lt;br /&gt;
 mv bacula-sd.conf bacula-sd.conf-org &lt;br /&gt;
i tworzymy własny &lt;br /&gt;
 touch bacula-sd.conf &lt;br /&gt;
edytujemy plik bacula-sd.conf&lt;br /&gt;
* Storage – główna konfiguracja demona magazynowania&lt;br /&gt;
* Director – dane zarządcy uprawnionego do używania urządzeń demona magazynowania&lt;br /&gt;
* Device – definicja urządzenia archiwizującego,i np pendriva&lt;br /&gt;
* Messages – opcje przekazywania logów demona magazynowania do serwisu zarządcy&lt;br /&gt;
 Storage {&lt;br /&gt;
   Name = Ogrody-sd #nazwa, brak powiązania z innymi sekcjami&lt;br /&gt;
   WorkingDirectory = &amp;quot;/var/spool/bacula&amp;quot; #kopiujemy z orginalnych plików&lt;br /&gt;
   Pid Directory = &amp;quot;/var/run&amp;quot; #kopiujemy z orginalnych plików&lt;br /&gt;
   SD Address = 192.168.2.15 # ip bacula-sd&lt;br /&gt;
   SD Port = 9103 #domyślny port bacula-sd&lt;br /&gt;
   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)&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
   Name = ogrody-dir # nazwa directora z pliku bacula-dir.conf&lt;br /&gt;
   Password = &amp;quot;qwerty123-sd&amp;quot; #hasło bacula-sd, definiowane również w pliku bacula-dir.conf w sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Device {&lt;br /&gt;
   Name = &amp;quot;Urzadzenie pendrive&amp;quot; #nazwa urządzenia, używana w pliku bacula-dir w sekcji Storage&lt;br /&gt;
   Archive Device = /mnt/usb/ #lokalizacja urządzenia na którym będzie przechowywana kopia zapasowa&lt;br /&gt;
   Device Type = File #typ urządzenia File, Tape, Fifo, DVD&lt;br /&gt;
   Media Type = Pliki-na-usb # nazwa typu nośnika, używana również w sekcji storage  w pliku bacula-dir&lt;br /&gt;
   LabelMedia = yes;&lt;br /&gt;
   Removable Media = yes; #yes/no jeśli urządzenia wyjmowalne np usb, DVD to yes, jeśli np hdd to no&lt;br /&gt;
   Random Access = yes; #jeśli napęd taśmowy to no&lt;br /&gt;
   Requires Mount = yes; #jeśli urządzenie wymienne i samo się nie montuje to yes&lt;br /&gt;
   Mount Point = /mnt/usb/ #gdzie będzie zamontowane urządzenie&lt;br /&gt;
   Mount Command = &amp;quot;/bin/mount /dev/sdb1 /mnt/usb/&amp;quot; #komenda do montowania pendriva &lt;br /&gt;
   Unmount Command = &amp;quot;/bin/umount /mnt/usb/&amp;quot; #komenda do odmontowania urządzenia&lt;br /&gt;
 }&lt;br /&gt;
 Messages {&lt;br /&gt;
   Name = ogrody-sd-raport #nazwa własna nie używana nigdzie indziej&lt;br /&gt;
   Director = ogrody-dir = all #nazwa zarządcy oraz poziom logowania all - wszystko&lt;br /&gt;
 }&lt;br /&gt;
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''&lt;br /&gt;
&lt;br /&gt;
== Plik bacula-fd.conf - File Daemon ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
* Client – główne ustawienia klienta. Nazwa stosowana zamiennie dla tego typu zasobu to &amp;quot;FileDaemon&amp;quot;.&lt;br /&gt;
* Director – ustawienie zarządcy, który jest uprawniony do korzystania z klienta&lt;br /&gt;
* Messages – poziom logowania klienta&lt;br /&gt;
W katalogu ''/etc/bacula'' wydajemy polecenie &lt;br /&gt;
 mv bacula-fd.conf bacula-fd.conf-org | touch bacula-fd.conf &lt;br /&gt;
i edytujemy plik bacula-fd.conf&lt;br /&gt;
 FileDaemon {&lt;br /&gt;
   Name = ogrody-fd #nazwa zasobu, nigdzie indziej nie używana&lt;br /&gt;
   FD Address = 192.168.2.15 #IP klienta, tam gdzie jest uruchomiony bacula-fd&lt;br /&gt;
   FD Port = 9102 #numer portu na którym nasłuchuje klient&lt;br /&gt;
   WorkingDirectory = /var/spool/bacula #kopiować z istniejących plików&lt;br /&gt;
   Pid Directory = /var/run #kopiować z istniejących plików&lt;br /&gt;
   Maximum Concurrent Jobs = 1 # ilośc zadań jakie jednocześnie może wykonywac klient&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
   Name = ogrody-dir # nazwa zarzadcy uprawnionego do łączenia się z klientem&lt;br /&gt;
   Password = &amp;quot;qwerty123-fd&amp;quot; #hasło, którym director będzie się autoryzować u klienta, musi byc takie samo jak w pliku bacula-dir odpowiednia sekcja Client&lt;br /&gt;
 } &lt;br /&gt;
 Messages {&lt;br /&gt;
   Name = ogrody-fd-raport-klient #nazwa zasobu, nigdzie indziej nie używana&lt;br /&gt;
   Director = ogrody-dir = all, !skipped, !restored #nazwa zarządcy oraz poziom logowania all, oprócz przywracania danych i zignorowanych&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
Uwaga hasło &amp;quot;''qwerty123-fd''&amp;quot;  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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;google1 style=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/google1&amp;gt;&lt;/div&gt;</summary>
		<author><name>Slawek</name></author>	</entry>

	<entry>
		<id>http://wiki.linux-user.eu/index.php/Bacula_-_backup_danych</id>
		<title>Bacula - backup danych</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux-user.eu/index.php/Bacula_-_backup_danych"/>
				<updated>2012-09-16T13:20:23Z</updated>
		
		<summary type="html">&lt;p&gt;Slawek: /* Plik bacula-fd.conf - File Daemon */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Serwer]]&lt;br /&gt;
== Backup danych - Bacula ==&lt;br /&gt;
'''Bacula''' jest profesjonalnym systemem archiwizacji danych typu klien-serwer. Jest to darmowe oprogramowanie, które odpowiada za tworzenie, przywracania oraz weryfikację danych. Sam serwer może działać na wielu platformach Linux, FreeBSD czy Solaris. Klient baculi archiwizuje dane z wilu platform łącznie z windowsami.&lt;br /&gt;
Bacula w skrócie:&lt;br /&gt;
* budowa modularna&lt;br /&gt;
* archiwizacja danych z platform Linux, Windows, Mac OS&lt;br /&gt;
* zaplecze bazo danowe w postaci MySQL, PostgreSQL czy SQLite&lt;br /&gt;
* dostęp do oprogramowania baculi na licencjo OpenSource&lt;br /&gt;
* kopia danych na woluminach wielotaśmowych&lt;br /&gt;
* umożliwia szyfrowanie danych przepływających przez sieć&lt;br /&gt;
* archiwizuje pliki większe niż 2 GBobsługuje automatyczne zmieniarki&lt;br /&gt;
* może wykonywać skrypty przed i po archiwizazcji&lt;br /&gt;
* scentralizowany system zarządzania kopiami dla całej sieci&lt;br /&gt;
&lt;br /&gt;
== Instalacja serwera bacula ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Potrzebne oprogramowanie do działania baculi zaznaczyłem w trakcie instalacji systemu &amp;quot;''[[LAMP]] Server''&amp;quot; , 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&lt;br /&gt;
* w systemie [[CentOS]]&lt;br /&gt;
 yum install bacula-client bacula-common bacula-console bacula-director-common bacula-director-mysql bacula-docs bacula-storage-common &lt;br /&gt;
 bacula-storage-mysql mysql mysql-devel mysql-server&lt;br /&gt;
* w systemie [[Ubuntu]] Server&lt;br /&gt;
  apt-get install bacula apache2 mysql php&lt;br /&gt;
i to tak na prawdę wszyst. Uwaga jeśli chcesz aby Twoja instalacja baculi współpracowała z np bazą danych mysql to musisz instalować pakiety np ''bacula-director-mysql'', ''bacula-common-mysql''  i tak dalej jeśli chcesz przeprowadzić  instalację do współpracy z odpowiednią bazą danych  to musisz jawnie o tym powiadomić instalator podczas instalacji oprogramowania.&lt;br /&gt;
Potrzebne pakiety do poprawnego działania to:&lt;br /&gt;
* bacula-common-mysql&lt;br /&gt;
* bacula-console&lt;br /&gt;
* bacula-director-common&lt;br /&gt;
* bacula-director-mysql&lt;br /&gt;
* bacula-fd (klient)&lt;br /&gt;
* bacula-sd-mysql&lt;br /&gt;
* bacula-server&lt;br /&gt;
* dbconfig-common&lt;br /&gt;
W trakcie instalacji na systemie '''Ubuntu Server''', powyższych pakietów system pyta nas o konfiguracje bazy danych dla '''baculi''' za pomocą oprogramowania '''dbconfig-common''', oczywiście się zgadzamy &amp;quot;''Configure database for bacula-director-mysql with dbconfig-common?''&amp;quot;, po zatwierdzeniu będziemy musieli podać hasło do użytkownika root bazy danych oraz nowe hasło dla '''bacula-director-mysql'''.  Do instalacji tego oprogramowania nie potrzebowałem żadnego dodatkowego repozytorium. Po poprawnej instalacji Twój serwer archiwizacji danych powinien być gotowy do konfiguracji.&amp;lt;br /&amp;gt;&lt;br /&gt;
* W systemie [[CentOS]] po instalacji pakietów musimy skonfigurować ręcznie bazę danych i tak na początku uruchamiamy serwer mysqla &lt;br /&gt;
 service mysqld start &lt;br /&gt;
następnie &lt;br /&gt;
 /usr/bin/mysql_secure_installation &lt;br /&gt;
i ustawiamy hasło do bazy danych i inne opcje (konfiguracja serwera MySQL dostępna jest [[MySQL|tutaj]]), następnie &lt;br /&gt;
 service mysqld restart &lt;br /&gt;
i  &lt;br /&gt;
 chkconfig mysqld on  &lt;br /&gt;
tworzymy bazę danych dla baculi &lt;br /&gt;
 cd /usr/libexec/bacula/ &lt;br /&gt;
a następnie &lt;br /&gt;
 ./create_mysql_database -u root -p &lt;br /&gt;
tworzymy tabele w bazie baculi &lt;br /&gt;
 ./make_mysql_tables -u root -p &lt;br /&gt;
nadanie przywilejów dla usera bacula &lt;br /&gt;
 ./grant_mysql_privileges -u root -p &lt;br /&gt;
następnie nadajemy użytkownikowi bazy danych bacula hasło (obecnie brak hasła), logujemy się do bazy danych &lt;br /&gt;
 mysql -u root -p &lt;br /&gt;
a następnie wydajemy polecenie &lt;br /&gt;
 UPDATE mysql.user set password=password('haslo_dla_usera_bacula') where user='bacula'; &lt;br /&gt;
restartujemy bazę danych &lt;br /&gt;
 service mysqld restart&lt;br /&gt;
&lt;br /&gt;
== Konfiguracja serwera Bacula ==&lt;br /&gt;
&lt;br /&gt;
Wszystkie pliki konfiguracyjne baculi powinny znajdować się w ścieżce ''/etc/bacula/'' usługę możesz restartować zatrzymywać oraz startować za pomocą polecenia&lt;br /&gt;
 /etc/init.d/bacula-dir start/stop/restart/status &lt;br /&gt;
 /etc/init.d/bacula-sd start/stop/restart/status&lt;br /&gt;
 /etc/init.d/bacula-fd start/stop/restart/status&lt;br /&gt;
&lt;br /&gt;
== Pliki konfiguracyjne ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Plik '''bacula-dir.conf'''&amp;lt;br /&amp;gt; '''Director''' – dane zarządcy uprawnionego do używania urządzeń demona magazynowania&lt;br /&gt;
# Plik '''bacula-fd.conf'''&amp;lt;br /&amp;gt;'''Device''' – definicja urządzenia archiwizującego&lt;br /&gt;
# Plik '''bacula-sd.conf'''&amp;lt;br /&amp;gt;'''StorageDaemon''' – główna konfiguracja demona magazynowania&lt;br /&gt;
# Plik '''bconsole.conf''' - plik konsoli bacula&lt;br /&gt;
#Plik konfiguracji każdego klienta np '''slawek-backup.conf'''&lt;br /&gt;
Poniżej przedstawie przykładowe pliki konfiguracyjne z działającego serwera i pokrótce  postaram się opisać najważniejsze opcje każdego z nich.&lt;br /&gt;
&lt;br /&gt;
== Plik bacula-dir.conf - Director ==&lt;br /&gt;
Plik '''bacula-dir.conf''' zawiera sekcje&lt;br /&gt;
* Director – główna konfiguracja zarządcy,&lt;br /&gt;
* Catalog – parametry połączenia z bazą danych,&lt;br /&gt;
* Messages – sposób zapisywania dzienników (w tym powiadomienia na e-mail),&lt;br /&gt;
* Job – zadanie (backup, restore, weryfikacja, migracja, kopiowanie i inne),&lt;br /&gt;
* FileSet – opcje zadania (listy dołączeń, listy wykluczeń, sygnatury plików, kompresja programowa i inne),&lt;br /&gt;
* Storage – ustawienia dostępnych urządzeń archiwizujących,&lt;br /&gt;
* Client – definicja klientów,&lt;br /&gt;
* Pool – pula woluminów,&lt;br /&gt;
* Schedule – harmonogram zadań.&lt;br /&gt;
&lt;br /&gt;
Przykładowa konfiguracja&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
 Director {&lt;br /&gt;
 Name = ogrody-dir #nazwa zarzadcy&lt;br /&gt;
 Password = &amp;quot;qwerty123-dir&amp;quot; #haslo, uzywaja programy łączące się z zarządcy&lt;br /&gt;
 DIR Address = 192.168.2.15 #adres IP interfejsu sieciowego&lt;br /&gt;
 DIR Port = 9101 #port na którym ma nasłuchiwać zarządca&lt;br /&gt;
 QueryFile = &amp;quot;/usr/libexec/bacula/query.sql&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
 WorkingDirectory = &amp;quot;/var/spool/bacula&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
 PidDirectory = &amp;quot;/var/run&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
 Messages = DirRaport #nazwa zasobu messages, uzyta ponizej&lt;br /&gt;
 Maximum Concurrent jobs = 5 #ilość zadań, które jednocześnie może wykonywać zarządca&lt;br /&gt;
 }&lt;br /&gt;
 Catalog {&lt;br /&gt;
 Name = &amp;quot;Baza-danych-bacula&amp;quot; #nazwa zasobu, używana w zasobach client&lt;br /&gt;
 DB Name = bacula #nazwa bazy danych&lt;br /&gt;
 DB Address = 127.0.0.1 # adres bazy danych&lt;br /&gt;
 DB Port = 3306 #port na którym nasłuchuje mysql&lt;br /&gt;
 User = bacula #użytkownik do bazy danych dla baculi&lt;br /&gt;
 Password = bacula1 #hasło użytkownika baculi&lt;br /&gt;
 } &lt;br /&gt;
 Messages {&lt;br /&gt;
 Name = DirRaport #nazwa zasobu, odpowiada ona nazwie w zasobie Director opcji messages&lt;br /&gt;
 Mailcommand = &amp;quot;/usr/sbin/bsmtp -h localhost -f \&amp;quot;\(Bacula\) \&amp;lt;%r\&amp;gt;\&amp;quot; -s \&amp;quot;Bacula: %t %e of %c %l\&amp;quot; %r&amp;quot; #komenda do wysłania maila z powiadomieniem&lt;br /&gt;
 Operatorcommand = &amp;quot;/usr/sbin/bsmtp -h localhost -f \&amp;quot;\(Bacula\) \&amp;lt;%r\&amp;gt;\&amp;quot; -s \&amp;quot;Bacula: Intervention needed for %j\&amp;quot; %r&amp;quot; #mail z powiadomieniem&lt;br /&gt;
 Mail = slawek@linux-user.eu = all, !skipped #mail od kogo&lt;br /&gt;
 Operator = slawek@linux-user.eu = mount #mail od kogo&lt;br /&gt;
 Console = all, !skipped, !saved #wyświetlanie statusów i zdarzeń wartość all wyświetla wszystko&lt;br /&gt;
 Append = &amp;quot;/var/spool/bacula/log&amp;quot; = all, !skipped #ustawienie zapisywania statusów i raportów do pliku logów wartość all wszystko&lt;br /&gt;
 }&lt;br /&gt;
 Storage {&lt;br /&gt;
 Name = Dysk-Pendrive #nazwa zasobu, używana w zasobie jobs&lt;br /&gt;
 Address = 192.168.2.15 #adres IP z bacula-sd, &lt;br /&gt;
 SD Port = 9103 #port bacula-sd&lt;br /&gt;
 Password = qwerty123-sd #hasło do bacula-sd&lt;br /&gt;
 Device = &amp;quot;Urzadzenie pendrive&amp;quot; #nazwa urzadzenia, uzyte również w bacula-sd&lt;br /&gt;
 Media Type = Pliki-na-usb #nazwa typu obsługiwanych woluminów, uzywana w bacula-sd&lt;br /&gt;
 Maximum Concurrent Jobs = 1 #ilośc zadań, które jednocześnie może zrealizować urządzenie&lt;br /&gt;
 } &lt;br /&gt;
 Client {&lt;br /&gt;
 Name = backup_na_pendrive # nazwa klienta, użyta również w sekcji Job&lt;br /&gt;
 Address = 192.168.2.15 #adres IP komputera klienta, &lt;br /&gt;
 FD Port = 9102 #numer portu bacula-client, domyślnie 9102&lt;br /&gt;
 Catalog = &amp;quot;Baza-danych-bacula&amp;quot; #jakiej bazy danych użyć, nazwa z sekcji Catalog&lt;br /&gt;
 Password = &amp;quot;qwerty123-fd&amp;quot; #hasło do bacula-fd na kliencie&lt;br /&gt;
 AutoPrune = no # czyszczenie przestarzałych danych z bazy danych&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
 Name = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
 Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
 Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
 AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
 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&lt;br /&gt;
 Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
 LabelFormat = &amp;quot;serwer-ogrody-plik-poniedzialek-&amp;quot; &lt;br /&gt;
 Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
 Name = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
 Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
 Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
 AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
 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&lt;br /&gt;
 Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
 LabelFormat = &amp;quot;serwer-ogrody-plik-wtorek-&amp;quot;&lt;br /&gt;
 Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
 Name = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa puli woluminów&lt;br /&gt;
 Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
 Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
 AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
 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&lt;br /&gt;
 Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
 LabelFormat = &amp;quot;serwer-ogrody-plik-sroda-&amp;quot;&lt;br /&gt;
 Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
 Name = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
 Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
 Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
 AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
 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&lt;br /&gt;
 Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
 LabelFormat = &amp;quot;serwer-ogrody-plik-czwartek-&amp;quot;&lt;br /&gt;
 Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
 Name = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
 Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
 Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
 AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
 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&lt;br /&gt;
 Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
 LabelFormat = &amp;quot;serwer-ogrody-plik-piatek-&amp;quot;&lt;br /&gt;
 Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 FileSet {&lt;br /&gt;
 Name = &amp;quot;Baza-danych-postgresql&amp;quot; #nazwa akcji, użyta w sekcji job&lt;br /&gt;
  Include {&lt;br /&gt;
   Options {&lt;br /&gt;
    Signature = MD5 # sposób tworzenia sygnatur kopii zapasowych&lt;br /&gt;
       }&lt;br /&gt;
   File = /var/lib/pgsql/9.1/data/ #pliki do archiwizowania&lt;br /&gt;
  }&lt;br /&gt;
  Exclude { #nie archiwizuj poniższych plików&lt;br /&gt;
     File = /var/lib/pgsql/9.1/data/backup_test &lt;br /&gt;
     File = /var/lib/pgsql/9.1/data/backup_test_pg&lt;br /&gt;
  }&lt;br /&gt;
  }&lt;br /&gt;
  FileSet {&lt;br /&gt;
   Name = &amp;quot;Pliki-samby&amp;quot;&lt;br /&gt;
 Include {&lt;br /&gt;
 Options {&lt;br /&gt;
  Signature = MD5 # sposób tworzenia sygnatur kopii zapasowych&lt;br /&gt;
  }&lt;br /&gt;
 File = /home/samba/&lt;br /&gt;
 }&lt;br /&gt;
 Exclude {&lt;br /&gt;
 File = /home/samba/.*&lt;br /&gt;
 }&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-poniedzialek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
 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ę &lt;br /&gt;
 #wykonywać w dni od poniedziałku do piątku&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-wtorek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
 Run = Full tuesday at 00:04  &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-sroda&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
 Run = Full wednesday at 15:10 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-czwartek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
 Run = Full thursday at 15:10 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-piatek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
 Run = Full friday at 16:15 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-incremental-poniedzialek&amp;quot;&lt;br /&gt;
 Run = Incremental monday at 10:00 #kopia przyrostowa w poniedziałek o 10:00&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-incremental-wtorek&amp;quot;&lt;br /&gt;
 Run = Incremental tuesday at 00:23 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-incremental-sroda&amp;quot;&lt;br /&gt;
 Run = Incremental wednesday at 15:13 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-incremental-czwartek&amp;quot;&lt;br /&gt;
 Run = Incremental thursday at 15:13 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-incremental-piatek&amp;quot;&lt;br /&gt;
 Run = Incremental friday at 16:17 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-samba-poniedzialek&amp;quot; &lt;br /&gt;
 Run = Full monday at 01:00 #backup powinien wykonać się w poniedziałek o godzinie 01:00&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-samba-wtorek&amp;quot; &lt;br /&gt;
 Run = Full tuesday at 00:06 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-samba-sroda&amp;quot; &lt;br /&gt;
 Run = Full wednesday at 00:06 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-samba-czwartek&amp;quot; &lt;br /&gt;
 Run = Full thursday at 15:11 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-samba-piatek&amp;quot; &lt;br /&gt;
 Run = Full friday at 16:19 &lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-poniedzialek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-poniedzialek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-poniedzialek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-wtorek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-wtorek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-wtorek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-sroda&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-sroda&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-sroda&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-baza_danych-czwartek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-czwartek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-czwartek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-piatek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-piatek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-piatek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-poniedzialek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-poniedzialek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-poniedzialek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-wtorek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-wtorek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-wtorek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-sroda&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-sroda&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-sroda&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-samby-czwartek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-czwartek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-czwartek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-piatek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-piatek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-piatek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-full-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-full-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa  (uwaga musisz mieć poniższy skrypt w lokalizacji podanej poniżej)&lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-full-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-full-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-full-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-full-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-full-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-full-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-full-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-full-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-incremental-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-incremental-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot; 	 &lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-incremental-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-incremental-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }      &lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-incremental-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-incremental-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }       &lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Plik bacula-sd.conf Storage Daemon ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Plik bacula-fd.conf - File Daemon ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
* Client – główne ustawienia klienta. Nazwa stosowana zamiennie dla tego typu zasobu to &amp;quot;FileDaemon&amp;quot;.&lt;br /&gt;
* Director – ustawienie zarządcy, który jest uprawniony do korzystania z klienta&lt;br /&gt;
* Messages – poziom logowania klienta&lt;br /&gt;
W katalogu ''/etc/bacula'' wydajemy polecenie &lt;br /&gt;
 mv bacula-fd.conf bacula-fd.conf-org | touch bacula-fd.conf &lt;br /&gt;
i edytujemy plik bacula-fd.conf&lt;br /&gt;
 FileDaemon {&lt;br /&gt;
   Name = ogrody-fd #nazwa zasobu, nigdzie indziej nie używana&lt;br /&gt;
   FD Address = 192.168.2.15 #IP klienta, tam gdzie jest uruchomiony bacula-fd&lt;br /&gt;
   FD Port = 9102 #numer portu na którym nasłuchuje klient&lt;br /&gt;
   WorkingDirectory = /var/spool/bacula #kopiować z istniejących plików&lt;br /&gt;
   Pid Directory = /var/run #kopiować z istniejących plików&lt;br /&gt;
   Maximum Concurrent Jobs = 1 # ilośc zadań jakie jednocześnie może wykonywac klient&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
   Name = ogrody-dir # nazwa zarzadcy uprawnionego do łączenia się z klientem&lt;br /&gt;
   Password = &amp;quot;qwerty123-fd&amp;quot; #hasło, którym director będzie się autoryzować u klienta, musi byc takie samo jak w pliku bacula-dir odpowiednia sekcja Client&lt;br /&gt;
 } &lt;br /&gt;
 Messages {&lt;br /&gt;
   Name = ogrody-fd-raport-klient #nazwa zasobu, nigdzie indziej nie używana&lt;br /&gt;
   Director = ogrody-dir = all, !skipped, !restored #nazwa zarządcy oraz poziom logowania all, oprócz przywracania danych i zignorowanych&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
Uwaga hasło &amp;quot;''qwerty123-fd''&amp;quot;  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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;google1 style=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/google1&amp;gt;&lt;/div&gt;</summary>
		<author><name>Slawek</name></author>	</entry>

	<entry>
		<id>http://wiki.linux-user.eu/index.php/Bacula_-_backup_danych</id>
		<title>Bacula - backup danych</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux-user.eu/index.php/Bacula_-_backup_danych"/>
				<updated>2012-09-16T13:19:47Z</updated>
		
		<summary type="html">&lt;p&gt;Slawek: /* Konfiguracja pliku bacula-fd.conf - File Daemon */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Serwer]]&lt;br /&gt;
== Backup danych - Bacula ==&lt;br /&gt;
'''Bacula''' jest profesjonalnym systemem archiwizacji danych typu klien-serwer. Jest to darmowe oprogramowanie, które odpowiada za tworzenie, przywracania oraz weryfikację danych. Sam serwer może działać na wielu platformach Linux, FreeBSD czy Solaris. Klient baculi archiwizuje dane z wilu platform łącznie z windowsami.&lt;br /&gt;
Bacula w skrócie:&lt;br /&gt;
* budowa modularna&lt;br /&gt;
* archiwizacja danych z platform Linux, Windows, Mac OS&lt;br /&gt;
* zaplecze bazo danowe w postaci MySQL, PostgreSQL czy SQLite&lt;br /&gt;
* dostęp do oprogramowania baculi na licencjo OpenSource&lt;br /&gt;
* kopia danych na woluminach wielotaśmowych&lt;br /&gt;
* umożliwia szyfrowanie danych przepływających przez sieć&lt;br /&gt;
* archiwizuje pliki większe niż 2 GBobsługuje automatyczne zmieniarki&lt;br /&gt;
* może wykonywać skrypty przed i po archiwizazcji&lt;br /&gt;
* scentralizowany system zarządzania kopiami dla całej sieci&lt;br /&gt;
&lt;br /&gt;
== Instalacja serwera bacula ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Potrzebne oprogramowanie do działania baculi zaznaczyłem w trakcie instalacji systemu &amp;quot;''[[LAMP]] Server''&amp;quot; , 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&lt;br /&gt;
* w systemie [[CentOS]]&lt;br /&gt;
 yum install bacula-client bacula-common bacula-console bacula-director-common bacula-director-mysql bacula-docs bacula-storage-common &lt;br /&gt;
 bacula-storage-mysql mysql mysql-devel mysql-server&lt;br /&gt;
* w systemie [[Ubuntu]] Server&lt;br /&gt;
  apt-get install bacula apache2 mysql php&lt;br /&gt;
i to tak na prawdę wszyst. Uwaga jeśli chcesz aby Twoja instalacja baculi współpracowała z np bazą danych mysql to musisz instalować pakiety np ''bacula-director-mysql'', ''bacula-common-mysql''  i tak dalej jeśli chcesz przeprowadzić  instalację do współpracy z odpowiednią bazą danych  to musisz jawnie o tym powiadomić instalator podczas instalacji oprogramowania.&lt;br /&gt;
Potrzebne pakiety do poprawnego działania to:&lt;br /&gt;
* bacula-common-mysql&lt;br /&gt;
* bacula-console&lt;br /&gt;
* bacula-director-common&lt;br /&gt;
* bacula-director-mysql&lt;br /&gt;
* bacula-fd (klient)&lt;br /&gt;
* bacula-sd-mysql&lt;br /&gt;
* bacula-server&lt;br /&gt;
* dbconfig-common&lt;br /&gt;
W trakcie instalacji na systemie '''Ubuntu Server''', powyższych pakietów system pyta nas o konfiguracje bazy danych dla '''baculi''' za pomocą oprogramowania '''dbconfig-common''', oczywiście się zgadzamy &amp;quot;''Configure database for bacula-director-mysql with dbconfig-common?''&amp;quot;, po zatwierdzeniu będziemy musieli podać hasło do użytkownika root bazy danych oraz nowe hasło dla '''bacula-director-mysql'''.  Do instalacji tego oprogramowania nie potrzebowałem żadnego dodatkowego repozytorium. Po poprawnej instalacji Twój serwer archiwizacji danych powinien być gotowy do konfiguracji.&amp;lt;br /&amp;gt;&lt;br /&gt;
* W systemie [[CentOS]] po instalacji pakietów musimy skonfigurować ręcznie bazę danych i tak na początku uruchamiamy serwer mysqla &lt;br /&gt;
 service mysqld start &lt;br /&gt;
następnie &lt;br /&gt;
 /usr/bin/mysql_secure_installation &lt;br /&gt;
i ustawiamy hasło do bazy danych i inne opcje (konfiguracja serwera MySQL dostępna jest [[MySQL|tutaj]]), następnie &lt;br /&gt;
 service mysqld restart &lt;br /&gt;
i  &lt;br /&gt;
 chkconfig mysqld on  &lt;br /&gt;
tworzymy bazę danych dla baculi &lt;br /&gt;
 cd /usr/libexec/bacula/ &lt;br /&gt;
a następnie &lt;br /&gt;
 ./create_mysql_database -u root -p &lt;br /&gt;
tworzymy tabele w bazie baculi &lt;br /&gt;
 ./make_mysql_tables -u root -p &lt;br /&gt;
nadanie przywilejów dla usera bacula &lt;br /&gt;
 ./grant_mysql_privileges -u root -p &lt;br /&gt;
następnie nadajemy użytkownikowi bazy danych bacula hasło (obecnie brak hasła), logujemy się do bazy danych &lt;br /&gt;
 mysql -u root -p &lt;br /&gt;
a następnie wydajemy polecenie &lt;br /&gt;
 UPDATE mysql.user set password=password('haslo_dla_usera_bacula') where user='bacula'; &lt;br /&gt;
restartujemy bazę danych &lt;br /&gt;
 service mysqld restart&lt;br /&gt;
&lt;br /&gt;
== Konfiguracja serwera Bacula ==&lt;br /&gt;
&lt;br /&gt;
Wszystkie pliki konfiguracyjne baculi powinny znajdować się w ścieżce ''/etc/bacula/'' usługę możesz restartować zatrzymywać oraz startować za pomocą polecenia&lt;br /&gt;
 /etc/init.d/bacula-dir start/stop/restart/status &lt;br /&gt;
 /etc/init.d/bacula-sd start/stop/restart/status&lt;br /&gt;
 /etc/init.d/bacula-fd start/stop/restart/status&lt;br /&gt;
&lt;br /&gt;
== Pliki konfiguracyjne ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Plik '''bacula-dir.conf'''&amp;lt;br /&amp;gt; '''Director''' – dane zarządcy uprawnionego do używania urządzeń demona magazynowania&lt;br /&gt;
# Plik '''bacula-fd.conf'''&amp;lt;br /&amp;gt;'''Device''' – definicja urządzenia archiwizującego&lt;br /&gt;
# Plik '''bacula-sd.conf'''&amp;lt;br /&amp;gt;'''StorageDaemon''' – główna konfiguracja demona magazynowania&lt;br /&gt;
# Plik '''bconsole.conf''' - plik konsoli bacula&lt;br /&gt;
#Plik konfiguracji każdego klienta np '''slawek-backup.conf'''&lt;br /&gt;
Poniżej przedstawie przykładowe pliki konfiguracyjne z działającego serwera i pokrótce  postaram się opisać najważniejsze opcje każdego z nich.&lt;br /&gt;
&lt;br /&gt;
== Plik bacula-dir.conf - Director ==&lt;br /&gt;
Plik '''bacula-dir.conf''' zawiera sekcje&lt;br /&gt;
* Director – główna konfiguracja zarządcy,&lt;br /&gt;
* Catalog – parametry połączenia z bazą danych,&lt;br /&gt;
* Messages – sposób zapisywania dzienników (w tym powiadomienia na e-mail),&lt;br /&gt;
* Job – zadanie (backup, restore, weryfikacja, migracja, kopiowanie i inne),&lt;br /&gt;
* FileSet – opcje zadania (listy dołączeń, listy wykluczeń, sygnatury plików, kompresja programowa i inne),&lt;br /&gt;
* Storage – ustawienia dostępnych urządzeń archiwizujących,&lt;br /&gt;
* Client – definicja klientów,&lt;br /&gt;
* Pool – pula woluminów,&lt;br /&gt;
* Schedule – harmonogram zadań.&lt;br /&gt;
&lt;br /&gt;
Przykładowa konfiguracja&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
 Director {&lt;br /&gt;
 Name = ogrody-dir #nazwa zarzadcy&lt;br /&gt;
 Password = &amp;quot;qwerty123-dir&amp;quot; #haslo, uzywaja programy łączące się z zarządcy&lt;br /&gt;
 DIR Address = 192.168.2.15 #adres IP interfejsu sieciowego&lt;br /&gt;
 DIR Port = 9101 #port na którym ma nasłuchiwać zarządca&lt;br /&gt;
 QueryFile = &amp;quot;/usr/libexec/bacula/query.sql&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
 WorkingDirectory = &amp;quot;/var/spool/bacula&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
 PidDirectory = &amp;quot;/var/run&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
 Messages = DirRaport #nazwa zasobu messages, uzyta ponizej&lt;br /&gt;
 Maximum Concurrent jobs = 5 #ilość zadań, które jednocześnie może wykonywać zarządca&lt;br /&gt;
 }&lt;br /&gt;
 Catalog {&lt;br /&gt;
 Name = &amp;quot;Baza-danych-bacula&amp;quot; #nazwa zasobu, używana w zasobach client&lt;br /&gt;
 DB Name = bacula #nazwa bazy danych&lt;br /&gt;
 DB Address = 127.0.0.1 # adres bazy danych&lt;br /&gt;
 DB Port = 3306 #port na którym nasłuchuje mysql&lt;br /&gt;
 User = bacula #użytkownik do bazy danych dla baculi&lt;br /&gt;
 Password = bacula1 #hasło użytkownika baculi&lt;br /&gt;
 } &lt;br /&gt;
 Messages {&lt;br /&gt;
 Name = DirRaport #nazwa zasobu, odpowiada ona nazwie w zasobie Director opcji messages&lt;br /&gt;
 Mailcommand = &amp;quot;/usr/sbin/bsmtp -h localhost -f \&amp;quot;\(Bacula\) \&amp;lt;%r\&amp;gt;\&amp;quot; -s \&amp;quot;Bacula: %t %e of %c %l\&amp;quot; %r&amp;quot; #komenda do wysłania maila z powiadomieniem&lt;br /&gt;
 Operatorcommand = &amp;quot;/usr/sbin/bsmtp -h localhost -f \&amp;quot;\(Bacula\) \&amp;lt;%r\&amp;gt;\&amp;quot; -s \&amp;quot;Bacula: Intervention needed for %j\&amp;quot; %r&amp;quot; #mail z powiadomieniem&lt;br /&gt;
 Mail = slawek@linux-user.eu = all, !skipped #mail od kogo&lt;br /&gt;
 Operator = slawek@linux-user.eu = mount #mail od kogo&lt;br /&gt;
 Console = all, !skipped, !saved #wyświetlanie statusów i zdarzeń wartość all wyświetla wszystko&lt;br /&gt;
 Append = &amp;quot;/var/spool/bacula/log&amp;quot; = all, !skipped #ustawienie zapisywania statusów i raportów do pliku logów wartość all wszystko&lt;br /&gt;
 }&lt;br /&gt;
 Storage {&lt;br /&gt;
 Name = Dysk-Pendrive #nazwa zasobu, używana w zasobie jobs&lt;br /&gt;
 Address = 192.168.2.15 #adres IP z bacula-sd, &lt;br /&gt;
 SD Port = 9103 #port bacula-sd&lt;br /&gt;
 Password = qwerty123-sd #hasło do bacula-sd&lt;br /&gt;
 Device = &amp;quot;Urzadzenie pendrive&amp;quot; #nazwa urzadzenia, uzyte również w bacula-sd&lt;br /&gt;
 Media Type = Pliki-na-usb #nazwa typu obsługiwanych woluminów, uzywana w bacula-sd&lt;br /&gt;
 Maximum Concurrent Jobs = 1 #ilośc zadań, które jednocześnie może zrealizować urządzenie&lt;br /&gt;
 } &lt;br /&gt;
 Client {&lt;br /&gt;
 Name = backup_na_pendrive # nazwa klienta, użyta również w sekcji Job&lt;br /&gt;
 Address = 192.168.2.15 #adres IP komputera klienta, &lt;br /&gt;
 FD Port = 9102 #numer portu bacula-client, domyślnie 9102&lt;br /&gt;
 Catalog = &amp;quot;Baza-danych-bacula&amp;quot; #jakiej bazy danych użyć, nazwa z sekcji Catalog&lt;br /&gt;
 Password = &amp;quot;qwerty123-fd&amp;quot; #hasło do bacula-fd na kliencie&lt;br /&gt;
 AutoPrune = no # czyszczenie przestarzałych danych z bazy danych&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
 Name = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
 Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
 Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
 AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
 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&lt;br /&gt;
 Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
 LabelFormat = &amp;quot;serwer-ogrody-plik-poniedzialek-&amp;quot; &lt;br /&gt;
 Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
 Name = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
 Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
 Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
 AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
 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&lt;br /&gt;
 Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
 LabelFormat = &amp;quot;serwer-ogrody-plik-wtorek-&amp;quot;&lt;br /&gt;
 Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
 Name = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa puli woluminów&lt;br /&gt;
 Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
 Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
 AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
 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&lt;br /&gt;
 Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
 LabelFormat = &amp;quot;serwer-ogrody-plik-sroda-&amp;quot;&lt;br /&gt;
 Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
 Name = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
 Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
 Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
 AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
 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&lt;br /&gt;
 Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
 LabelFormat = &amp;quot;serwer-ogrody-plik-czwartek-&amp;quot;&lt;br /&gt;
 Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
 Name = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
 Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
 Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
 AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
 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&lt;br /&gt;
 Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
 LabelFormat = &amp;quot;serwer-ogrody-plik-piatek-&amp;quot;&lt;br /&gt;
 Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 FileSet {&lt;br /&gt;
 Name = &amp;quot;Baza-danych-postgresql&amp;quot; #nazwa akcji, użyta w sekcji job&lt;br /&gt;
  Include {&lt;br /&gt;
   Options {&lt;br /&gt;
    Signature = MD5 # sposób tworzenia sygnatur kopii zapasowych&lt;br /&gt;
       }&lt;br /&gt;
   File = /var/lib/pgsql/9.1/data/ #pliki do archiwizowania&lt;br /&gt;
  }&lt;br /&gt;
  Exclude { #nie archiwizuj poniższych plików&lt;br /&gt;
     File = /var/lib/pgsql/9.1/data/backup_test &lt;br /&gt;
     File = /var/lib/pgsql/9.1/data/backup_test_pg&lt;br /&gt;
  }&lt;br /&gt;
  }&lt;br /&gt;
  FileSet {&lt;br /&gt;
   Name = &amp;quot;Pliki-samby&amp;quot;&lt;br /&gt;
 Include {&lt;br /&gt;
 Options {&lt;br /&gt;
  Signature = MD5 # sposób tworzenia sygnatur kopii zapasowych&lt;br /&gt;
  }&lt;br /&gt;
 File = /home/samba/&lt;br /&gt;
 }&lt;br /&gt;
 Exclude {&lt;br /&gt;
 File = /home/samba/.*&lt;br /&gt;
 }&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-poniedzialek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
 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ę &lt;br /&gt;
 #wykonywać w dni od poniedziałku do piątku&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-wtorek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
 Run = Full tuesday at 00:04  &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-sroda&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
 Run = Full wednesday at 15:10 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-czwartek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
 Run = Full thursday at 15:10 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-piatek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
 Run = Full friday at 16:15 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-incremental-poniedzialek&amp;quot;&lt;br /&gt;
 Run = Incremental monday at 10:00 #kopia przyrostowa w poniedziałek o 10:00&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-incremental-wtorek&amp;quot;&lt;br /&gt;
 Run = Incremental tuesday at 00:23 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-incremental-sroda&amp;quot;&lt;br /&gt;
 Run = Incremental wednesday at 15:13 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-incremental-czwartek&amp;quot;&lt;br /&gt;
 Run = Incremental thursday at 15:13 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-incremental-piatek&amp;quot;&lt;br /&gt;
 Run = Incremental friday at 16:17 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-samba-poniedzialek&amp;quot; &lt;br /&gt;
 Run = Full monday at 01:00 #backup powinien wykonać się w poniedziałek o godzinie 01:00&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-samba-wtorek&amp;quot; &lt;br /&gt;
 Run = Full tuesday at 00:06 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-samba-sroda&amp;quot; &lt;br /&gt;
 Run = Full wednesday at 00:06 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-samba-czwartek&amp;quot; &lt;br /&gt;
 Run = Full thursday at 15:11 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-samba-piatek&amp;quot; &lt;br /&gt;
 Run = Full friday at 16:19 &lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-poniedzialek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-poniedzialek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-poniedzialek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-wtorek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-wtorek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-wtorek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-sroda&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-sroda&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-sroda&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-baza_danych-czwartek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-czwartek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-czwartek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-piatek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-piatek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-piatek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-poniedzialek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-poniedzialek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-poniedzialek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-wtorek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-wtorek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-wtorek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-sroda&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-sroda&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-sroda&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-samby-czwartek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-czwartek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-czwartek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-piatek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-piatek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-piatek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-full-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-full-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa  (uwaga musisz mieć poniższy skrypt w lokalizacji podanej poniżej)&lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-full-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-full-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-full-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-full-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-full-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-full-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-full-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-full-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-incremental-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-incremental-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot; 	 &lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-incremental-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-incremental-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }      &lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-incremental-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-incremental-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }       &lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Plik bacula-fd.conf - File Daemon ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
* Client – główne ustawienia klienta. Nazwa stosowana zamiennie dla tego typu zasobu to &amp;quot;FileDaemon&amp;quot;.&lt;br /&gt;
* Director – ustawienie zarządcy, który jest uprawniony do korzystania z klienta&lt;br /&gt;
* Messages – poziom logowania klienta&lt;br /&gt;
W katalogu ''/etc/bacula'' wydajemy polecenie &lt;br /&gt;
 mv bacula-fd.conf bacula-fd.conf-org | touch bacula-fd.conf &lt;br /&gt;
i edytujemy plik bacula-fd.conf&lt;br /&gt;
 FileDaemon {&lt;br /&gt;
   Name = ogrody-fd #nazwa zasobu, nigdzie indziej nie używana&lt;br /&gt;
   FD Address = 192.168.2.15 #IP klienta, tam gdzie jest uruchomiony bacula-fd&lt;br /&gt;
   FD Port = 9102 #numer portu na którym nasłuchuje klient&lt;br /&gt;
   WorkingDirectory = /var/spool/bacula #kopiować z istniejących plików&lt;br /&gt;
   Pid Directory = /var/run #kopiować z istniejących plików&lt;br /&gt;
   Maximum Concurrent Jobs = 1 # ilośc zadań jakie jednocześnie może wykonywac klient&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
   Name = ogrody-dir # nazwa zarzadcy uprawnionego do łączenia się z klientem&lt;br /&gt;
   Password = &amp;quot;qwerty123-fd&amp;quot; #hasło, którym director będzie się autoryzować u klienta, musi byc takie samo jak w pliku bacula-dir odpowiednia sekcja Client&lt;br /&gt;
 } &lt;br /&gt;
 Messages {&lt;br /&gt;
   Name = ogrody-fd-raport-klient #nazwa zasobu, nigdzie indziej nie używana&lt;br /&gt;
   Director = ogrody-dir = all, !skipped, !restored #nazwa zarządcy oraz poziom logowania all, oprócz przywracania danych i zignorowanych&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
Uwaga hasło &amp;quot;''qwerty123-fd''&amp;quot;  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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;google1 style=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/google1&amp;gt;&lt;/div&gt;</summary>
		<author><name>Slawek</name></author>	</entry>

	<entry>
		<id>http://wiki.linux-user.eu/index.php/Bacula_-_backup_danych</id>
		<title>Bacula - backup danych</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux-user.eu/index.php/Bacula_-_backup_danych"/>
				<updated>2012-09-16T13:18:59Z</updated>
		
		<summary type="html">&lt;p&gt;Slawek: /* Konfiguracja pliku bacula-fd.conf - File Daemon */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Serwer]]&lt;br /&gt;
== Backup danych - Bacula ==&lt;br /&gt;
'''Bacula''' jest profesjonalnym systemem archiwizacji danych typu klien-serwer. Jest to darmowe oprogramowanie, które odpowiada za tworzenie, przywracania oraz weryfikację danych. Sam serwer może działać na wielu platformach Linux, FreeBSD czy Solaris. Klient baculi archiwizuje dane z wilu platform łącznie z windowsami.&lt;br /&gt;
Bacula w skrócie:&lt;br /&gt;
* budowa modularna&lt;br /&gt;
* archiwizacja danych z platform Linux, Windows, Mac OS&lt;br /&gt;
* zaplecze bazo danowe w postaci MySQL, PostgreSQL czy SQLite&lt;br /&gt;
* dostęp do oprogramowania baculi na licencjo OpenSource&lt;br /&gt;
* kopia danych na woluminach wielotaśmowych&lt;br /&gt;
* umożliwia szyfrowanie danych przepływających przez sieć&lt;br /&gt;
* archiwizuje pliki większe niż 2 GBobsługuje automatyczne zmieniarki&lt;br /&gt;
* może wykonywać skrypty przed i po archiwizazcji&lt;br /&gt;
* scentralizowany system zarządzania kopiami dla całej sieci&lt;br /&gt;
&lt;br /&gt;
== Instalacja serwera bacula ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Potrzebne oprogramowanie do działania baculi zaznaczyłem w trakcie instalacji systemu &amp;quot;''[[LAMP]] Server''&amp;quot; , 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&lt;br /&gt;
* w systemie [[CentOS]]&lt;br /&gt;
 yum install bacula-client bacula-common bacula-console bacula-director-common bacula-director-mysql bacula-docs bacula-storage-common &lt;br /&gt;
 bacula-storage-mysql mysql mysql-devel mysql-server&lt;br /&gt;
* w systemie [[Ubuntu]] Server&lt;br /&gt;
  apt-get install bacula apache2 mysql php&lt;br /&gt;
i to tak na prawdę wszyst. Uwaga jeśli chcesz aby Twoja instalacja baculi współpracowała z np bazą danych mysql to musisz instalować pakiety np ''bacula-director-mysql'', ''bacula-common-mysql''  i tak dalej jeśli chcesz przeprowadzić  instalację do współpracy z odpowiednią bazą danych  to musisz jawnie o tym powiadomić instalator podczas instalacji oprogramowania.&lt;br /&gt;
Potrzebne pakiety do poprawnego działania to:&lt;br /&gt;
* bacula-common-mysql&lt;br /&gt;
* bacula-console&lt;br /&gt;
* bacula-director-common&lt;br /&gt;
* bacula-director-mysql&lt;br /&gt;
* bacula-fd (klient)&lt;br /&gt;
* bacula-sd-mysql&lt;br /&gt;
* bacula-server&lt;br /&gt;
* dbconfig-common&lt;br /&gt;
W trakcie instalacji na systemie '''Ubuntu Server''', powyższych pakietów system pyta nas o konfiguracje bazy danych dla '''baculi''' za pomocą oprogramowania '''dbconfig-common''', oczywiście się zgadzamy &amp;quot;''Configure database for bacula-director-mysql with dbconfig-common?''&amp;quot;, po zatwierdzeniu będziemy musieli podać hasło do użytkownika root bazy danych oraz nowe hasło dla '''bacula-director-mysql'''.  Do instalacji tego oprogramowania nie potrzebowałem żadnego dodatkowego repozytorium. Po poprawnej instalacji Twój serwer archiwizacji danych powinien być gotowy do konfiguracji.&amp;lt;br /&amp;gt;&lt;br /&gt;
* W systemie [[CentOS]] po instalacji pakietów musimy skonfigurować ręcznie bazę danych i tak na początku uruchamiamy serwer mysqla &lt;br /&gt;
 service mysqld start &lt;br /&gt;
następnie &lt;br /&gt;
 /usr/bin/mysql_secure_installation &lt;br /&gt;
i ustawiamy hasło do bazy danych i inne opcje (konfiguracja serwera MySQL dostępna jest [[MySQL|tutaj]]), następnie &lt;br /&gt;
 service mysqld restart &lt;br /&gt;
i  &lt;br /&gt;
 chkconfig mysqld on  &lt;br /&gt;
tworzymy bazę danych dla baculi &lt;br /&gt;
 cd /usr/libexec/bacula/ &lt;br /&gt;
a następnie &lt;br /&gt;
 ./create_mysql_database -u root -p &lt;br /&gt;
tworzymy tabele w bazie baculi &lt;br /&gt;
 ./make_mysql_tables -u root -p &lt;br /&gt;
nadanie przywilejów dla usera bacula &lt;br /&gt;
 ./grant_mysql_privileges -u root -p &lt;br /&gt;
następnie nadajemy użytkownikowi bazy danych bacula hasło (obecnie brak hasła), logujemy się do bazy danych &lt;br /&gt;
 mysql -u root -p &lt;br /&gt;
a następnie wydajemy polecenie &lt;br /&gt;
 UPDATE mysql.user set password=password('haslo_dla_usera_bacula') where user='bacula'; &lt;br /&gt;
restartujemy bazę danych &lt;br /&gt;
 service mysqld restart&lt;br /&gt;
&lt;br /&gt;
== Konfiguracja serwera Bacula ==&lt;br /&gt;
&lt;br /&gt;
Wszystkie pliki konfiguracyjne baculi powinny znajdować się w ścieżce ''/etc/bacula/'' usługę możesz restartować zatrzymywać oraz startować za pomocą polecenia&lt;br /&gt;
 /etc/init.d/bacula-dir start/stop/restart/status &lt;br /&gt;
 /etc/init.d/bacula-sd start/stop/restart/status&lt;br /&gt;
 /etc/init.d/bacula-fd start/stop/restart/status&lt;br /&gt;
&lt;br /&gt;
== Pliki konfiguracyjne ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Plik '''bacula-dir.conf'''&amp;lt;br /&amp;gt; '''Director''' – dane zarządcy uprawnionego do używania urządzeń demona magazynowania&lt;br /&gt;
# Plik '''bacula-fd.conf'''&amp;lt;br /&amp;gt;'''Device''' – definicja urządzenia archiwizującego&lt;br /&gt;
# Plik '''bacula-sd.conf'''&amp;lt;br /&amp;gt;'''StorageDaemon''' – główna konfiguracja demona magazynowania&lt;br /&gt;
# Plik '''bconsole.conf''' - plik konsoli bacula&lt;br /&gt;
#Plik konfiguracji każdego klienta np '''slawek-backup.conf'''&lt;br /&gt;
Poniżej przedstawie przykładowe pliki konfiguracyjne z działającego serwera i pokrótce  postaram się opisać najważniejsze opcje każdego z nich.&lt;br /&gt;
&lt;br /&gt;
== Plik bacula-dir.conf - Director ==&lt;br /&gt;
Plik '''bacula-dir.conf''' zawiera sekcje&lt;br /&gt;
* Director – główna konfiguracja zarządcy,&lt;br /&gt;
* Catalog – parametry połączenia z bazą danych,&lt;br /&gt;
* Messages – sposób zapisywania dzienników (w tym powiadomienia na e-mail),&lt;br /&gt;
* Job – zadanie (backup, restore, weryfikacja, migracja, kopiowanie i inne),&lt;br /&gt;
* FileSet – opcje zadania (listy dołączeń, listy wykluczeń, sygnatury plików, kompresja programowa i inne),&lt;br /&gt;
* Storage – ustawienia dostępnych urządzeń archiwizujących,&lt;br /&gt;
* Client – definicja klientów,&lt;br /&gt;
* Pool – pula woluminów,&lt;br /&gt;
* Schedule – harmonogram zadań.&lt;br /&gt;
&lt;br /&gt;
Przykładowa konfiguracja&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
 Director {&lt;br /&gt;
 Name = ogrody-dir #nazwa zarzadcy&lt;br /&gt;
 Password = &amp;quot;qwerty123-dir&amp;quot; #haslo, uzywaja programy łączące się z zarządcy&lt;br /&gt;
 DIR Address = 192.168.2.15 #adres IP interfejsu sieciowego&lt;br /&gt;
 DIR Port = 9101 #port na którym ma nasłuchiwać zarządca&lt;br /&gt;
 QueryFile = &amp;quot;/usr/libexec/bacula/query.sql&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
 WorkingDirectory = &amp;quot;/var/spool/bacula&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
 PidDirectory = &amp;quot;/var/run&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
 Messages = DirRaport #nazwa zasobu messages, uzyta ponizej&lt;br /&gt;
 Maximum Concurrent jobs = 5 #ilość zadań, które jednocześnie może wykonywać zarządca&lt;br /&gt;
 }&lt;br /&gt;
 Catalog {&lt;br /&gt;
 Name = &amp;quot;Baza-danych-bacula&amp;quot; #nazwa zasobu, używana w zasobach client&lt;br /&gt;
 DB Name = bacula #nazwa bazy danych&lt;br /&gt;
 DB Address = 127.0.0.1 # adres bazy danych&lt;br /&gt;
 DB Port = 3306 #port na którym nasłuchuje mysql&lt;br /&gt;
 User = bacula #użytkownik do bazy danych dla baculi&lt;br /&gt;
 Password = bacula1 #hasło użytkownika baculi&lt;br /&gt;
 } &lt;br /&gt;
 Messages {&lt;br /&gt;
 Name = DirRaport #nazwa zasobu, odpowiada ona nazwie w zasobie Director opcji messages&lt;br /&gt;
 Mailcommand = &amp;quot;/usr/sbin/bsmtp -h localhost -f \&amp;quot;\(Bacula\) \&amp;lt;%r\&amp;gt;\&amp;quot; -s \&amp;quot;Bacula: %t %e of %c %l\&amp;quot; %r&amp;quot; #komenda do wysłania maila z powiadomieniem&lt;br /&gt;
 Operatorcommand = &amp;quot;/usr/sbin/bsmtp -h localhost -f \&amp;quot;\(Bacula\) \&amp;lt;%r\&amp;gt;\&amp;quot; -s \&amp;quot;Bacula: Intervention needed for %j\&amp;quot; %r&amp;quot; #mail z powiadomieniem&lt;br /&gt;
 Mail = slawek@linux-user.eu = all, !skipped #mail od kogo&lt;br /&gt;
 Operator = slawek@linux-user.eu = mount #mail od kogo&lt;br /&gt;
 Console = all, !skipped, !saved #wyświetlanie statusów i zdarzeń wartość all wyświetla wszystko&lt;br /&gt;
 Append = &amp;quot;/var/spool/bacula/log&amp;quot; = all, !skipped #ustawienie zapisywania statusów i raportów do pliku logów wartość all wszystko&lt;br /&gt;
 }&lt;br /&gt;
 Storage {&lt;br /&gt;
 Name = Dysk-Pendrive #nazwa zasobu, używana w zasobie jobs&lt;br /&gt;
 Address = 192.168.2.15 #adres IP z bacula-sd, &lt;br /&gt;
 SD Port = 9103 #port bacula-sd&lt;br /&gt;
 Password = qwerty123-sd #hasło do bacula-sd&lt;br /&gt;
 Device = &amp;quot;Urzadzenie pendrive&amp;quot; #nazwa urzadzenia, uzyte również w bacula-sd&lt;br /&gt;
 Media Type = Pliki-na-usb #nazwa typu obsługiwanych woluminów, uzywana w bacula-sd&lt;br /&gt;
 Maximum Concurrent Jobs = 1 #ilośc zadań, które jednocześnie może zrealizować urządzenie&lt;br /&gt;
 } &lt;br /&gt;
 Client {&lt;br /&gt;
 Name = backup_na_pendrive # nazwa klienta, użyta również w sekcji Job&lt;br /&gt;
 Address = 192.168.2.15 #adres IP komputera klienta, &lt;br /&gt;
 FD Port = 9102 #numer portu bacula-client, domyślnie 9102&lt;br /&gt;
 Catalog = &amp;quot;Baza-danych-bacula&amp;quot; #jakiej bazy danych użyć, nazwa z sekcji Catalog&lt;br /&gt;
 Password = &amp;quot;qwerty123-fd&amp;quot; #hasło do bacula-fd na kliencie&lt;br /&gt;
 AutoPrune = no # czyszczenie przestarzałych danych z bazy danych&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
 Name = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
 Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
 Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
 AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
 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&lt;br /&gt;
 Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
 LabelFormat = &amp;quot;serwer-ogrody-plik-poniedzialek-&amp;quot; &lt;br /&gt;
 Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
 Name = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
 Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
 Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
 AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
 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&lt;br /&gt;
 Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
 LabelFormat = &amp;quot;serwer-ogrody-plik-wtorek-&amp;quot;&lt;br /&gt;
 Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
 Name = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa puli woluminów&lt;br /&gt;
 Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
 Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
 AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
 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&lt;br /&gt;
 Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
 LabelFormat = &amp;quot;serwer-ogrody-plik-sroda-&amp;quot;&lt;br /&gt;
 Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
 Name = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
 Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
 Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
 AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
 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&lt;br /&gt;
 Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
 LabelFormat = &amp;quot;serwer-ogrody-plik-czwartek-&amp;quot;&lt;br /&gt;
 Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
 Name = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
 Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
 Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
 AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
 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&lt;br /&gt;
 Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
 LabelFormat = &amp;quot;serwer-ogrody-plik-piatek-&amp;quot;&lt;br /&gt;
 Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 FileSet {&lt;br /&gt;
 Name = &amp;quot;Baza-danych-postgresql&amp;quot; #nazwa akcji, użyta w sekcji job&lt;br /&gt;
  Include {&lt;br /&gt;
   Options {&lt;br /&gt;
    Signature = MD5 # sposób tworzenia sygnatur kopii zapasowych&lt;br /&gt;
       }&lt;br /&gt;
   File = /var/lib/pgsql/9.1/data/ #pliki do archiwizowania&lt;br /&gt;
  }&lt;br /&gt;
  Exclude { #nie archiwizuj poniższych plików&lt;br /&gt;
     File = /var/lib/pgsql/9.1/data/backup_test &lt;br /&gt;
     File = /var/lib/pgsql/9.1/data/backup_test_pg&lt;br /&gt;
  }&lt;br /&gt;
  }&lt;br /&gt;
  FileSet {&lt;br /&gt;
   Name = &amp;quot;Pliki-samby&amp;quot;&lt;br /&gt;
 Include {&lt;br /&gt;
 Options {&lt;br /&gt;
  Signature = MD5 # sposób tworzenia sygnatur kopii zapasowych&lt;br /&gt;
  }&lt;br /&gt;
 File = /home/samba/&lt;br /&gt;
 }&lt;br /&gt;
 Exclude {&lt;br /&gt;
 File = /home/samba/.*&lt;br /&gt;
 }&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-poniedzialek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
 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ę &lt;br /&gt;
 #wykonywać w dni od poniedziałku do piątku&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-wtorek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
 Run = Full tuesday at 00:04  &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-sroda&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
 Run = Full wednesday at 15:10 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-czwartek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
 Run = Full thursday at 15:10 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-piatek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
 Run = Full friday at 16:15 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-incremental-poniedzialek&amp;quot;&lt;br /&gt;
 Run = Incremental monday at 10:00 #kopia przyrostowa w poniedziałek o 10:00&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-incremental-wtorek&amp;quot;&lt;br /&gt;
 Run = Incremental tuesday at 00:23 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-incremental-sroda&amp;quot;&lt;br /&gt;
 Run = Incremental wednesday at 15:13 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-incremental-czwartek&amp;quot;&lt;br /&gt;
 Run = Incremental thursday at 15:13 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-incremental-piatek&amp;quot;&lt;br /&gt;
 Run = Incremental friday at 16:17 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-samba-poniedzialek&amp;quot; &lt;br /&gt;
 Run = Full monday at 01:00 #backup powinien wykonać się w poniedziałek o godzinie 01:00&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-samba-wtorek&amp;quot; &lt;br /&gt;
 Run = Full tuesday at 00:06 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-samba-sroda&amp;quot; &lt;br /&gt;
 Run = Full wednesday at 00:06 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-samba-czwartek&amp;quot; &lt;br /&gt;
 Run = Full thursday at 15:11 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-samba-piatek&amp;quot; &lt;br /&gt;
 Run = Full friday at 16:19 &lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-poniedzialek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-poniedzialek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-poniedzialek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-wtorek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-wtorek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-wtorek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-sroda&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-sroda&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-sroda&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-baza_danych-czwartek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-czwartek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-czwartek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-piatek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-piatek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-piatek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-poniedzialek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-poniedzialek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-poniedzialek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-wtorek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-wtorek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-wtorek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-sroda&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-sroda&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-sroda&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-samby-czwartek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-czwartek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-czwartek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-piatek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-piatek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-piatek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-full-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-full-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa  (uwaga musisz mieć poniższy skrypt w lokalizacji podanej poniżej)&lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-full-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-full-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-full-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-full-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-full-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-full-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-full-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-full-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-incremental-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-incremental-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot; 	 &lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-incremental-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-incremental-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }      &lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-incremental-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-incremental-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }       &lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Konfiguracja pliku bacula-fd.conf - File Daemon ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
* Client – główne ustawienia klienta. Nazwa stosowana zamiennie dla tego typu zasobu to &amp;quot;FileDaemon&amp;quot;.&lt;br /&gt;
* Director – ustawienie zarządcy, który jest uprawniony do korzystania z klienta&lt;br /&gt;
* Messages – poziom logowania klienta&lt;br /&gt;
W katalogu ''/etc/bacula'' wydajemy polecenie &lt;br /&gt;
 mv bacula-fd.conf bacula-fd.conf-org | touch bacula-fd.conf &lt;br /&gt;
i edytujemy plik bacula-fd.conf&lt;br /&gt;
 FileDaemon {&lt;br /&gt;
   Name = ogrody-fd #nazwa zasobu, nigdzie indziej nie używana&lt;br /&gt;
   FD Address = 192.168.2.15 #IP klienta, tam gdzie jest uruchomiony bacula-fd&lt;br /&gt;
   FD Port = 9102 #numer portu na którym nasłuchuje klient&lt;br /&gt;
   WorkingDirectory = /var/spool/bacula #kopiować z istniejących plików&lt;br /&gt;
   Pid Directory = /var/run #kopiować z istniejących plików&lt;br /&gt;
   Maximum Concurrent Jobs = 1 # ilośc zadań jakie jednocześnie może wykonywac klient&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
   Name = ogrody-dir # nazwa zarzadcy uprawnionego do łączenia się z klientem&lt;br /&gt;
   Password = &amp;quot;qwerty123-fd&amp;quot; #hasło, którym director będzie się autoryzować u klienta, musi byc takie samo jak w pliku bacula-dir odpowiednia sekcja Client&lt;br /&gt;
 } &lt;br /&gt;
 Messages {&lt;br /&gt;
   Name = ogrody-fd-raport-klient #nazwa zasobu, nigdzie indziej nie używana&lt;br /&gt;
   Director = ogrody-dir = all, !skipped, !restored #nazwa zarządcy oraz poziom logowania all, oprócz przywracania danych i zignorowanych&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
Uwaga hasło &amp;quot;''qwerty123-fd''&amp;quot;  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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;google1 style=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/google1&amp;gt;&lt;/div&gt;</summary>
		<author><name>Slawek</name></author>	</entry>

	<entry>
		<id>http://wiki.linux-user.eu/index.php/Bacula_-_backup_danych</id>
		<title>Bacula - backup danych</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux-user.eu/index.php/Bacula_-_backup_danych"/>
				<updated>2012-09-16T13:17:07Z</updated>
		
		<summary type="html">&lt;p&gt;Slawek: /* Konfiguracja pliku bacula-fd.conf - File Daemon */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Serwer]]&lt;br /&gt;
== Backup danych - Bacula ==&lt;br /&gt;
'''Bacula''' jest profesjonalnym systemem archiwizacji danych typu klien-serwer. Jest to darmowe oprogramowanie, które odpowiada za tworzenie, przywracania oraz weryfikację danych. Sam serwer może działać na wielu platformach Linux, FreeBSD czy Solaris. Klient baculi archiwizuje dane z wilu platform łącznie z windowsami.&lt;br /&gt;
Bacula w skrócie:&lt;br /&gt;
* budowa modularna&lt;br /&gt;
* archiwizacja danych z platform Linux, Windows, Mac OS&lt;br /&gt;
* zaplecze bazo danowe w postaci MySQL, PostgreSQL czy SQLite&lt;br /&gt;
* dostęp do oprogramowania baculi na licencjo OpenSource&lt;br /&gt;
* kopia danych na woluminach wielotaśmowych&lt;br /&gt;
* umożliwia szyfrowanie danych przepływających przez sieć&lt;br /&gt;
* archiwizuje pliki większe niż 2 GBobsługuje automatyczne zmieniarki&lt;br /&gt;
* może wykonywać skrypty przed i po archiwizazcji&lt;br /&gt;
* scentralizowany system zarządzania kopiami dla całej sieci&lt;br /&gt;
&lt;br /&gt;
== Instalacja serwera bacula ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Potrzebne oprogramowanie do działania baculi zaznaczyłem w trakcie instalacji systemu &amp;quot;''[[LAMP]] Server''&amp;quot; , 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&lt;br /&gt;
* w systemie [[CentOS]]&lt;br /&gt;
 yum install bacula-client bacula-common bacula-console bacula-director-common bacula-director-mysql bacula-docs bacula-storage-common &lt;br /&gt;
 bacula-storage-mysql mysql mysql-devel mysql-server&lt;br /&gt;
* w systemie [[Ubuntu]] Server&lt;br /&gt;
  apt-get install bacula apache2 mysql php&lt;br /&gt;
i to tak na prawdę wszyst. Uwaga jeśli chcesz aby Twoja instalacja baculi współpracowała z np bazą danych mysql to musisz instalować pakiety np ''bacula-director-mysql'', ''bacula-common-mysql''  i tak dalej jeśli chcesz przeprowadzić  instalację do współpracy z odpowiednią bazą danych  to musisz jawnie o tym powiadomić instalator podczas instalacji oprogramowania.&lt;br /&gt;
Potrzebne pakiety do poprawnego działania to:&lt;br /&gt;
* bacula-common-mysql&lt;br /&gt;
* bacula-console&lt;br /&gt;
* bacula-director-common&lt;br /&gt;
* bacula-director-mysql&lt;br /&gt;
* bacula-fd (klient)&lt;br /&gt;
* bacula-sd-mysql&lt;br /&gt;
* bacula-server&lt;br /&gt;
* dbconfig-common&lt;br /&gt;
W trakcie instalacji na systemie '''Ubuntu Server''', powyższych pakietów system pyta nas o konfiguracje bazy danych dla '''baculi''' za pomocą oprogramowania '''dbconfig-common''', oczywiście się zgadzamy &amp;quot;''Configure database for bacula-director-mysql with dbconfig-common?''&amp;quot;, po zatwierdzeniu będziemy musieli podać hasło do użytkownika root bazy danych oraz nowe hasło dla '''bacula-director-mysql'''.  Do instalacji tego oprogramowania nie potrzebowałem żadnego dodatkowego repozytorium. Po poprawnej instalacji Twój serwer archiwizacji danych powinien być gotowy do konfiguracji.&amp;lt;br /&amp;gt;&lt;br /&gt;
* W systemie [[CentOS]] po instalacji pakietów musimy skonfigurować ręcznie bazę danych i tak na początku uruchamiamy serwer mysqla &lt;br /&gt;
 service mysqld start &lt;br /&gt;
następnie &lt;br /&gt;
 /usr/bin/mysql_secure_installation &lt;br /&gt;
i ustawiamy hasło do bazy danych i inne opcje (konfiguracja serwera MySQL dostępna jest [[MySQL|tutaj]]), następnie &lt;br /&gt;
 service mysqld restart &lt;br /&gt;
i  &lt;br /&gt;
 chkconfig mysqld on  &lt;br /&gt;
tworzymy bazę danych dla baculi &lt;br /&gt;
 cd /usr/libexec/bacula/ &lt;br /&gt;
a następnie &lt;br /&gt;
 ./create_mysql_database -u root -p &lt;br /&gt;
tworzymy tabele w bazie baculi &lt;br /&gt;
 ./make_mysql_tables -u root -p &lt;br /&gt;
nadanie przywilejów dla usera bacula &lt;br /&gt;
 ./grant_mysql_privileges -u root -p &lt;br /&gt;
następnie nadajemy użytkownikowi bazy danych bacula hasło (obecnie brak hasła), logujemy się do bazy danych &lt;br /&gt;
 mysql -u root -p &lt;br /&gt;
a następnie wydajemy polecenie &lt;br /&gt;
 UPDATE mysql.user set password=password('haslo_dla_usera_bacula') where user='bacula'; &lt;br /&gt;
restartujemy bazę danych &lt;br /&gt;
 service mysqld restart&lt;br /&gt;
&lt;br /&gt;
== Konfiguracja serwera Bacula ==&lt;br /&gt;
&lt;br /&gt;
Wszystkie pliki konfiguracyjne baculi powinny znajdować się w ścieżce ''/etc/bacula/'' usługę możesz restartować zatrzymywać oraz startować za pomocą polecenia&lt;br /&gt;
 /etc/init.d/bacula-dir start/stop/restart/status &lt;br /&gt;
 /etc/init.d/bacula-sd start/stop/restart/status&lt;br /&gt;
 /etc/init.d/bacula-fd start/stop/restart/status&lt;br /&gt;
&lt;br /&gt;
== Pliki konfiguracyjne ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Plik '''bacula-dir.conf'''&amp;lt;br /&amp;gt; '''Director''' – dane zarządcy uprawnionego do używania urządzeń demona magazynowania&lt;br /&gt;
# Plik '''bacula-fd.conf'''&amp;lt;br /&amp;gt;'''Device''' – definicja urządzenia archiwizującego&lt;br /&gt;
# Plik '''bacula-sd.conf'''&amp;lt;br /&amp;gt;'''StorageDaemon''' – główna konfiguracja demona magazynowania&lt;br /&gt;
# Plik '''bconsole.conf''' - plik konsoli bacula&lt;br /&gt;
#Plik konfiguracji każdego klienta np '''slawek-backup.conf'''&lt;br /&gt;
Poniżej przedstawie przykładowe pliki konfiguracyjne z działającego serwera i pokrótce  postaram się opisać najważniejsze opcje każdego z nich.&lt;br /&gt;
&lt;br /&gt;
== Plik bacula-dir.conf - Director ==&lt;br /&gt;
Plik '''bacula-dir.conf''' zawiera sekcje&lt;br /&gt;
* Director – główna konfiguracja zarządcy,&lt;br /&gt;
* Catalog – parametry połączenia z bazą danych,&lt;br /&gt;
* Messages – sposób zapisywania dzienników (w tym powiadomienia na e-mail),&lt;br /&gt;
* Job – zadanie (backup, restore, weryfikacja, migracja, kopiowanie i inne),&lt;br /&gt;
* FileSet – opcje zadania (listy dołączeń, listy wykluczeń, sygnatury plików, kompresja programowa i inne),&lt;br /&gt;
* Storage – ustawienia dostępnych urządzeń archiwizujących,&lt;br /&gt;
* Client – definicja klientów,&lt;br /&gt;
* Pool – pula woluminów,&lt;br /&gt;
* Schedule – harmonogram zadań.&lt;br /&gt;
&lt;br /&gt;
Przykładowa konfiguracja&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
 Director {&lt;br /&gt;
 Name = ogrody-dir #nazwa zarzadcy&lt;br /&gt;
 Password = &amp;quot;qwerty123-dir&amp;quot; #haslo, uzywaja programy łączące się z zarządcy&lt;br /&gt;
 DIR Address = 192.168.2.15 #adres IP interfejsu sieciowego&lt;br /&gt;
 DIR Port = 9101 #port na którym ma nasłuchiwać zarządca&lt;br /&gt;
 QueryFile = &amp;quot;/usr/libexec/bacula/query.sql&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
 WorkingDirectory = &amp;quot;/var/spool/bacula&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
 PidDirectory = &amp;quot;/var/run&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
 Messages = DirRaport #nazwa zasobu messages, uzyta ponizej&lt;br /&gt;
 Maximum Concurrent jobs = 5 #ilość zadań, które jednocześnie może wykonywać zarządca&lt;br /&gt;
 }&lt;br /&gt;
 Catalog {&lt;br /&gt;
 Name = &amp;quot;Baza-danych-bacula&amp;quot; #nazwa zasobu, używana w zasobach client&lt;br /&gt;
 DB Name = bacula #nazwa bazy danych&lt;br /&gt;
 DB Address = 127.0.0.1 # adres bazy danych&lt;br /&gt;
 DB Port = 3306 #port na którym nasłuchuje mysql&lt;br /&gt;
 User = bacula #użytkownik do bazy danych dla baculi&lt;br /&gt;
 Password = bacula1 #hasło użytkownika baculi&lt;br /&gt;
 } &lt;br /&gt;
 Messages {&lt;br /&gt;
 Name = DirRaport #nazwa zasobu, odpowiada ona nazwie w zasobie Director opcji messages&lt;br /&gt;
 Mailcommand = &amp;quot;/usr/sbin/bsmtp -h localhost -f \&amp;quot;\(Bacula\) \&amp;lt;%r\&amp;gt;\&amp;quot; -s \&amp;quot;Bacula: %t %e of %c %l\&amp;quot; %r&amp;quot; #komenda do wysłania maila z powiadomieniem&lt;br /&gt;
 Operatorcommand = &amp;quot;/usr/sbin/bsmtp -h localhost -f \&amp;quot;\(Bacula\) \&amp;lt;%r\&amp;gt;\&amp;quot; -s \&amp;quot;Bacula: Intervention needed for %j\&amp;quot; %r&amp;quot; #mail z powiadomieniem&lt;br /&gt;
 Mail = slawek@linux-user.eu = all, !skipped #mail od kogo&lt;br /&gt;
 Operator = slawek@linux-user.eu = mount #mail od kogo&lt;br /&gt;
 Console = all, !skipped, !saved #wyświetlanie statusów i zdarzeń wartość all wyświetla wszystko&lt;br /&gt;
 Append = &amp;quot;/var/spool/bacula/log&amp;quot; = all, !skipped #ustawienie zapisywania statusów i raportów do pliku logów wartość all wszystko&lt;br /&gt;
 }&lt;br /&gt;
 Storage {&lt;br /&gt;
 Name = Dysk-Pendrive #nazwa zasobu, używana w zasobie jobs&lt;br /&gt;
 Address = 192.168.2.15 #adres IP z bacula-sd, &lt;br /&gt;
 SD Port = 9103 #port bacula-sd&lt;br /&gt;
 Password = qwerty123-sd #hasło do bacula-sd&lt;br /&gt;
 Device = &amp;quot;Urzadzenie pendrive&amp;quot; #nazwa urzadzenia, uzyte również w bacula-sd&lt;br /&gt;
 Media Type = Pliki-na-usb #nazwa typu obsługiwanych woluminów, uzywana w bacula-sd&lt;br /&gt;
 Maximum Concurrent Jobs = 1 #ilośc zadań, które jednocześnie może zrealizować urządzenie&lt;br /&gt;
 } &lt;br /&gt;
 Client {&lt;br /&gt;
 Name = backup_na_pendrive # nazwa klienta, użyta również w sekcji Job&lt;br /&gt;
 Address = 192.168.2.15 #adres IP komputera klienta, &lt;br /&gt;
 FD Port = 9102 #numer portu bacula-client, domyślnie 9102&lt;br /&gt;
 Catalog = &amp;quot;Baza-danych-bacula&amp;quot; #jakiej bazy danych użyć, nazwa z sekcji Catalog&lt;br /&gt;
 Password = &amp;quot;qwerty123-fd&amp;quot; #hasło do bacula-fd na kliencie&lt;br /&gt;
 AutoPrune = no # czyszczenie przestarzałych danych z bazy danych&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
 Name = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
 Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
 Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
 AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
 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&lt;br /&gt;
 Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
 LabelFormat = &amp;quot;serwer-ogrody-plik-poniedzialek-&amp;quot; &lt;br /&gt;
 Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
 Name = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
 Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
 Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
 AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
 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&lt;br /&gt;
 Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
 LabelFormat = &amp;quot;serwer-ogrody-plik-wtorek-&amp;quot;&lt;br /&gt;
 Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
 Name = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa puli woluminów&lt;br /&gt;
 Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
 Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
 AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
 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&lt;br /&gt;
 Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
 LabelFormat = &amp;quot;serwer-ogrody-plik-sroda-&amp;quot;&lt;br /&gt;
 Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
 Name = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
 Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
 Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
 AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
 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&lt;br /&gt;
 Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
 LabelFormat = &amp;quot;serwer-ogrody-plik-czwartek-&amp;quot;&lt;br /&gt;
 Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
 Name = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
 Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
 Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
 AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
 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&lt;br /&gt;
 Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
 LabelFormat = &amp;quot;serwer-ogrody-plik-piatek-&amp;quot;&lt;br /&gt;
 Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 FileSet {&lt;br /&gt;
 Name = &amp;quot;Baza-danych-postgresql&amp;quot; #nazwa akcji, użyta w sekcji job&lt;br /&gt;
  Include {&lt;br /&gt;
   Options {&lt;br /&gt;
    Signature = MD5 # sposób tworzenia sygnatur kopii zapasowych&lt;br /&gt;
       }&lt;br /&gt;
   File = /var/lib/pgsql/9.1/data/ #pliki do archiwizowania&lt;br /&gt;
  }&lt;br /&gt;
  Exclude { #nie archiwizuj poniższych plików&lt;br /&gt;
     File = /var/lib/pgsql/9.1/data/backup_test &lt;br /&gt;
     File = /var/lib/pgsql/9.1/data/backup_test_pg&lt;br /&gt;
  }&lt;br /&gt;
  }&lt;br /&gt;
  FileSet {&lt;br /&gt;
   Name = &amp;quot;Pliki-samby&amp;quot;&lt;br /&gt;
 Include {&lt;br /&gt;
 Options {&lt;br /&gt;
  Signature = MD5 # sposób tworzenia sygnatur kopii zapasowych&lt;br /&gt;
  }&lt;br /&gt;
 File = /home/samba/&lt;br /&gt;
 }&lt;br /&gt;
 Exclude {&lt;br /&gt;
 File = /home/samba/.*&lt;br /&gt;
 }&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-poniedzialek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
 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ę &lt;br /&gt;
 #wykonywać w dni od poniedziałku do piątku&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-wtorek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
 Run = Full tuesday at 00:04  &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-sroda&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
 Run = Full wednesday at 15:10 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-czwartek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
 Run = Full thursday at 15:10 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-piatek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
 Run = Full friday at 16:15 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-incremental-poniedzialek&amp;quot;&lt;br /&gt;
 Run = Incremental monday at 10:00 #kopia przyrostowa w poniedziałek o 10:00&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-incremental-wtorek&amp;quot;&lt;br /&gt;
 Run = Incremental tuesday at 00:23 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-incremental-sroda&amp;quot;&lt;br /&gt;
 Run = Incremental wednesday at 15:13 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-incremental-czwartek&amp;quot;&lt;br /&gt;
 Run = Incremental thursday at 15:13 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-incremental-piatek&amp;quot;&lt;br /&gt;
 Run = Incremental friday at 16:17 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-samba-poniedzialek&amp;quot; &lt;br /&gt;
 Run = Full monday at 01:00 #backup powinien wykonać się w poniedziałek o godzinie 01:00&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-samba-wtorek&amp;quot; &lt;br /&gt;
 Run = Full tuesday at 00:06 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-samba-sroda&amp;quot; &lt;br /&gt;
 Run = Full wednesday at 00:06 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-samba-czwartek&amp;quot; &lt;br /&gt;
 Run = Full thursday at 15:11 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-samba-piatek&amp;quot; &lt;br /&gt;
 Run = Full friday at 16:19 &lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-poniedzialek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-poniedzialek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-poniedzialek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-wtorek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-wtorek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-wtorek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-sroda&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-sroda&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-sroda&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-baza_danych-czwartek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-czwartek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-czwartek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-piatek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-piatek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-piatek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-poniedzialek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-poniedzialek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-poniedzialek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-wtorek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-wtorek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-wtorek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-sroda&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-sroda&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-sroda&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-samby-czwartek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-czwartek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-czwartek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-piatek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-piatek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-piatek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-full-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-full-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa  (uwaga musisz mieć poniższy skrypt w lokalizacji podanej poniżej)&lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-full-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-full-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-full-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-full-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-full-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-full-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-full-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-full-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-incremental-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-incremental-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot; 	 &lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-incremental-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-incremental-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }      &lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-incremental-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-incremental-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }       &lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Konfiguracja pliku bacula-fd.conf - File Daemon ==&lt;br /&gt;
* Client – główne ustawienia klienta. Nazwa stosowana zamiennie dla tego typu zasobu to &amp;quot;FileDaemon&amp;quot;.&lt;br /&gt;
* Director – ustawienie zarządcy, który jest uprawniony do korzystania z klienta&lt;br /&gt;
* Messages – poziom logowania klienta&lt;br /&gt;
W katalogu ''/etc/bacula'' wydajemy polecenie &lt;br /&gt;
 mv bacula-fd.conf bacula-fd.conf-org | touch bacula-fd.conf &lt;br /&gt;
i edytujemy plik bacula-fd.conf&lt;br /&gt;
 FileDaemon {&lt;br /&gt;
   Name = ogrody-fd #nazwa zasobu, nigdzie indziej nie używana&lt;br /&gt;
   FD Address = 192.168.2.15 #IP klienta, tam gdzie jest uruchomiony bacula-fd&lt;br /&gt;
   FD Port = 9102 #numer portu na którym nasłuchuje klient&lt;br /&gt;
   WorkingDirectory = /var/spool/bacula #kopiować z istniejących plików&lt;br /&gt;
   Pid Directory = /var/run #kopiować z istniejących plików&lt;br /&gt;
   Maximum Concurrent Jobs = 1 # ilośc zadań jakie jednocześnie może wykonywac klient&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
   Name = ogrody-dir # nazwa zarzadcy uprawnionego do łączenia się z klientem&lt;br /&gt;
   Password = &amp;quot;qwerty123-fd&amp;quot; #hasło, którym director będzie się autoryzować u klienta, musi byc takie samo jak w pliku bacula-dir odpowiednia sekcja Client&lt;br /&gt;
 } &lt;br /&gt;
 Messages {&lt;br /&gt;
   Name = ogrody-fd-raport-klient #nazwa zasobu, nigdzie indziej nie używana&lt;br /&gt;
   Director = ogrody-dir = all, !skipped, !restored #nazwa zarządcy oraz poziom logowania all, oprócz przywracania danych i zignorowanych&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
Uwaga hasło &amp;quot;''qwerty123-fd''&amp;quot;  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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;google1 style=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/google1&amp;gt;&lt;/div&gt;</summary>
		<author><name>Slawek</name></author>	</entry>

	<entry>
		<id>http://wiki.linux-user.eu/index.php/Bacula_-_backup_danych</id>
		<title>Bacula - backup danych</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux-user.eu/index.php/Bacula_-_backup_danych"/>
				<updated>2012-09-16T13:16:16Z</updated>
		
		<summary type="html">&lt;p&gt;Slawek: /* Konfiguracja pliku bacula-fd.conf - File Daemon */ konfiguracja bacula-fd&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Serwer]]&lt;br /&gt;
== Backup danych - Bacula ==&lt;br /&gt;
'''Bacula''' jest profesjonalnym systemem archiwizacji danych typu klien-serwer. Jest to darmowe oprogramowanie, które odpowiada za tworzenie, przywracania oraz weryfikację danych. Sam serwer może działać na wielu platformach Linux, FreeBSD czy Solaris. Klient baculi archiwizuje dane z wilu platform łącznie z windowsami.&lt;br /&gt;
Bacula w skrócie:&lt;br /&gt;
* budowa modularna&lt;br /&gt;
* archiwizacja danych z platform Linux, Windows, Mac OS&lt;br /&gt;
* zaplecze bazo danowe w postaci MySQL, PostgreSQL czy SQLite&lt;br /&gt;
* dostęp do oprogramowania baculi na licencjo OpenSource&lt;br /&gt;
* kopia danych na woluminach wielotaśmowych&lt;br /&gt;
* umożliwia szyfrowanie danych przepływających przez sieć&lt;br /&gt;
* archiwizuje pliki większe niż 2 GBobsługuje automatyczne zmieniarki&lt;br /&gt;
* może wykonywać skrypty przed i po archiwizazcji&lt;br /&gt;
* scentralizowany system zarządzania kopiami dla całej sieci&lt;br /&gt;
&lt;br /&gt;
== Instalacja serwera bacula ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Potrzebne oprogramowanie do działania baculi zaznaczyłem w trakcie instalacji systemu &amp;quot;''[[LAMP]] Server''&amp;quot; , 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&lt;br /&gt;
* w systemie [[CentOS]]&lt;br /&gt;
 yum install bacula-client bacula-common bacula-console bacula-director-common bacula-director-mysql bacula-docs bacula-storage-common &lt;br /&gt;
 bacula-storage-mysql mysql mysql-devel mysql-server&lt;br /&gt;
* w systemie [[Ubuntu]] Server&lt;br /&gt;
  apt-get install bacula apache2 mysql php&lt;br /&gt;
i to tak na prawdę wszyst. Uwaga jeśli chcesz aby Twoja instalacja baculi współpracowała z np bazą danych mysql to musisz instalować pakiety np ''bacula-director-mysql'', ''bacula-common-mysql''  i tak dalej jeśli chcesz przeprowadzić  instalację do współpracy z odpowiednią bazą danych  to musisz jawnie o tym powiadomić instalator podczas instalacji oprogramowania.&lt;br /&gt;
Potrzebne pakiety do poprawnego działania to:&lt;br /&gt;
* bacula-common-mysql&lt;br /&gt;
* bacula-console&lt;br /&gt;
* bacula-director-common&lt;br /&gt;
* bacula-director-mysql&lt;br /&gt;
* bacula-fd (klient)&lt;br /&gt;
* bacula-sd-mysql&lt;br /&gt;
* bacula-server&lt;br /&gt;
* dbconfig-common&lt;br /&gt;
W trakcie instalacji na systemie '''Ubuntu Server''', powyższych pakietów system pyta nas o konfiguracje bazy danych dla '''baculi''' za pomocą oprogramowania '''dbconfig-common''', oczywiście się zgadzamy &amp;quot;''Configure database for bacula-director-mysql with dbconfig-common?''&amp;quot;, po zatwierdzeniu będziemy musieli podać hasło do użytkownika root bazy danych oraz nowe hasło dla '''bacula-director-mysql'''.  Do instalacji tego oprogramowania nie potrzebowałem żadnego dodatkowego repozytorium. Po poprawnej instalacji Twój serwer archiwizacji danych powinien być gotowy do konfiguracji.&amp;lt;br /&amp;gt;&lt;br /&gt;
* W systemie [[CentOS]] po instalacji pakietów musimy skonfigurować ręcznie bazę danych i tak na początku uruchamiamy serwer mysqla &lt;br /&gt;
 service mysqld start &lt;br /&gt;
następnie &lt;br /&gt;
 /usr/bin/mysql_secure_installation &lt;br /&gt;
i ustawiamy hasło do bazy danych i inne opcje (konfiguracja serwera MySQL dostępna jest [[MySQL|tutaj]]), następnie &lt;br /&gt;
 service mysqld restart &lt;br /&gt;
i  &lt;br /&gt;
 chkconfig mysqld on  &lt;br /&gt;
tworzymy bazę danych dla baculi &lt;br /&gt;
 cd /usr/libexec/bacula/ &lt;br /&gt;
a następnie &lt;br /&gt;
 ./create_mysql_database -u root -p &lt;br /&gt;
tworzymy tabele w bazie baculi &lt;br /&gt;
 ./make_mysql_tables -u root -p &lt;br /&gt;
nadanie przywilejów dla usera bacula &lt;br /&gt;
 ./grant_mysql_privileges -u root -p &lt;br /&gt;
następnie nadajemy użytkownikowi bazy danych bacula hasło (obecnie brak hasła), logujemy się do bazy danych &lt;br /&gt;
 mysql -u root -p &lt;br /&gt;
a następnie wydajemy polecenie &lt;br /&gt;
 UPDATE mysql.user set password=password('haslo_dla_usera_bacula') where user='bacula'; &lt;br /&gt;
restartujemy bazę danych &lt;br /&gt;
 service mysqld restart&lt;br /&gt;
&lt;br /&gt;
== Konfiguracja serwera Bacula ==&lt;br /&gt;
&lt;br /&gt;
Wszystkie pliki konfiguracyjne baculi powinny znajdować się w ścieżce ''/etc/bacula/'' usługę możesz restartować zatrzymywać oraz startować za pomocą polecenia&lt;br /&gt;
 /etc/init.d/bacula-dir start/stop/restart/status &lt;br /&gt;
 /etc/init.d/bacula-sd start/stop/restart/status&lt;br /&gt;
 /etc/init.d/bacula-fd start/stop/restart/status&lt;br /&gt;
&lt;br /&gt;
== Pliki konfiguracyjne ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Plik '''bacula-dir.conf'''&amp;lt;br /&amp;gt; '''Director''' – dane zarządcy uprawnionego do używania urządzeń demona magazynowania&lt;br /&gt;
# Plik '''bacula-fd.conf'''&amp;lt;br /&amp;gt;'''Device''' – definicja urządzenia archiwizującego&lt;br /&gt;
# Plik '''bacula-sd.conf'''&amp;lt;br /&amp;gt;'''StorageDaemon''' – główna konfiguracja demona magazynowania&lt;br /&gt;
# Plik '''bconsole.conf''' - plik konsoli bacula&lt;br /&gt;
#Plik konfiguracji każdego klienta np '''slawek-backup.conf'''&lt;br /&gt;
Poniżej przedstawie przykładowe pliki konfiguracyjne z działającego serwera i pokrótce  postaram się opisać najważniejsze opcje każdego z nich.&lt;br /&gt;
&lt;br /&gt;
== Plik bacula-dir.conf - Director ==&lt;br /&gt;
Plik '''bacula-dir.conf''' zawiera sekcje&lt;br /&gt;
* Director – główna konfiguracja zarządcy,&lt;br /&gt;
* Catalog – parametry połączenia z bazą danych,&lt;br /&gt;
* Messages – sposób zapisywania dzienników (w tym powiadomienia na e-mail),&lt;br /&gt;
* Job – zadanie (backup, restore, weryfikacja, migracja, kopiowanie i inne),&lt;br /&gt;
* FileSet – opcje zadania (listy dołączeń, listy wykluczeń, sygnatury plików, kompresja programowa i inne),&lt;br /&gt;
* Storage – ustawienia dostępnych urządzeń archiwizujących,&lt;br /&gt;
* Client – definicja klientów,&lt;br /&gt;
* Pool – pula woluminów,&lt;br /&gt;
* Schedule – harmonogram zadań.&lt;br /&gt;
&lt;br /&gt;
Przykładowa konfiguracja&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
 Director {&lt;br /&gt;
 Name = ogrody-dir #nazwa zarzadcy&lt;br /&gt;
 Password = &amp;quot;qwerty123-dir&amp;quot; #haslo, uzywaja programy łączące się z zarządcy&lt;br /&gt;
 DIR Address = 192.168.2.15 #adres IP interfejsu sieciowego&lt;br /&gt;
 DIR Port = 9101 #port na którym ma nasłuchiwać zarządca&lt;br /&gt;
 QueryFile = &amp;quot;/usr/libexec/bacula/query.sql&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
 WorkingDirectory = &amp;quot;/var/spool/bacula&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
 PidDirectory = &amp;quot;/var/run&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
 Messages = DirRaport #nazwa zasobu messages, uzyta ponizej&lt;br /&gt;
 Maximum Concurrent jobs = 5 #ilość zadań, które jednocześnie może wykonywać zarządca&lt;br /&gt;
 }&lt;br /&gt;
 Catalog {&lt;br /&gt;
 Name = &amp;quot;Baza-danych-bacula&amp;quot; #nazwa zasobu, używana w zasobach client&lt;br /&gt;
 DB Name = bacula #nazwa bazy danych&lt;br /&gt;
 DB Address = 127.0.0.1 # adres bazy danych&lt;br /&gt;
 DB Port = 3306 #port na którym nasłuchuje mysql&lt;br /&gt;
 User = bacula #użytkownik do bazy danych dla baculi&lt;br /&gt;
 Password = bacula1 #hasło użytkownika baculi&lt;br /&gt;
 } &lt;br /&gt;
 Messages {&lt;br /&gt;
 Name = DirRaport #nazwa zasobu, odpowiada ona nazwie w zasobie Director opcji messages&lt;br /&gt;
 Mailcommand = &amp;quot;/usr/sbin/bsmtp -h localhost -f \&amp;quot;\(Bacula\) \&amp;lt;%r\&amp;gt;\&amp;quot; -s \&amp;quot;Bacula: %t %e of %c %l\&amp;quot; %r&amp;quot; #komenda do wysłania maila z powiadomieniem&lt;br /&gt;
 Operatorcommand = &amp;quot;/usr/sbin/bsmtp -h localhost -f \&amp;quot;\(Bacula\) \&amp;lt;%r\&amp;gt;\&amp;quot; -s \&amp;quot;Bacula: Intervention needed for %j\&amp;quot; %r&amp;quot; #mail z powiadomieniem&lt;br /&gt;
 Mail = slawek@linux-user.eu = all, !skipped #mail od kogo&lt;br /&gt;
 Operator = slawek@linux-user.eu = mount #mail od kogo&lt;br /&gt;
 Console = all, !skipped, !saved #wyświetlanie statusów i zdarzeń wartość all wyświetla wszystko&lt;br /&gt;
 Append = &amp;quot;/var/spool/bacula/log&amp;quot; = all, !skipped #ustawienie zapisywania statusów i raportów do pliku logów wartość all wszystko&lt;br /&gt;
 }&lt;br /&gt;
 Storage {&lt;br /&gt;
 Name = Dysk-Pendrive #nazwa zasobu, używana w zasobie jobs&lt;br /&gt;
 Address = 192.168.2.15 #adres IP z bacula-sd, &lt;br /&gt;
 SD Port = 9103 #port bacula-sd&lt;br /&gt;
 Password = qwerty123-sd #hasło do bacula-sd&lt;br /&gt;
 Device = &amp;quot;Urzadzenie pendrive&amp;quot; #nazwa urzadzenia, uzyte również w bacula-sd&lt;br /&gt;
 Media Type = Pliki-na-usb #nazwa typu obsługiwanych woluminów, uzywana w bacula-sd&lt;br /&gt;
 Maximum Concurrent Jobs = 1 #ilośc zadań, które jednocześnie może zrealizować urządzenie&lt;br /&gt;
 } &lt;br /&gt;
 Client {&lt;br /&gt;
 Name = backup_na_pendrive # nazwa klienta, użyta również w sekcji Job&lt;br /&gt;
 Address = 192.168.2.15 #adres IP komputera klienta, &lt;br /&gt;
 FD Port = 9102 #numer portu bacula-client, domyślnie 9102&lt;br /&gt;
 Catalog = &amp;quot;Baza-danych-bacula&amp;quot; #jakiej bazy danych użyć, nazwa z sekcji Catalog&lt;br /&gt;
 Password = &amp;quot;qwerty123-fd&amp;quot; #hasło do bacula-fd na kliencie&lt;br /&gt;
 AutoPrune = no # czyszczenie przestarzałych danych z bazy danych&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
 Name = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
 Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
 Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
 AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
 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&lt;br /&gt;
 Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
 LabelFormat = &amp;quot;serwer-ogrody-plik-poniedzialek-&amp;quot; &lt;br /&gt;
 Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
 Name = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
 Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
 Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
 AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
 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&lt;br /&gt;
 Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
 LabelFormat = &amp;quot;serwer-ogrody-plik-wtorek-&amp;quot;&lt;br /&gt;
 Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
 Name = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa puli woluminów&lt;br /&gt;
 Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
 Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
 AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
 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&lt;br /&gt;
 Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
 LabelFormat = &amp;quot;serwer-ogrody-plik-sroda-&amp;quot;&lt;br /&gt;
 Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
 Name = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
 Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
 Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
 AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
 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&lt;br /&gt;
 Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
 LabelFormat = &amp;quot;serwer-ogrody-plik-czwartek-&amp;quot;&lt;br /&gt;
 Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
 Name = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
 Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
 Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
 AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
 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&lt;br /&gt;
 Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
 LabelFormat = &amp;quot;serwer-ogrody-plik-piatek-&amp;quot;&lt;br /&gt;
 Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 FileSet {&lt;br /&gt;
 Name = &amp;quot;Baza-danych-postgresql&amp;quot; #nazwa akcji, użyta w sekcji job&lt;br /&gt;
  Include {&lt;br /&gt;
   Options {&lt;br /&gt;
    Signature = MD5 # sposób tworzenia sygnatur kopii zapasowych&lt;br /&gt;
       }&lt;br /&gt;
   File = /var/lib/pgsql/9.1/data/ #pliki do archiwizowania&lt;br /&gt;
  }&lt;br /&gt;
  Exclude { #nie archiwizuj poniższych plików&lt;br /&gt;
     File = /var/lib/pgsql/9.1/data/backup_test &lt;br /&gt;
     File = /var/lib/pgsql/9.1/data/backup_test_pg&lt;br /&gt;
  }&lt;br /&gt;
  }&lt;br /&gt;
  FileSet {&lt;br /&gt;
   Name = &amp;quot;Pliki-samby&amp;quot;&lt;br /&gt;
 Include {&lt;br /&gt;
 Options {&lt;br /&gt;
  Signature = MD5 # sposób tworzenia sygnatur kopii zapasowych&lt;br /&gt;
  }&lt;br /&gt;
 File = /home/samba/&lt;br /&gt;
 }&lt;br /&gt;
 Exclude {&lt;br /&gt;
 File = /home/samba/.*&lt;br /&gt;
 }&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-poniedzialek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
 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ę &lt;br /&gt;
 #wykonywać w dni od poniedziałku do piątku&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-wtorek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
 Run = Full tuesday at 00:04  &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-sroda&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
 Run = Full wednesday at 15:10 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-czwartek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
 Run = Full thursday at 15:10 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-piatek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
 Run = Full friday at 16:15 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-incremental-poniedzialek&amp;quot;&lt;br /&gt;
 Run = Incremental monday at 10:00 #kopia przyrostowa w poniedziałek o 10:00&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-incremental-wtorek&amp;quot;&lt;br /&gt;
 Run = Incremental tuesday at 00:23 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-incremental-sroda&amp;quot;&lt;br /&gt;
 Run = Incremental wednesday at 15:13 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-incremental-czwartek&amp;quot;&lt;br /&gt;
 Run = Incremental thursday at 15:13 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-incremental-piatek&amp;quot;&lt;br /&gt;
 Run = Incremental friday at 16:17 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-samba-poniedzialek&amp;quot; &lt;br /&gt;
 Run = Full monday at 01:00 #backup powinien wykonać się w poniedziałek o godzinie 01:00&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-samba-wtorek&amp;quot; &lt;br /&gt;
 Run = Full tuesday at 00:06 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-samba-sroda&amp;quot; &lt;br /&gt;
 Run = Full wednesday at 00:06 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-samba-czwartek&amp;quot; &lt;br /&gt;
 Run = Full thursday at 15:11 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-samba-piatek&amp;quot; &lt;br /&gt;
 Run = Full friday at 16:19 &lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-poniedzialek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-poniedzialek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-poniedzialek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-wtorek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-wtorek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-wtorek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-sroda&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-sroda&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-sroda&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-baza_danych-czwartek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-czwartek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-czwartek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-piatek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-piatek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-piatek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-poniedzialek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-poniedzialek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-poniedzialek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-wtorek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-wtorek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-wtorek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-sroda&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-sroda&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-sroda&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-samby-czwartek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-czwartek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-czwartek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-piatek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-piatek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-piatek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-full-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-full-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa  (uwaga musisz mieć poniższy skrypt w lokalizacji podanej poniżej)&lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-full-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-full-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-full-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-full-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-full-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-full-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-full-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-full-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-incremental-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-incremental-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot; 	 &lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-incremental-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-incremental-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }      &lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-incremental-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-incremental-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }       &lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Konfiguracja pliku bacula-fd.conf - File Daemon ==&lt;br /&gt;
* Client – główne ustawienia klienta. Nazwa stosowana zamiennie dla tego typu zasobu to &amp;quot;FileDaemon&amp;quot;.&lt;br /&gt;
* Director – ustawienie zarządcy, który jest uprawniony do korzystania z klienta&lt;br /&gt;
* Messages – poziom logowania klienta&lt;br /&gt;
W katalogu ''/etc/bacula'' wydajemy polecenie &lt;br /&gt;
 mv bacula-fd.conf bacula-fd.conf-org | touch bacula-fd.conf &lt;br /&gt;
i edytujemy plik bacula-fd.conf&lt;br /&gt;
 FileDaemon {&lt;br /&gt;
	Name = ogrody-fd #nazwa zasobu, nigdzie indziej nie używana&lt;br /&gt;
	FD Address = 192.168.2.15 #IP klienta, tam gdzie jest uruchomiony bacula-fd&lt;br /&gt;
	FD Port = 9102 #numer portu na którym nasłuchuje klient&lt;br /&gt;
	WorkingDirectory = /var/spool/bacula #kopiować z istniejących plików&lt;br /&gt;
  	Pid Directory = /var/run #kopiować z istniejących plików&lt;br /&gt;
	Maximum Concurrent Jobs = 1 # ilośc zadań jakie jednocześnie może wykonywac klient&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
	Name = ogrody-dir # nazwa zarzadcy uprawnionego do łączenia się z klientem&lt;br /&gt;
	Password = &amp;quot;qwerty123-fd&amp;quot; #hasło, którym director będzie się autoryzować u klienta, musi byc takie samo jak w pliku bacula-dir odpowiednia sekcja Client&lt;br /&gt;
 } &lt;br /&gt;
 Messages {&lt;br /&gt;
	Name = ogrody-fd-raport-klient #nazwa zasobu, nigdzie indziej nie używana&lt;br /&gt;
	Director = ogrody-dir = all, !skipped, !restored #nazwa zarządcy oraz poziom logowania all, oprócz przywracania danych i zignorowanych&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
Uwaga hasło &amp;quot;''haslo123''&amp;quot;  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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;google1 style=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/google1&amp;gt;&lt;/div&gt;</summary>
		<author><name>Slawek</name></author>	</entry>

	<entry>
		<id>http://wiki.linux-user.eu/index.php/Bacula_-_backup_danych</id>
		<title>Bacula - backup danych</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux-user.eu/index.php/Bacula_-_backup_danych"/>
				<updated>2012-09-16T13:12:41Z</updated>
		
		<summary type="html">&lt;p&gt;Slawek: /* Plik bacula-dir.conf - Director */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Serwer]]&lt;br /&gt;
== Backup danych - Bacula ==&lt;br /&gt;
'''Bacula''' jest profesjonalnym systemem archiwizacji danych typu klien-serwer. Jest to darmowe oprogramowanie, które odpowiada za tworzenie, przywracania oraz weryfikację danych. Sam serwer może działać na wielu platformach Linux, FreeBSD czy Solaris. Klient baculi archiwizuje dane z wilu platform łącznie z windowsami.&lt;br /&gt;
Bacula w skrócie:&lt;br /&gt;
* budowa modularna&lt;br /&gt;
* archiwizacja danych z platform Linux, Windows, Mac OS&lt;br /&gt;
* zaplecze bazo danowe w postaci MySQL, PostgreSQL czy SQLite&lt;br /&gt;
* dostęp do oprogramowania baculi na licencjo OpenSource&lt;br /&gt;
* kopia danych na woluminach wielotaśmowych&lt;br /&gt;
* umożliwia szyfrowanie danych przepływających przez sieć&lt;br /&gt;
* archiwizuje pliki większe niż 2 GBobsługuje automatyczne zmieniarki&lt;br /&gt;
* może wykonywać skrypty przed i po archiwizazcji&lt;br /&gt;
* scentralizowany system zarządzania kopiami dla całej sieci&lt;br /&gt;
&lt;br /&gt;
== Instalacja serwera bacula ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Potrzebne oprogramowanie do działania baculi zaznaczyłem w trakcie instalacji systemu &amp;quot;''[[LAMP]] Server''&amp;quot; , 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&lt;br /&gt;
* w systemie [[CentOS]]&lt;br /&gt;
 yum install bacula-client bacula-common bacula-console bacula-director-common bacula-director-mysql bacula-docs bacula-storage-common &lt;br /&gt;
 bacula-storage-mysql mysql mysql-devel mysql-server&lt;br /&gt;
* w systemie [[Ubuntu]] Server&lt;br /&gt;
  apt-get install bacula apache2 mysql php&lt;br /&gt;
i to tak na prawdę wszyst. Uwaga jeśli chcesz aby Twoja instalacja baculi współpracowała z np bazą danych mysql to musisz instalować pakiety np ''bacula-director-mysql'', ''bacula-common-mysql''  i tak dalej jeśli chcesz przeprowadzić  instalację do współpracy z odpowiednią bazą danych  to musisz jawnie o tym powiadomić instalator podczas instalacji oprogramowania.&lt;br /&gt;
Potrzebne pakiety do poprawnego działania to:&lt;br /&gt;
* bacula-common-mysql&lt;br /&gt;
* bacula-console&lt;br /&gt;
* bacula-director-common&lt;br /&gt;
* bacula-director-mysql&lt;br /&gt;
* bacula-fd (klient)&lt;br /&gt;
* bacula-sd-mysql&lt;br /&gt;
* bacula-server&lt;br /&gt;
* dbconfig-common&lt;br /&gt;
W trakcie instalacji na systemie '''Ubuntu Server''', powyższych pakietów system pyta nas o konfiguracje bazy danych dla '''baculi''' za pomocą oprogramowania '''dbconfig-common''', oczywiście się zgadzamy &amp;quot;''Configure database for bacula-director-mysql with dbconfig-common?''&amp;quot;, po zatwierdzeniu będziemy musieli podać hasło do użytkownika root bazy danych oraz nowe hasło dla '''bacula-director-mysql'''.  Do instalacji tego oprogramowania nie potrzebowałem żadnego dodatkowego repozytorium. Po poprawnej instalacji Twój serwer archiwizacji danych powinien być gotowy do konfiguracji.&amp;lt;br /&amp;gt;&lt;br /&gt;
* W systemie [[CentOS]] po instalacji pakietów musimy skonfigurować ręcznie bazę danych i tak na początku uruchamiamy serwer mysqla &lt;br /&gt;
 service mysqld start &lt;br /&gt;
następnie &lt;br /&gt;
 /usr/bin/mysql_secure_installation &lt;br /&gt;
i ustawiamy hasło do bazy danych i inne opcje (konfiguracja serwera MySQL dostępna jest [[MySQL|tutaj]]), następnie &lt;br /&gt;
 service mysqld restart &lt;br /&gt;
i  &lt;br /&gt;
 chkconfig mysqld on  &lt;br /&gt;
tworzymy bazę danych dla baculi &lt;br /&gt;
 cd /usr/libexec/bacula/ &lt;br /&gt;
a następnie &lt;br /&gt;
 ./create_mysql_database -u root -p &lt;br /&gt;
tworzymy tabele w bazie baculi &lt;br /&gt;
 ./make_mysql_tables -u root -p &lt;br /&gt;
nadanie przywilejów dla usera bacula &lt;br /&gt;
 ./grant_mysql_privileges -u root -p &lt;br /&gt;
następnie nadajemy użytkownikowi bazy danych bacula hasło (obecnie brak hasła), logujemy się do bazy danych &lt;br /&gt;
 mysql -u root -p &lt;br /&gt;
a następnie wydajemy polecenie &lt;br /&gt;
 UPDATE mysql.user set password=password('haslo_dla_usera_bacula') where user='bacula'; &lt;br /&gt;
restartujemy bazę danych &lt;br /&gt;
 service mysqld restart&lt;br /&gt;
&lt;br /&gt;
== Konfiguracja serwera Bacula ==&lt;br /&gt;
&lt;br /&gt;
Wszystkie pliki konfiguracyjne baculi powinny znajdować się w ścieżce ''/etc/bacula/'' usługę możesz restartować zatrzymywać oraz startować za pomocą polecenia&lt;br /&gt;
 /etc/init.d/bacula-dir start/stop/restart/status &lt;br /&gt;
 /etc/init.d/bacula-sd start/stop/restart/status&lt;br /&gt;
 /etc/init.d/bacula-fd start/stop/restart/status&lt;br /&gt;
&lt;br /&gt;
== Pliki konfiguracyjne ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Plik '''bacula-dir.conf'''&amp;lt;br /&amp;gt; '''Director''' – dane zarządcy uprawnionego do używania urządzeń demona magazynowania&lt;br /&gt;
# Plik '''bacula-fd.conf'''&amp;lt;br /&amp;gt;'''Device''' – definicja urządzenia archiwizującego&lt;br /&gt;
# Plik '''bacula-sd.conf'''&amp;lt;br /&amp;gt;'''StorageDaemon''' – główna konfiguracja demona magazynowania&lt;br /&gt;
# Plik '''bconsole.conf''' - plik konsoli bacula&lt;br /&gt;
#Plik konfiguracji każdego klienta np '''slawek-backup.conf'''&lt;br /&gt;
Poniżej przedstawie przykładowe pliki konfiguracyjne z działającego serwera i pokrótce  postaram się opisać najważniejsze opcje każdego z nich.&lt;br /&gt;
&lt;br /&gt;
== Plik bacula-dir.conf - Director ==&lt;br /&gt;
Plik '''bacula-dir.conf''' zawiera sekcje&lt;br /&gt;
* Director – główna konfiguracja zarządcy,&lt;br /&gt;
* Catalog – parametry połączenia z bazą danych,&lt;br /&gt;
* Messages – sposób zapisywania dzienników (w tym powiadomienia na e-mail),&lt;br /&gt;
* Job – zadanie (backup, restore, weryfikacja, migracja, kopiowanie i inne),&lt;br /&gt;
* FileSet – opcje zadania (listy dołączeń, listy wykluczeń, sygnatury plików, kompresja programowa i inne),&lt;br /&gt;
* Storage – ustawienia dostępnych urządzeń archiwizujących,&lt;br /&gt;
* Client – definicja klientów,&lt;br /&gt;
* Pool – pula woluminów,&lt;br /&gt;
* Schedule – harmonogram zadań.&lt;br /&gt;
&lt;br /&gt;
Przykładowa konfiguracja&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
 Director {&lt;br /&gt;
 Name = ogrody-dir #nazwa zarzadcy&lt;br /&gt;
 Password = &amp;quot;qwerty123-dir&amp;quot; #haslo, uzywaja programy łączące się z zarządcy&lt;br /&gt;
 DIR Address = 192.168.2.15 #adres IP interfejsu sieciowego&lt;br /&gt;
 DIR Port = 9101 #port na którym ma nasłuchiwać zarządca&lt;br /&gt;
 QueryFile = &amp;quot;/usr/libexec/bacula/query.sql&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
 WorkingDirectory = &amp;quot;/var/spool/bacula&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
 PidDirectory = &amp;quot;/var/run&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
 Messages = DirRaport #nazwa zasobu messages, uzyta ponizej&lt;br /&gt;
 Maximum Concurrent jobs = 5 #ilość zadań, które jednocześnie może wykonywać zarządca&lt;br /&gt;
 }&lt;br /&gt;
 Catalog {&lt;br /&gt;
 Name = &amp;quot;Baza-danych-bacula&amp;quot; #nazwa zasobu, używana w zasobach client&lt;br /&gt;
 DB Name = bacula #nazwa bazy danych&lt;br /&gt;
 DB Address = 127.0.0.1 # adres bazy danych&lt;br /&gt;
 DB Port = 3306 #port na którym nasłuchuje mysql&lt;br /&gt;
 User = bacula #użytkownik do bazy danych dla baculi&lt;br /&gt;
 Password = bacula1 #hasło użytkownika baculi&lt;br /&gt;
 } &lt;br /&gt;
 Messages {&lt;br /&gt;
 Name = DirRaport #nazwa zasobu, odpowiada ona nazwie w zasobie Director opcji messages&lt;br /&gt;
 Mailcommand = &amp;quot;/usr/sbin/bsmtp -h localhost -f \&amp;quot;\(Bacula\) \&amp;lt;%r\&amp;gt;\&amp;quot; -s \&amp;quot;Bacula: %t %e of %c %l\&amp;quot; %r&amp;quot; #komenda do wysłania maila z powiadomieniem&lt;br /&gt;
 Operatorcommand = &amp;quot;/usr/sbin/bsmtp -h localhost -f \&amp;quot;\(Bacula\) \&amp;lt;%r\&amp;gt;\&amp;quot; -s \&amp;quot;Bacula: Intervention needed for %j\&amp;quot; %r&amp;quot; #mail z powiadomieniem&lt;br /&gt;
 Mail = slawek@linux-user.eu = all, !skipped #mail od kogo&lt;br /&gt;
 Operator = slawek@linux-user.eu = mount #mail od kogo&lt;br /&gt;
 Console = all, !skipped, !saved #wyświetlanie statusów i zdarzeń wartość all wyświetla wszystko&lt;br /&gt;
 Append = &amp;quot;/var/spool/bacula/log&amp;quot; = all, !skipped #ustawienie zapisywania statusów i raportów do pliku logów wartość all wszystko&lt;br /&gt;
 }&lt;br /&gt;
 Storage {&lt;br /&gt;
 Name = Dysk-Pendrive #nazwa zasobu, używana w zasobie jobs&lt;br /&gt;
 Address = 192.168.2.15 #adres IP z bacula-sd, &lt;br /&gt;
 SD Port = 9103 #port bacula-sd&lt;br /&gt;
 Password = qwerty123-sd #hasło do bacula-sd&lt;br /&gt;
 Device = &amp;quot;Urzadzenie pendrive&amp;quot; #nazwa urzadzenia, uzyte również w bacula-sd&lt;br /&gt;
 Media Type = Pliki-na-usb #nazwa typu obsługiwanych woluminów, uzywana w bacula-sd&lt;br /&gt;
 Maximum Concurrent Jobs = 1 #ilośc zadań, które jednocześnie może zrealizować urządzenie&lt;br /&gt;
 } &lt;br /&gt;
 Client {&lt;br /&gt;
 Name = backup_na_pendrive # nazwa klienta, użyta również w sekcji Job&lt;br /&gt;
 Address = 192.168.2.15 #adres IP komputera klienta, &lt;br /&gt;
 FD Port = 9102 #numer portu bacula-client, domyślnie 9102&lt;br /&gt;
 Catalog = &amp;quot;Baza-danych-bacula&amp;quot; #jakiej bazy danych użyć, nazwa z sekcji Catalog&lt;br /&gt;
 Password = &amp;quot;qwerty123-fd&amp;quot; #hasło do bacula-fd na kliencie&lt;br /&gt;
 AutoPrune = no # czyszczenie przestarzałych danych z bazy danych&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
 Name = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
 Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
 Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
 AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
 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&lt;br /&gt;
 Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
 LabelFormat = &amp;quot;serwer-ogrody-plik-poniedzialek-&amp;quot; &lt;br /&gt;
 Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
 Name = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
 Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
 Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
 AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
 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&lt;br /&gt;
 Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
 LabelFormat = &amp;quot;serwer-ogrody-plik-wtorek-&amp;quot;&lt;br /&gt;
 Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
 Name = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa puli woluminów&lt;br /&gt;
 Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
 Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
 AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
 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&lt;br /&gt;
 Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
 LabelFormat = &amp;quot;serwer-ogrody-plik-sroda-&amp;quot;&lt;br /&gt;
 Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
 Name = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
 Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
 Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
 AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
 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&lt;br /&gt;
 Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
 LabelFormat = &amp;quot;serwer-ogrody-plik-czwartek-&amp;quot;&lt;br /&gt;
 Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
 Name = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
 Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
 Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
 AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
 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&lt;br /&gt;
 Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
 LabelFormat = &amp;quot;serwer-ogrody-plik-piatek-&amp;quot;&lt;br /&gt;
 Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 FileSet {&lt;br /&gt;
 Name = &amp;quot;Baza-danych-postgresql&amp;quot; #nazwa akcji, użyta w sekcji job&lt;br /&gt;
  Include {&lt;br /&gt;
   Options {&lt;br /&gt;
    Signature = MD5 # sposób tworzenia sygnatur kopii zapasowych&lt;br /&gt;
       }&lt;br /&gt;
   File = /var/lib/pgsql/9.1/data/ #pliki do archiwizowania&lt;br /&gt;
  }&lt;br /&gt;
  Exclude { #nie archiwizuj poniższych plików&lt;br /&gt;
     File = /var/lib/pgsql/9.1/data/backup_test &lt;br /&gt;
     File = /var/lib/pgsql/9.1/data/backup_test_pg&lt;br /&gt;
  }&lt;br /&gt;
  }&lt;br /&gt;
  FileSet {&lt;br /&gt;
   Name = &amp;quot;Pliki-samby&amp;quot;&lt;br /&gt;
 Include {&lt;br /&gt;
 Options {&lt;br /&gt;
  Signature = MD5 # sposób tworzenia sygnatur kopii zapasowych&lt;br /&gt;
  }&lt;br /&gt;
 File = /home/samba/&lt;br /&gt;
 }&lt;br /&gt;
 Exclude {&lt;br /&gt;
 File = /home/samba/.*&lt;br /&gt;
 }&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-poniedzialek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
 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ę &lt;br /&gt;
 #wykonywać w dni od poniedziałku do piątku&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-wtorek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
 Run = Full tuesday at 00:04  &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-sroda&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
 Run = Full wednesday at 15:10 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-czwartek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
 Run = Full thursday at 15:10 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-piatek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
 Run = Full friday at 16:15 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-incremental-poniedzialek&amp;quot;&lt;br /&gt;
 Run = Incremental monday at 10:00 #kopia przyrostowa w poniedziałek o 10:00&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-incremental-wtorek&amp;quot;&lt;br /&gt;
 Run = Incremental tuesday at 00:23 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-incremental-sroda&amp;quot;&lt;br /&gt;
 Run = Incremental wednesday at 15:13 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-incremental-czwartek&amp;quot;&lt;br /&gt;
 Run = Incremental thursday at 15:13 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-incremental-piatek&amp;quot;&lt;br /&gt;
 Run = Incremental friday at 16:17 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-samba-poniedzialek&amp;quot; &lt;br /&gt;
 Run = Full monday at 01:00 #backup powinien wykonać się w poniedziałek o godzinie 01:00&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-samba-wtorek&amp;quot; &lt;br /&gt;
 Run = Full tuesday at 00:06 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-samba-sroda&amp;quot; &lt;br /&gt;
 Run = Full wednesday at 00:06 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-samba-czwartek&amp;quot; &lt;br /&gt;
 Run = Full thursday at 15:11 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-samba-piatek&amp;quot; &lt;br /&gt;
 Run = Full friday at 16:19 &lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-poniedzialek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-poniedzialek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-poniedzialek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-wtorek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-wtorek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-wtorek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-sroda&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-sroda&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-sroda&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-baza_danych-czwartek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-czwartek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-czwartek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-piatek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-piatek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-piatek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-poniedzialek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-poniedzialek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-poniedzialek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-wtorek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-wtorek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-wtorek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-sroda&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-sroda&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-sroda&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-samby-czwartek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-czwartek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-czwartek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-piatek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-piatek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-piatek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-full-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-full-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa  (uwaga musisz mieć poniższy skrypt w lokalizacji podanej poniżej)&lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-full-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-full-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-full-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-full-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-full-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-full-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-full-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-full-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-incremental-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-incremental-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot; 	 &lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-incremental-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-incremental-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }      &lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-incremental-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-incremental-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }       &lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Konfiguracja pliku bacula-fd.conf - File Daemon ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Director {&lt;br /&gt;
 Name = backup-serwer-dir&lt;br /&gt;
 Password = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
 Name = backup-serwer-mon&lt;br /&gt;
 Password = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
 Monitor = yes&lt;br /&gt;
 }&lt;br /&gt;
 FileDaemon {&lt;br /&gt;
 Name = backup-serwer-fd&lt;br /&gt;
 FDport = 9102&lt;br /&gt;
 WorkingDirectory = /var/lib/bacula&lt;br /&gt;
 Pid Directory = /var/run/bacula&lt;br /&gt;
 Maximum Concurrent Jobs = 20&lt;br /&gt;
 FDAddress = 127.0.0.1&lt;br /&gt;
 }&lt;br /&gt;
 Messages {&lt;br /&gt;
 Name = Standard&lt;br /&gt;
 director = backup-serwer-dir = all, !skipped, !restored&lt;br /&gt;
 } &lt;br /&gt;
Konfiguracja Storage Daemona '''bacula-sd.conf'''&lt;br /&gt;
&lt;br /&gt;
 Storage {                           &lt;br /&gt;
  Name = backup-serwer-sd   # Name – nazwa demona magazynowania. &lt;br /&gt;
 Nie jest ona powiązana z żadną inną konfiguracją usług&lt;br /&gt;
  SDPort = 9103                  # Director's port      &lt;br /&gt;
  WorkingDirectory = &amp;quot;/var/lib/bacula&amp;quot;   #Working Directory – katalog w którym serwis &lt;br /&gt;
 będzie przechowywał pliki swoich statusów. Dobrą praktyką jest zdefiniować taki katalog, &lt;br /&gt;
 który przeznaczony będzie tylko do tego celu.&lt;br /&gt;
  Pid Directory = &amp;quot;/var/run/bacula&amp;quot;  #PID Directory – lokalizacja, w której demon &lt;br /&gt;
 magazynowania będzie zapisywał plik z identyfikatorem procesu, jaki otrzymał &lt;br /&gt;
 demon przy starcie&lt;br /&gt;
  Maximum Concurrent Jobs = 2&lt;br /&gt;
  SDAddress = 192.168.0.10   #SD Address – dyrektywa definiuje adres IP interfejsu, &lt;br /&gt;
 na którym będzie nasłuchiwał demon.&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
  Name = backup-serwer-dir   # Name – nazwa zarządcy uprawnionego do używania &lt;br /&gt;
 demona magazynowania. Nazwa zarządcy określanego w tej dyrektywie musi odpowiadać &lt;br /&gt;
 nazwie zarządcy zdefiniowanej w innych plikach konfiguracyjnych.&lt;br /&gt;
  Password = &amp;quot;s7s8,.zq&amp;quot;   # Password – hasło, którym zarządca będzie autoryzował się do &lt;br /&gt;
 demona magazynowania. Podane tu hasło definiowane jest również w pliku konfiguracyjnym zarządcy.&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
  Name = backup-serwer-mon&lt;br /&gt;
  Password = &amp;quot;s7s8,.zq&amp;quot;&lt;br /&gt;
  Monitor = yes&lt;br /&gt;
 }&lt;br /&gt;
 Device {&lt;br /&gt;
  Name = &amp;quot;serwer&amp;quot; # Name – nazwa urządzenia. Ta sama nazwa jest definiowana również w &lt;br /&gt;
 pliku konfiguracyjnym zarządcy&lt;br /&gt;
  Media Type = File #typ woluminu. Określa jakiego typu nośniki obsługuje dane urządzenie.&lt;br /&gt;
  Archive Device = /home/bacula/backup/serwer  # Archive Device – lokalizacja urządzenia. &lt;br /&gt;
 Jeśli urządzeniem jest dysk, to podawany jest tutaj punkt jego montowania&lt;br /&gt;
  Device Type = File # Device Type – określa typ urządzenia. Możliwe typy urządzeń to: File – &lt;br /&gt;
 dla dysków, Tape – dla urządzeń taśmowych, Fifo – dla kolejek FIFO, DVD – dla napędów DVD-ROM&lt;br /&gt;
  LabelMedia = yes;&lt;br /&gt;
  AutomaticMount = yes;&lt;br /&gt;
  RemovableMedia = no;     #mówi o tym, czy urządzenie obsługuje wymienne nośniki. Dla urządzeń &lt;br /&gt;
 taśmowych, napędów DVD jak i wyjmowalnych dysków (np. dyski zewnętrzne lub pendrive) dyrektywa &lt;br /&gt;
 powinna być ustawiona na &amp;quot;yes&amp;quot;. Dla stałych dysków dyrektywa powinna być ustawiona na &amp;quot;no&amp;quot;&lt;br /&gt;
  AlwaysOpen = no;&lt;br /&gt;
 }&lt;br /&gt;
 Device {&lt;br /&gt;
  Name = &amp;quot;slawek&amp;quot;&lt;br /&gt;
  Media Type = File&lt;br /&gt;
  Archive Device = /home/bacula/backup/slawek&lt;br /&gt;
  LabelMedia = yes;&lt;br /&gt;
  AutomaticMount = yes;&lt;br /&gt;
  RemovableMedia = no;&lt;br /&gt;
  AlwaysOpen = no;&lt;br /&gt;
 }&lt;br /&gt;
 Messages {&lt;br /&gt;
  Name = Standard   #nazwa zasobu. Używana jest na wewnętrzne potrzeby demona i nie zostaje &lt;br /&gt;
 przekazana nigdzie na zewnątrz&lt;br /&gt;
  director = backup-serwer-dir = all   # Określa się tu dwie wartości: nazwę zarządcy do którego &lt;br /&gt;
 dyrektywa się tyczy oraz poziom logowania. Wartość 'all' oznacza, że raportowane będą wszystkie &lt;br /&gt;
 zmiany i statusy podczas pracy demona magazynowania.&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
Uwaga hasło &amp;quot;''haslo123''&amp;quot;  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.&lt;br /&gt;
 &lt;br /&gt;
Więcej informacji znajdziesz na polskiej stronie na temat oprogramowania bacula [http://www.bacula.pl www.bacula.pl].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;google1 style=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/google1&amp;gt;&lt;/div&gt;</summary>
		<author><name>Slawek</name></author>	</entry>

	<entry>
		<id>http://wiki.linux-user.eu/index.php/Bacula_-_backup_danych</id>
		<title>Bacula - backup danych</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux-user.eu/index.php/Bacula_-_backup_danych"/>
				<updated>2012-09-16T13:11:35Z</updated>
		
		<summary type="html">&lt;p&gt;Slawek: /* Plik bacula-dir.conf - Director */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Serwer]]&lt;br /&gt;
== Backup danych - Bacula ==&lt;br /&gt;
'''Bacula''' jest profesjonalnym systemem archiwizacji danych typu klien-serwer. Jest to darmowe oprogramowanie, które odpowiada za tworzenie, przywracania oraz weryfikację danych. Sam serwer może działać na wielu platformach Linux, FreeBSD czy Solaris. Klient baculi archiwizuje dane z wilu platform łącznie z windowsami.&lt;br /&gt;
Bacula w skrócie:&lt;br /&gt;
* budowa modularna&lt;br /&gt;
* archiwizacja danych z platform Linux, Windows, Mac OS&lt;br /&gt;
* zaplecze bazo danowe w postaci MySQL, PostgreSQL czy SQLite&lt;br /&gt;
* dostęp do oprogramowania baculi na licencjo OpenSource&lt;br /&gt;
* kopia danych na woluminach wielotaśmowych&lt;br /&gt;
* umożliwia szyfrowanie danych przepływających przez sieć&lt;br /&gt;
* archiwizuje pliki większe niż 2 GBobsługuje automatyczne zmieniarki&lt;br /&gt;
* może wykonywać skrypty przed i po archiwizazcji&lt;br /&gt;
* scentralizowany system zarządzania kopiami dla całej sieci&lt;br /&gt;
&lt;br /&gt;
== Instalacja serwera bacula ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Potrzebne oprogramowanie do działania baculi zaznaczyłem w trakcie instalacji systemu &amp;quot;''[[LAMP]] Server''&amp;quot; , 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&lt;br /&gt;
* w systemie [[CentOS]]&lt;br /&gt;
 yum install bacula-client bacula-common bacula-console bacula-director-common bacula-director-mysql bacula-docs bacula-storage-common &lt;br /&gt;
 bacula-storage-mysql mysql mysql-devel mysql-server&lt;br /&gt;
* w systemie [[Ubuntu]] Server&lt;br /&gt;
  apt-get install bacula apache2 mysql php&lt;br /&gt;
i to tak na prawdę wszyst. Uwaga jeśli chcesz aby Twoja instalacja baculi współpracowała z np bazą danych mysql to musisz instalować pakiety np ''bacula-director-mysql'', ''bacula-common-mysql''  i tak dalej jeśli chcesz przeprowadzić  instalację do współpracy z odpowiednią bazą danych  to musisz jawnie o tym powiadomić instalator podczas instalacji oprogramowania.&lt;br /&gt;
Potrzebne pakiety do poprawnego działania to:&lt;br /&gt;
* bacula-common-mysql&lt;br /&gt;
* bacula-console&lt;br /&gt;
* bacula-director-common&lt;br /&gt;
* bacula-director-mysql&lt;br /&gt;
* bacula-fd (klient)&lt;br /&gt;
* bacula-sd-mysql&lt;br /&gt;
* bacula-server&lt;br /&gt;
* dbconfig-common&lt;br /&gt;
W trakcie instalacji na systemie '''Ubuntu Server''', powyższych pakietów system pyta nas o konfiguracje bazy danych dla '''baculi''' za pomocą oprogramowania '''dbconfig-common''', oczywiście się zgadzamy &amp;quot;''Configure database for bacula-director-mysql with dbconfig-common?''&amp;quot;, po zatwierdzeniu będziemy musieli podać hasło do użytkownika root bazy danych oraz nowe hasło dla '''bacula-director-mysql'''.  Do instalacji tego oprogramowania nie potrzebowałem żadnego dodatkowego repozytorium. Po poprawnej instalacji Twój serwer archiwizacji danych powinien być gotowy do konfiguracji.&amp;lt;br /&amp;gt;&lt;br /&gt;
* W systemie [[CentOS]] po instalacji pakietów musimy skonfigurować ręcznie bazę danych i tak na początku uruchamiamy serwer mysqla &lt;br /&gt;
 service mysqld start &lt;br /&gt;
następnie &lt;br /&gt;
 /usr/bin/mysql_secure_installation &lt;br /&gt;
i ustawiamy hasło do bazy danych i inne opcje (konfiguracja serwera MySQL dostępna jest [[MySQL|tutaj]]), następnie &lt;br /&gt;
 service mysqld restart &lt;br /&gt;
i  &lt;br /&gt;
 chkconfig mysqld on  &lt;br /&gt;
tworzymy bazę danych dla baculi &lt;br /&gt;
 cd /usr/libexec/bacula/ &lt;br /&gt;
a następnie &lt;br /&gt;
 ./create_mysql_database -u root -p &lt;br /&gt;
tworzymy tabele w bazie baculi &lt;br /&gt;
 ./make_mysql_tables -u root -p &lt;br /&gt;
nadanie przywilejów dla usera bacula &lt;br /&gt;
 ./grant_mysql_privileges -u root -p &lt;br /&gt;
następnie nadajemy użytkownikowi bazy danych bacula hasło (obecnie brak hasła), logujemy się do bazy danych &lt;br /&gt;
 mysql -u root -p &lt;br /&gt;
a następnie wydajemy polecenie &lt;br /&gt;
 UPDATE mysql.user set password=password('haslo_dla_usera_bacula') where user='bacula'; &lt;br /&gt;
restartujemy bazę danych &lt;br /&gt;
 service mysqld restart&lt;br /&gt;
&lt;br /&gt;
== Konfiguracja serwera Bacula ==&lt;br /&gt;
&lt;br /&gt;
Wszystkie pliki konfiguracyjne baculi powinny znajdować się w ścieżce ''/etc/bacula/'' usługę możesz restartować zatrzymywać oraz startować za pomocą polecenia&lt;br /&gt;
 /etc/init.d/bacula-dir start/stop/restart/status &lt;br /&gt;
 /etc/init.d/bacula-sd start/stop/restart/status&lt;br /&gt;
 /etc/init.d/bacula-fd start/stop/restart/status&lt;br /&gt;
&lt;br /&gt;
== Pliki konfiguracyjne ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Plik '''bacula-dir.conf'''&amp;lt;br /&amp;gt; '''Director''' – dane zarządcy uprawnionego do używania urządzeń demona magazynowania&lt;br /&gt;
# Plik '''bacula-fd.conf'''&amp;lt;br /&amp;gt;'''Device''' – definicja urządzenia archiwizującego&lt;br /&gt;
# Plik '''bacula-sd.conf'''&amp;lt;br /&amp;gt;'''StorageDaemon''' – główna konfiguracja demona magazynowania&lt;br /&gt;
# Plik '''bconsole.conf''' - plik konsoli bacula&lt;br /&gt;
#Plik konfiguracji każdego klienta np '''slawek-backup.conf'''&lt;br /&gt;
Poniżej przedstawie przykładowe pliki konfiguracyjne z działającego serwera i pokrótce  postaram się opisać najważniejsze opcje każdego z nich.&lt;br /&gt;
&lt;br /&gt;
== Plik bacula-dir.conf - Director ==&lt;br /&gt;
Plik '''bacula-dir.conf''' zawiera sekcje&lt;br /&gt;
* Director – główna konfiguracja zarządcy,&lt;br /&gt;
* Catalog – parametry połączenia z bazą danych,&lt;br /&gt;
* Messages – sposób zapisywania dzienników (w tym powiadomienia na e-mail),&lt;br /&gt;
* Job – zadanie (backup, restore, weryfikacja, migracja, kopiowanie i inne),&lt;br /&gt;
* FileSet – opcje zadania (listy dołączeń, listy wykluczeń, sygnatury plików, kompresja programowa i inne),&lt;br /&gt;
* Storage – ustawienia dostępnych urządzeń archiwizujących,&lt;br /&gt;
* Client – definicja klientów,&lt;br /&gt;
* Pool – pula woluminów,&lt;br /&gt;
* Schedule – harmonogram zadań.&lt;br /&gt;
&lt;br /&gt;
Przykładowa konfiguracja&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
 Director {&lt;br /&gt;
 Name = ogrody-dir #nazwa zarzadcy&lt;br /&gt;
 Password = &amp;quot;qwerty123-dir&amp;quot; #haslo, uzywaja programy łączące się z zarządcy&lt;br /&gt;
 DIR Address = 192.168.2.15 #adres IP interfejsu sieciowego&lt;br /&gt;
 DIR Port = 9101 #port na którym ma nasłuchiwać zarządca&lt;br /&gt;
 QueryFile = &amp;quot;/usr/libexec/bacula/query.sql&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
 WorkingDirectory = &amp;quot;/var/spool/bacula&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
 PidDirectory = &amp;quot;/var/run&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
 Messages = DirRaport #nazwa zasobu messages, uzyta ponizej&lt;br /&gt;
 Maximum Concurrent jobs = 5 #ilość zadań, które jednocześnie może wykonywać zarządca&lt;br /&gt;
 }&lt;br /&gt;
 Catalog {&lt;br /&gt;
 Name = &amp;quot;Baza-danych-bacula&amp;quot; #nazwa zasobu, używana w zasobach client&lt;br /&gt;
 DB Name = bacula #nazwa bazy danych&lt;br /&gt;
 DB Address = 127.0.0.1 # adres bazy danych&lt;br /&gt;
 DB Port = 3306 #port na którym nasłuchuje mysql&lt;br /&gt;
 User = bacula #użytkownik do bazy danych dla baculi&lt;br /&gt;
 Password = bacula1 #hasło użytkownika baculi&lt;br /&gt;
 } &lt;br /&gt;
 Messages {&lt;br /&gt;
 Name = DirRaport #nazwa zasobu, odpowiada ona nazwie w zasobie Director opcji messages&lt;br /&gt;
 Mailcommand = &amp;quot;/usr/sbin/bsmtp -h localhost -f \&amp;quot;\(Bacula\) \&amp;lt;%r\&amp;gt;\&amp;quot; -s \&amp;quot;Bacula: %t %e of %c %l\&amp;quot; %r&amp;quot; #komenda do wysłania maila z powiadomieniem&lt;br /&gt;
 Operatorcommand = &amp;quot;/usr/sbin/bsmtp -h localhost -f \&amp;quot;\(Bacula\) \&amp;lt;%r\&amp;gt;\&amp;quot; -s \&amp;quot;Bacula: Intervention needed for %j\&amp;quot; %r&amp;quot; #mail z powiadomieniem&lt;br /&gt;
 Mail = slawek@linux-user.eu = all, !skipped #mail od kogo&lt;br /&gt;
 Operator = slawek@linux-user.eu = mount #mail od kogo&lt;br /&gt;
 Console = all, !skipped, !saved #wyświetlanie statusów i zdarzeń wartość all wyświetla wszystko&lt;br /&gt;
 Append = &amp;quot;/var/spool/bacula/log&amp;quot; = all, !skipped #ustawienie zapisywania statusów i raportów do pliku logów wartość all wszystko&lt;br /&gt;
 }&lt;br /&gt;
 Storage {&lt;br /&gt;
 Name = Dysk-Pendrive #nazwa zasobu, używana w zasobie jobs&lt;br /&gt;
 Address = 192.168.2.15 #adres IP z bacula-sd, &lt;br /&gt;
 SD Port = 9103 #port bacula-sd&lt;br /&gt;
 Password = qwerty123-sd #hasło do bacula-sd&lt;br /&gt;
 Device = &amp;quot;Urzadzenie pendrive&amp;quot; #nazwa urzadzenia, uzyte również w bacula-sd&lt;br /&gt;
 Media Type = Pliki-na-usb #nazwa typu obsługiwanych woluminów, uzywana w bacula-sd&lt;br /&gt;
 Maximum Concurrent Jobs = 1 #ilośc zadań, które jednocześnie może zrealizować urządzenie&lt;br /&gt;
 } &lt;br /&gt;
 Client {&lt;br /&gt;
 Name = backup_na_pendrive # nazwa klienta, użyta również w sekcji Job&lt;br /&gt;
 Address = 192.168.2.15 #adres IP komputera klienta, &lt;br /&gt;
 FD Port = 9102 #numer portu bacula-client, domyślnie 9102&lt;br /&gt;
 Catalog = &amp;quot;Baza-danych-bacula&amp;quot; #jakiej bazy danych użyć, nazwa z sekcji Catalog&lt;br /&gt;
 Password = &amp;quot;qwerty123-fd&amp;quot; #hasło do bacula-fd na kliencie&lt;br /&gt;
 AutoPrune = no # czyszczenie przestarzałych danych z bazy danych&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
 Name = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
 Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
 Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
 AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
 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&lt;br /&gt;
 Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
 LabelFormat = &amp;quot;serwer-ogrody-plik-poniedzialek-&amp;quot; &lt;br /&gt;
 Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
 Name = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
 Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
 Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
 AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
 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&lt;br /&gt;
 Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
 LabelFormat = &amp;quot;serwer-ogrody-plik-wtorek-&amp;quot;&lt;br /&gt;
 Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
 Name = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa puli woluminów&lt;br /&gt;
 Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
 Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
 AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
 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&lt;br /&gt;
 Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
 LabelFormat = &amp;quot;serwer-ogrody-plik-sroda-&amp;quot;&lt;br /&gt;
 Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
 Name = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
 Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
 Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
 AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
 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&lt;br /&gt;
 Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
 LabelFormat = &amp;quot;serwer-ogrody-plik-czwartek-&amp;quot;&lt;br /&gt;
 Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
 Name = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
 Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
 Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
 AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
 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&lt;br /&gt;
 Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
 LabelFormat = &amp;quot;serwer-ogrody-plik-piatek-&amp;quot;&lt;br /&gt;
 Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 FileSet {&lt;br /&gt;
 Name = &amp;quot;Baza-danych-postgresql&amp;quot; #nazwa akcji, użyta w sekcji job&lt;br /&gt;
  Include {&lt;br /&gt;
   Options {&lt;br /&gt;
    Signature = MD5 # sposób tworzenia sygnatur kopii zapasowych&lt;br /&gt;
       }&lt;br /&gt;
   File = /var/lib/pgsql/9.1/data/ #pliki do archiwizowania&lt;br /&gt;
  }&lt;br /&gt;
  Exclude { #nie archiwizuj poniższych plików&lt;br /&gt;
     File = /var/lib/pgsql/9.1/data/backup_test &lt;br /&gt;
     File = /var/lib/pgsql/9.1/data/backup_test_pg&lt;br /&gt;
  }&lt;br /&gt;
  }&lt;br /&gt;
  FileSet {&lt;br /&gt;
   Name = &amp;quot;Pliki-samby&amp;quot;&lt;br /&gt;
 Include {&lt;br /&gt;
 Options {&lt;br /&gt;
  Signature = MD5 # sposób tworzenia sygnatur kopii zapasowych&lt;br /&gt;
  }&lt;br /&gt;
 File = /home/samba/&lt;br /&gt;
 }&lt;br /&gt;
 Exclude {&lt;br /&gt;
 File = /home/samba/.*&lt;br /&gt;
 }&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-poniedzialek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
 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ę &lt;br /&gt;
 #wykonywać w dni od poniedziałku do piątku&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-wtorek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
 Run = Full tuesday at 00:04  &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-sroda&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
 Run = Full wednesday at 15:10 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-czwartek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
 Run = Full thursday at 15:10 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-piatek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
 Run = Full friday at 16:15 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-incremental-poniedzialek&amp;quot;&lt;br /&gt;
 Run = Incremental monday at 10:00 #kopia przyrostowa w poniedziałek o 10:00&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-incremental-wtorek&amp;quot;&lt;br /&gt;
 Run = Incremental tuesday at 00:23 &lt;br /&gt;
 }&lt;br /&gt;
Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-incremental-sroda&amp;quot;&lt;br /&gt;
 Run = Incremental wednesday at 15:13 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-incremental-czwartek&amp;quot;&lt;br /&gt;
 Run = Incremental thursday at 15:13 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-incremental-piatek&amp;quot;&lt;br /&gt;
 Run = Incremental friday at 16:17 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-samba-poniedzialek&amp;quot; &lt;br /&gt;
 Run = Full monday at 01:00 #backup powinien wykonać się w poniedziałek o godzinie 01:00&lt;br /&gt;
}&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-samba-wtorek&amp;quot; &lt;br /&gt;
 Run = Full tuesday at 00:06 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-samba-sroda&amp;quot; &lt;br /&gt;
 Run = Full wednesday at 00:06 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-samba-czwartek&amp;quot; &lt;br /&gt;
 Run = Full thursday at 15:11 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
 Name = &amp;quot;Cykl-codzienny-full-samba-piatek&amp;quot; &lt;br /&gt;
 Run = Full friday at 16:19 &lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-poniedzialek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-poniedzialek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-poniedzialek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-wtorek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-wtorek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-wtorek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-sroda&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-sroda&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-sroda&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-baza_danych-czwartek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-czwartek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-czwartek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-piatek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-piatek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-piatek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-poniedzialek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-poniedzialek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-poniedzialek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-wtorek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-wtorek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-wtorek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-sroda&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-sroda&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-sroda&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-samby-czwartek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-czwartek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-czwartek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-piatek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-piatek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-piatek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-full-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-full-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa  (uwaga musisz mieć poniższy skrypt w lokalizacji podanej poniżej)&lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-full-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-full-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-full-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-full-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-full-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-full-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-full-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-full-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-incremental-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-incremental-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot; 	 &lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-incremental-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-incremental-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }      &lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Backup-bazy-danych-omeda-incremental-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
 Type = Backup&lt;br /&gt;
 Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
 Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
 Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
 Schedule = &amp;quot;Cykl-codzienny-incremental-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
 Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
 FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
 Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
 # Usuwanie zbekapowanego backupu&lt;br /&gt;
 Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }       &lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Konfiguracja pliku bacula-fd.conf - File Daemon ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Director {&lt;br /&gt;
 Name = backup-serwer-dir&lt;br /&gt;
 Password = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
 Name = backup-serwer-mon&lt;br /&gt;
 Password = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
 Monitor = yes&lt;br /&gt;
 }&lt;br /&gt;
 FileDaemon {&lt;br /&gt;
 Name = backup-serwer-fd&lt;br /&gt;
 FDport = 9102&lt;br /&gt;
 WorkingDirectory = /var/lib/bacula&lt;br /&gt;
 Pid Directory = /var/run/bacula&lt;br /&gt;
 Maximum Concurrent Jobs = 20&lt;br /&gt;
 FDAddress = 127.0.0.1&lt;br /&gt;
 }&lt;br /&gt;
 Messages {&lt;br /&gt;
 Name = Standard&lt;br /&gt;
 director = backup-serwer-dir = all, !skipped, !restored&lt;br /&gt;
 } &lt;br /&gt;
Konfiguracja Storage Daemona '''bacula-sd.conf'''&lt;br /&gt;
&lt;br /&gt;
 Storage {                           &lt;br /&gt;
  Name = backup-serwer-sd   # Name – nazwa demona magazynowania. &lt;br /&gt;
 Nie jest ona powiązana z żadną inną konfiguracją usług&lt;br /&gt;
  SDPort = 9103                  # Director's port      &lt;br /&gt;
  WorkingDirectory = &amp;quot;/var/lib/bacula&amp;quot;   #Working Directory – katalog w którym serwis &lt;br /&gt;
 będzie przechowywał pliki swoich statusów. Dobrą praktyką jest zdefiniować taki katalog, &lt;br /&gt;
 który przeznaczony będzie tylko do tego celu.&lt;br /&gt;
  Pid Directory = &amp;quot;/var/run/bacula&amp;quot;  #PID Directory – lokalizacja, w której demon &lt;br /&gt;
 magazynowania będzie zapisywał plik z identyfikatorem procesu, jaki otrzymał &lt;br /&gt;
 demon przy starcie&lt;br /&gt;
  Maximum Concurrent Jobs = 2&lt;br /&gt;
  SDAddress = 192.168.0.10   #SD Address – dyrektywa definiuje adres IP interfejsu, &lt;br /&gt;
 na którym będzie nasłuchiwał demon.&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
  Name = backup-serwer-dir   # Name – nazwa zarządcy uprawnionego do używania &lt;br /&gt;
 demona magazynowania. Nazwa zarządcy określanego w tej dyrektywie musi odpowiadać &lt;br /&gt;
 nazwie zarządcy zdefiniowanej w innych plikach konfiguracyjnych.&lt;br /&gt;
  Password = &amp;quot;s7s8,.zq&amp;quot;   # Password – hasło, którym zarządca będzie autoryzował się do &lt;br /&gt;
 demona magazynowania. Podane tu hasło definiowane jest również w pliku konfiguracyjnym zarządcy.&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
  Name = backup-serwer-mon&lt;br /&gt;
  Password = &amp;quot;s7s8,.zq&amp;quot;&lt;br /&gt;
  Monitor = yes&lt;br /&gt;
 }&lt;br /&gt;
 Device {&lt;br /&gt;
  Name = &amp;quot;serwer&amp;quot; # Name – nazwa urządzenia. Ta sama nazwa jest definiowana również w &lt;br /&gt;
 pliku konfiguracyjnym zarządcy&lt;br /&gt;
  Media Type = File #typ woluminu. Określa jakiego typu nośniki obsługuje dane urządzenie.&lt;br /&gt;
  Archive Device = /home/bacula/backup/serwer  # Archive Device – lokalizacja urządzenia. &lt;br /&gt;
 Jeśli urządzeniem jest dysk, to podawany jest tutaj punkt jego montowania&lt;br /&gt;
  Device Type = File # Device Type – określa typ urządzenia. Możliwe typy urządzeń to: File – &lt;br /&gt;
 dla dysków, Tape – dla urządzeń taśmowych, Fifo – dla kolejek FIFO, DVD – dla napędów DVD-ROM&lt;br /&gt;
  LabelMedia = yes;&lt;br /&gt;
  AutomaticMount = yes;&lt;br /&gt;
  RemovableMedia = no;     #mówi o tym, czy urządzenie obsługuje wymienne nośniki. Dla urządzeń &lt;br /&gt;
 taśmowych, napędów DVD jak i wyjmowalnych dysków (np. dyski zewnętrzne lub pendrive) dyrektywa &lt;br /&gt;
 powinna być ustawiona na &amp;quot;yes&amp;quot;. Dla stałych dysków dyrektywa powinna być ustawiona na &amp;quot;no&amp;quot;&lt;br /&gt;
  AlwaysOpen = no;&lt;br /&gt;
 }&lt;br /&gt;
 Device {&lt;br /&gt;
  Name = &amp;quot;slawek&amp;quot;&lt;br /&gt;
  Media Type = File&lt;br /&gt;
  Archive Device = /home/bacula/backup/slawek&lt;br /&gt;
  LabelMedia = yes;&lt;br /&gt;
  AutomaticMount = yes;&lt;br /&gt;
  RemovableMedia = no;&lt;br /&gt;
  AlwaysOpen = no;&lt;br /&gt;
 }&lt;br /&gt;
 Messages {&lt;br /&gt;
  Name = Standard   #nazwa zasobu. Używana jest na wewnętrzne potrzeby demona i nie zostaje &lt;br /&gt;
 przekazana nigdzie na zewnątrz&lt;br /&gt;
  director = backup-serwer-dir = all   # Określa się tu dwie wartości: nazwę zarządcy do którego &lt;br /&gt;
 dyrektywa się tyczy oraz poziom logowania. Wartość 'all' oznacza, że raportowane będą wszystkie &lt;br /&gt;
 zmiany i statusy podczas pracy demona magazynowania.&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
Uwaga hasło &amp;quot;''haslo123''&amp;quot;  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.&lt;br /&gt;
 &lt;br /&gt;
Więcej informacji znajdziesz na polskiej stronie na temat oprogramowania bacula [http://www.bacula.pl www.bacula.pl].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;google1 style=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/google1&amp;gt;&lt;/div&gt;</summary>
		<author><name>Slawek</name></author>	</entry>

	<entry>
		<id>http://wiki.linux-user.eu/index.php/Bacula_-_backup_danych</id>
		<title>Bacula - backup danych</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux-user.eu/index.php/Bacula_-_backup_danych"/>
				<updated>2012-09-16T13:02:33Z</updated>
		
		<summary type="html">&lt;p&gt;Slawek: /* Plik bacula-dir.conf - Director */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Serwer]]&lt;br /&gt;
== Backup danych - Bacula ==&lt;br /&gt;
'''Bacula''' jest profesjonalnym systemem archiwizacji danych typu klien-serwer. Jest to darmowe oprogramowanie, które odpowiada za tworzenie, przywracania oraz weryfikację danych. Sam serwer może działać na wielu platformach Linux, FreeBSD czy Solaris. Klient baculi archiwizuje dane z wilu platform łącznie z windowsami.&lt;br /&gt;
Bacula w skrócie:&lt;br /&gt;
* budowa modularna&lt;br /&gt;
* archiwizacja danych z platform Linux, Windows, Mac OS&lt;br /&gt;
* zaplecze bazo danowe w postaci MySQL, PostgreSQL czy SQLite&lt;br /&gt;
* dostęp do oprogramowania baculi na licencjo OpenSource&lt;br /&gt;
* kopia danych na woluminach wielotaśmowych&lt;br /&gt;
* umożliwia szyfrowanie danych przepływających przez sieć&lt;br /&gt;
* archiwizuje pliki większe niż 2 GBobsługuje automatyczne zmieniarki&lt;br /&gt;
* może wykonywać skrypty przed i po archiwizazcji&lt;br /&gt;
* scentralizowany system zarządzania kopiami dla całej sieci&lt;br /&gt;
&lt;br /&gt;
== Instalacja serwera bacula ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Potrzebne oprogramowanie do działania baculi zaznaczyłem w trakcie instalacji systemu &amp;quot;''[[LAMP]] Server''&amp;quot; , 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&lt;br /&gt;
* w systemie [[CentOS]]&lt;br /&gt;
 yum install bacula-client bacula-common bacula-console bacula-director-common bacula-director-mysql bacula-docs bacula-storage-common &lt;br /&gt;
 bacula-storage-mysql mysql mysql-devel mysql-server&lt;br /&gt;
* w systemie [[Ubuntu]] Server&lt;br /&gt;
  apt-get install bacula apache2 mysql php&lt;br /&gt;
i to tak na prawdę wszyst. Uwaga jeśli chcesz aby Twoja instalacja baculi współpracowała z np bazą danych mysql to musisz instalować pakiety np ''bacula-director-mysql'', ''bacula-common-mysql''  i tak dalej jeśli chcesz przeprowadzić  instalację do współpracy z odpowiednią bazą danych  to musisz jawnie o tym powiadomić instalator podczas instalacji oprogramowania.&lt;br /&gt;
Potrzebne pakiety do poprawnego działania to:&lt;br /&gt;
* bacula-common-mysql&lt;br /&gt;
* bacula-console&lt;br /&gt;
* bacula-director-common&lt;br /&gt;
* bacula-director-mysql&lt;br /&gt;
* bacula-fd (klient)&lt;br /&gt;
* bacula-sd-mysql&lt;br /&gt;
* bacula-server&lt;br /&gt;
* dbconfig-common&lt;br /&gt;
W trakcie instalacji na systemie '''Ubuntu Server''', powyższych pakietów system pyta nas o konfiguracje bazy danych dla '''baculi''' za pomocą oprogramowania '''dbconfig-common''', oczywiście się zgadzamy &amp;quot;''Configure database for bacula-director-mysql with dbconfig-common?''&amp;quot;, po zatwierdzeniu będziemy musieli podać hasło do użytkownika root bazy danych oraz nowe hasło dla '''bacula-director-mysql'''.  Do instalacji tego oprogramowania nie potrzebowałem żadnego dodatkowego repozytorium. Po poprawnej instalacji Twój serwer archiwizacji danych powinien być gotowy do konfiguracji.&amp;lt;br /&amp;gt;&lt;br /&gt;
* W systemie [[CentOS]] po instalacji pakietów musimy skonfigurować ręcznie bazę danych i tak na początku uruchamiamy serwer mysqla &lt;br /&gt;
 service mysqld start &lt;br /&gt;
następnie &lt;br /&gt;
 /usr/bin/mysql_secure_installation &lt;br /&gt;
i ustawiamy hasło do bazy danych i inne opcje (konfiguracja serwera MySQL dostępna jest [[MySQL|tutaj]]), następnie &lt;br /&gt;
 service mysqld restart &lt;br /&gt;
i  &lt;br /&gt;
 chkconfig mysqld on  &lt;br /&gt;
tworzymy bazę danych dla baculi &lt;br /&gt;
 cd /usr/libexec/bacula/ &lt;br /&gt;
a następnie &lt;br /&gt;
 ./create_mysql_database -u root -p &lt;br /&gt;
tworzymy tabele w bazie baculi &lt;br /&gt;
 ./make_mysql_tables -u root -p &lt;br /&gt;
nadanie przywilejów dla usera bacula &lt;br /&gt;
 ./grant_mysql_privileges -u root -p &lt;br /&gt;
następnie nadajemy użytkownikowi bazy danych bacula hasło (obecnie brak hasła), logujemy się do bazy danych &lt;br /&gt;
 mysql -u root -p &lt;br /&gt;
a następnie wydajemy polecenie &lt;br /&gt;
 UPDATE mysql.user set password=password('haslo_dla_usera_bacula') where user='bacula'; &lt;br /&gt;
restartujemy bazę danych &lt;br /&gt;
 service mysqld restart&lt;br /&gt;
&lt;br /&gt;
== Konfiguracja serwera Bacula ==&lt;br /&gt;
&lt;br /&gt;
Wszystkie pliki konfiguracyjne baculi powinny znajdować się w ścieżce ''/etc/bacula/'' usługę możesz restartować zatrzymywać oraz startować za pomocą polecenia&lt;br /&gt;
 /etc/init.d/bacula-dir start/stop/restart/status &lt;br /&gt;
 /etc/init.d/bacula-sd start/stop/restart/status&lt;br /&gt;
 /etc/init.d/bacula-fd start/stop/restart/status&lt;br /&gt;
&lt;br /&gt;
== Pliki konfiguracyjne ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Plik '''bacula-dir.conf'''&amp;lt;br /&amp;gt; '''Director''' – dane zarządcy uprawnionego do używania urządzeń demona magazynowania&lt;br /&gt;
# Plik '''bacula-fd.conf'''&amp;lt;br /&amp;gt;'''Device''' – definicja urządzenia archiwizującego&lt;br /&gt;
# Plik '''bacula-sd.conf'''&amp;lt;br /&amp;gt;'''StorageDaemon''' – główna konfiguracja demona magazynowania&lt;br /&gt;
# Plik '''bconsole.conf''' - plik konsoli bacula&lt;br /&gt;
#Plik konfiguracji każdego klienta np '''slawek-backup.conf'''&lt;br /&gt;
Poniżej przedstawie przykładowe pliki konfiguracyjne z działającego serwera i pokrótce  postaram się opisać najważniejsze opcje każdego z nich.&lt;br /&gt;
&lt;br /&gt;
== Plik bacula-dir.conf - Director ==&lt;br /&gt;
Plik '''bacula-dir.conf''' zawiera sekcje&lt;br /&gt;
* Director – główna konfiguracja zarządcy,&lt;br /&gt;
* Catalog – parametry połączenia z bazą danych,&lt;br /&gt;
* Messages – sposób zapisywania dzienników (w tym powiadomienia na e-mail),&lt;br /&gt;
* Job – zadanie (backup, restore, weryfikacja, migracja, kopiowanie i inne),&lt;br /&gt;
* FileSet – opcje zadania (listy dołączeń, listy wykluczeń, sygnatury plików, kompresja programowa i inne),&lt;br /&gt;
* Storage – ustawienia dostępnych urządzeń archiwizujących,&lt;br /&gt;
* Client – definicja klientów,&lt;br /&gt;
* Pool – pula woluminów,&lt;br /&gt;
* Schedule – harmonogram zadań.&lt;br /&gt;
&lt;br /&gt;
Przykładowa konfiguracja&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
 Director {&lt;br /&gt;
 Name = ogrody-dir #nazwa zarzadcy&lt;br /&gt;
 Password = &amp;quot;qwerty123-dir&amp;quot; #haslo, uzywaja programy łączące się z zarządcy&lt;br /&gt;
 DIR Address = 192.168.2.15 #adres IP interfejsu sieciowego&lt;br /&gt;
 DIR Port = 9101 #port na którym ma nasłuchiwać zarządca&lt;br /&gt;
 QueryFile = &amp;quot;/usr/libexec/bacula/query.sql&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
 WorkingDirectory = &amp;quot;/var/spool/bacula&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
 PidDirectory = &amp;quot;/var/run&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
 Messages = DirRaport #nazwa zasobu messages, uzyta ponizej&lt;br /&gt;
 Maximum Concurrent jobs = 5 #ilość zadań, które jednocześnie może wykonywać zarządca&lt;br /&gt;
 }&lt;br /&gt;
 Catalog {&lt;br /&gt;
	Name = &amp;quot;Baza-danych-bacula&amp;quot; #nazwa zasobu, używana w zasobach client&lt;br /&gt;
	DB Name = bacula #nazwa bazy danych&lt;br /&gt;
	DB Address = 127.0.0.1 # adres bazy danych&lt;br /&gt;
	DB Port = 3306 #port na którym nasłuchuje mysql&lt;br /&gt;
	User = bacula #użytkownik do bazy danych dla baculi&lt;br /&gt;
	Password = bacula1 #hasło użytkownika baculi&lt;br /&gt;
 } &lt;br /&gt;
 Messages {&lt;br /&gt;
	Name = DirRaport #nazwa zasobu, odpowiada ona nazwie w zasobie Director opcji messages&lt;br /&gt;
	Mailcommand = &amp;quot;/usr/sbin/bsmtp -h localhost -f \&amp;quot;\(Bacula\) \&amp;lt;%r\&amp;gt;\&amp;quot; -s \&amp;quot;Bacula: %t %e of %c %l\&amp;quot; %r&amp;quot; #komenda do wysłania maila z powiadomieniem&lt;br /&gt;
  	Operatorcommand = &amp;quot;/usr/sbin/bsmtp -h localhost -f \&amp;quot;\(Bacula\) \&amp;lt;%r\&amp;gt;\&amp;quot; -s \&amp;quot;Bacula: Intervention needed for %j\&amp;quot; %r&amp;quot; #mail z powiadomieniem&lt;br /&gt;
  	Mail = slawek@linux-user.eu = all, !skipped #mail od kogo&lt;br /&gt;
  	Operator = slawek@linux-user.eu = mount #mail od kogo&lt;br /&gt;
  	Console = all, !skipped, !saved #wyświetlanie statusów i zdarzeń wartość all wyświetla wszystko&lt;br /&gt;
    	Append = &amp;quot;/var/spool/bacula/log&amp;quot; = all, !skipped #ustawienie zapisywania statusów i raportów do pliku logów wartość all wszystko&lt;br /&gt;
 }&lt;br /&gt;
 Storage {&lt;br /&gt;
	Name = Dysk-Pendrive #nazwa zasobu, używana w zasobie jobs&lt;br /&gt;
	Address = 192.168.2.15 #adres IP z bacula-sd, &lt;br /&gt;
	SD Port = 9103 #port bacula-sd&lt;br /&gt;
	Password = qwerty123-sd #hasło do bacula-sd&lt;br /&gt;
	Device = &amp;quot;Urzadzenie pendrive&amp;quot; #nazwa urzadzenia, uzyte również w bacula-sd&lt;br /&gt;
	Media Type = Pliki-na-usb #nazwa typu obsługiwanych woluminów, uzywana w bacula-sd&lt;br /&gt;
	Maximum Concurrent Jobs = 1 #ilośc zadań, które jednocześnie może zrealizować urządzenie&lt;br /&gt;
 } &lt;br /&gt;
 Client {&lt;br /&gt;
	Name = backup_na_pendrive # nazwa klienta, użyta również w sekcji Job&lt;br /&gt;
	Address = 192.168.2.15 #adres IP komputera klienta, &lt;br /&gt;
	FD Port = 9102 #numer portu bacula-client, domyślnie 9102&lt;br /&gt;
	Catalog = &amp;quot;Baza-danych-bacula&amp;quot; #jakiej bazy danych użyć, nazwa z sekcji Catalog&lt;br /&gt;
	Password = &amp;quot;qwerty123-fd&amp;quot; #hasło do bacula-fd na kliencie&lt;br /&gt;
	AutoPrune = no # czyszczenie przestarzałych danych z bazy danych&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
	Name = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
	Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
	Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
	AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
	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&lt;br /&gt;
	Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
	 LabelFormat = &amp;quot;serwer-ogrody-plik-poniedzialek-&amp;quot; &lt;br /&gt;
	Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
        Name = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
        Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
        Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
        AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
        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&lt;br /&gt;
        Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
         LabelFormat = &amp;quot;serwer-ogrody-plik-wtorek-&amp;quot;&lt;br /&gt;
        Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
        Name = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa puli woluminów&lt;br /&gt;
        Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
        Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
        AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
        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&lt;br /&gt;
        Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
         LabelFormat = &amp;quot;serwer-ogrody-plik-sroda-&amp;quot;&lt;br /&gt;
        Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
        Name = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
        Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
        Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
        AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
        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&lt;br /&gt;
        Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
         LabelFormat = &amp;quot;serwer-ogrody-plik-czwartek-&amp;quot;&lt;br /&gt;
        Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
        Name = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
        Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
        Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
        AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
        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&lt;br /&gt;
        Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
         LabelFormat = &amp;quot;serwer-ogrody-plik-piatek-&amp;quot;&lt;br /&gt;
        Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 FileSet {&lt;br /&gt;
	Name = &amp;quot;Baza-danych-postgresql&amp;quot; #nazwa akcji, użyta w sekcji job&lt;br /&gt;
	Include {&lt;br /&gt;
		Options {&lt;br /&gt;
			Signature = MD5 # sposób tworzenia sygnatur kopii zapasowych&lt;br /&gt;
			}&lt;br /&gt;
		File = /var/lib/pgsql/9.1/data/ #pliki do archiwizowania&lt;br /&gt;
		}&lt;br /&gt;
	Exclude { #nie archiwizuj poniższych plików&lt;br /&gt;
  	    File = /var/lib/pgsql/9.1/data/backup_test &lt;br /&gt;
	    File = /var/lib/pgsql/9.1/data/backup_test_pg&lt;br /&gt;
  }&lt;br /&gt;
 }&lt;br /&gt;
 FileSet {&lt;br /&gt;
	Name = &amp;quot;Pliki-samby&amp;quot;&lt;br /&gt;
	Include {&lt;br /&gt;
		Options {&lt;br /&gt;
                        Signature = MD5 # sposób tworzenia sygnatur kopii zapasowych&lt;br /&gt;
                        }&lt;br /&gt;
                File = /home/samba/&lt;br /&gt;
                }&lt;br /&gt;
	Exclude {&lt;br /&gt;
		File = /home/samba/.*&lt;br /&gt;
		}&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
	Name = &amp;quot;Cykl-codzienny-full-poniedzialek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
	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ę &lt;br /&gt;
 #wykonywać w dni od poniedziałku do piątku&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-wtorek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
        Run = Full tuesday at 00:04  &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-sroda&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
        Run = Full wednesday at 15:10 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-czwartek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
        Run = Full thursday at 15:10 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-piatek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
        Run = Full friday at 16:15 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-incremental-poniedzialek&amp;quot;&lt;br /&gt;
        Run = Incremental monday at 10:00 #kopia przyrostowa w poniedziałek o 10:00&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-incremental-wtorek&amp;quot;&lt;br /&gt;
        Run = Incremental tuesday at 00:23 &lt;br /&gt;
 }&lt;br /&gt;
Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-incremental-sroda&amp;quot;&lt;br /&gt;
        Run = Incremental wednesday at 15:13 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-incremental-czwartek&amp;quot;&lt;br /&gt;
        Run = Incremental thursday at 15:13 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-incremental-piatek&amp;quot;&lt;br /&gt;
        Run = Incremental friday at 16:17 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-samba-poniedzialek&amp;quot; &lt;br /&gt;
        Run = Full monday at 01:00 #backup powinien wykonać się w poniedziałek o godzinie 01:00&lt;br /&gt;
}&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-samba-wtorek&amp;quot; &lt;br /&gt;
        Run = Full tuesday at 00:06 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-samba-sroda&amp;quot; &lt;br /&gt;
        Run = Full wednesday at 00:06 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-samba-czwartek&amp;quot; &lt;br /&gt;
        Run = Full thursday at 15:11 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-samba-piatek&amp;quot; &lt;br /&gt;
        Run = Full friday at 16:19 &lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-poniedzialek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-poniedzialek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-poniedzialek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-wtorek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-wtorek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-wtorek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-sroda&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-sroda&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-sroda&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-baza_danych-czwartek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-czwartek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-czwartek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-piatek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-piatek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-piatek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-poniedzialek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-poniedzialek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-poniedzialek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-wtorek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-wtorek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-wtorek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-sroda&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-sroda&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-sroda&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-samby-czwartek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-czwartek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-czwartek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-piatek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-piatek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-piatek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
	Name = &amp;quot;Backup-bazy-danych-omeda-full-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
	Type = Backup&lt;br /&gt;
	Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
	Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
	Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
	Schedule = &amp;quot;Cykl-codzienny-full-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
	Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
	FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
	# skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
	Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
	# Usuwanie zbekapowanego backupu&lt;br /&gt;
	Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-full-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
	# Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-full-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
         }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-full-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-full-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
	# skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
	Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
	# Usuwanie zbekapowanego backupu&lt;br /&gt;
	Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot; &lt;br /&gt;
	 &lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }      &lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }       &lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Konfiguracja pliku bacula-fd.conf - File Daemon ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Director {&lt;br /&gt;
 Name = backup-serwer-dir&lt;br /&gt;
 Password = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
 Name = backup-serwer-mon&lt;br /&gt;
 Password = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
 Monitor = yes&lt;br /&gt;
 }&lt;br /&gt;
 FileDaemon {&lt;br /&gt;
 Name = backup-serwer-fd&lt;br /&gt;
 FDport = 9102&lt;br /&gt;
 WorkingDirectory = /var/lib/bacula&lt;br /&gt;
 Pid Directory = /var/run/bacula&lt;br /&gt;
 Maximum Concurrent Jobs = 20&lt;br /&gt;
 FDAddress = 127.0.0.1&lt;br /&gt;
 }&lt;br /&gt;
 Messages {&lt;br /&gt;
 Name = Standard&lt;br /&gt;
 director = backup-serwer-dir = all, !skipped, !restored&lt;br /&gt;
 } &lt;br /&gt;
Konfiguracja Storage Daemona '''bacula-sd.conf'''&lt;br /&gt;
&lt;br /&gt;
 Storage {                           &lt;br /&gt;
  Name = backup-serwer-sd   # Name – nazwa demona magazynowania. &lt;br /&gt;
 Nie jest ona powiązana z żadną inną konfiguracją usług&lt;br /&gt;
  SDPort = 9103                  # Director's port      &lt;br /&gt;
  WorkingDirectory = &amp;quot;/var/lib/bacula&amp;quot;   #Working Directory – katalog w którym serwis &lt;br /&gt;
 będzie przechowywał pliki swoich statusów. Dobrą praktyką jest zdefiniować taki katalog, &lt;br /&gt;
 który przeznaczony będzie tylko do tego celu.&lt;br /&gt;
  Pid Directory = &amp;quot;/var/run/bacula&amp;quot;  #PID Directory – lokalizacja, w której demon &lt;br /&gt;
 magazynowania będzie zapisywał plik z identyfikatorem procesu, jaki otrzymał &lt;br /&gt;
 demon przy starcie&lt;br /&gt;
  Maximum Concurrent Jobs = 2&lt;br /&gt;
  SDAddress = 192.168.0.10   #SD Address – dyrektywa definiuje adres IP interfejsu, &lt;br /&gt;
 na którym będzie nasłuchiwał demon.&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
  Name = backup-serwer-dir   # Name – nazwa zarządcy uprawnionego do używania &lt;br /&gt;
 demona magazynowania. Nazwa zarządcy określanego w tej dyrektywie musi odpowiadać &lt;br /&gt;
 nazwie zarządcy zdefiniowanej w innych plikach konfiguracyjnych.&lt;br /&gt;
  Password = &amp;quot;s7s8,.zq&amp;quot;   # Password – hasło, którym zarządca będzie autoryzował się do &lt;br /&gt;
 demona magazynowania. Podane tu hasło definiowane jest również w pliku konfiguracyjnym zarządcy.&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
  Name = backup-serwer-mon&lt;br /&gt;
  Password = &amp;quot;s7s8,.zq&amp;quot;&lt;br /&gt;
  Monitor = yes&lt;br /&gt;
 }&lt;br /&gt;
 Device {&lt;br /&gt;
  Name = &amp;quot;serwer&amp;quot; # Name – nazwa urządzenia. Ta sama nazwa jest definiowana również w &lt;br /&gt;
 pliku konfiguracyjnym zarządcy&lt;br /&gt;
  Media Type = File #typ woluminu. Określa jakiego typu nośniki obsługuje dane urządzenie.&lt;br /&gt;
  Archive Device = /home/bacula/backup/serwer  # Archive Device – lokalizacja urządzenia. &lt;br /&gt;
 Jeśli urządzeniem jest dysk, to podawany jest tutaj punkt jego montowania&lt;br /&gt;
  Device Type = File # Device Type – określa typ urządzenia. Możliwe typy urządzeń to: File – &lt;br /&gt;
 dla dysków, Tape – dla urządzeń taśmowych, Fifo – dla kolejek FIFO, DVD – dla napędów DVD-ROM&lt;br /&gt;
  LabelMedia = yes;&lt;br /&gt;
  AutomaticMount = yes;&lt;br /&gt;
  RemovableMedia = no;     #mówi o tym, czy urządzenie obsługuje wymienne nośniki. Dla urządzeń &lt;br /&gt;
 taśmowych, napędów DVD jak i wyjmowalnych dysków (np. dyski zewnętrzne lub pendrive) dyrektywa &lt;br /&gt;
 powinna być ustawiona na &amp;quot;yes&amp;quot;. Dla stałych dysków dyrektywa powinna być ustawiona na &amp;quot;no&amp;quot;&lt;br /&gt;
  AlwaysOpen = no;&lt;br /&gt;
 }&lt;br /&gt;
 Device {&lt;br /&gt;
  Name = &amp;quot;slawek&amp;quot;&lt;br /&gt;
  Media Type = File&lt;br /&gt;
  Archive Device = /home/bacula/backup/slawek&lt;br /&gt;
  LabelMedia = yes;&lt;br /&gt;
  AutomaticMount = yes;&lt;br /&gt;
  RemovableMedia = no;&lt;br /&gt;
  AlwaysOpen = no;&lt;br /&gt;
 }&lt;br /&gt;
 Messages {&lt;br /&gt;
  Name = Standard   #nazwa zasobu. Używana jest na wewnętrzne potrzeby demona i nie zostaje &lt;br /&gt;
 przekazana nigdzie na zewnątrz&lt;br /&gt;
  director = backup-serwer-dir = all   # Określa się tu dwie wartości: nazwę zarządcy do którego &lt;br /&gt;
 dyrektywa się tyczy oraz poziom logowania. Wartość 'all' oznacza, że raportowane będą wszystkie &lt;br /&gt;
 zmiany i statusy podczas pracy demona magazynowania.&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
Uwaga hasło &amp;quot;''haslo123''&amp;quot;  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.&lt;br /&gt;
 &lt;br /&gt;
Więcej informacji znajdziesz na polskiej stronie na temat oprogramowania bacula [http://www.bacula.pl www.bacula.pl].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;google1 style=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/google1&amp;gt;&lt;/div&gt;</summary>
		<author><name>Slawek</name></author>	</entry>

	<entry>
		<id>http://wiki.linux-user.eu/index.php/Bacula_-_backup_danych</id>
		<title>Bacula - backup danych</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux-user.eu/index.php/Bacula_-_backup_danych"/>
				<updated>2012-09-16T13:00:13Z</updated>
		
		<summary type="html">&lt;p&gt;Slawek: /* Plik bacula-dir.conf - Director */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Serwer]]&lt;br /&gt;
== Backup danych - Bacula ==&lt;br /&gt;
'''Bacula''' jest profesjonalnym systemem archiwizacji danych typu klien-serwer. Jest to darmowe oprogramowanie, które odpowiada za tworzenie, przywracania oraz weryfikację danych. Sam serwer może działać na wielu platformach Linux, FreeBSD czy Solaris. Klient baculi archiwizuje dane z wilu platform łącznie z windowsami.&lt;br /&gt;
Bacula w skrócie:&lt;br /&gt;
* budowa modularna&lt;br /&gt;
* archiwizacja danych z platform Linux, Windows, Mac OS&lt;br /&gt;
* zaplecze bazo danowe w postaci MySQL, PostgreSQL czy SQLite&lt;br /&gt;
* dostęp do oprogramowania baculi na licencjo OpenSource&lt;br /&gt;
* kopia danych na woluminach wielotaśmowych&lt;br /&gt;
* umożliwia szyfrowanie danych przepływających przez sieć&lt;br /&gt;
* archiwizuje pliki większe niż 2 GBobsługuje automatyczne zmieniarki&lt;br /&gt;
* może wykonywać skrypty przed i po archiwizazcji&lt;br /&gt;
* scentralizowany system zarządzania kopiami dla całej sieci&lt;br /&gt;
&lt;br /&gt;
== Instalacja serwera bacula ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Potrzebne oprogramowanie do działania baculi zaznaczyłem w trakcie instalacji systemu &amp;quot;''[[LAMP]] Server''&amp;quot; , 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&lt;br /&gt;
* w systemie [[CentOS]]&lt;br /&gt;
 yum install bacula-client bacula-common bacula-console bacula-director-common bacula-director-mysql bacula-docs bacula-storage-common &lt;br /&gt;
 bacula-storage-mysql mysql mysql-devel mysql-server&lt;br /&gt;
* w systemie [[Ubuntu]] Server&lt;br /&gt;
  apt-get install bacula apache2 mysql php&lt;br /&gt;
i to tak na prawdę wszyst. Uwaga jeśli chcesz aby Twoja instalacja baculi współpracowała z np bazą danych mysql to musisz instalować pakiety np ''bacula-director-mysql'', ''bacula-common-mysql''  i tak dalej jeśli chcesz przeprowadzić  instalację do współpracy z odpowiednią bazą danych  to musisz jawnie o tym powiadomić instalator podczas instalacji oprogramowania.&lt;br /&gt;
Potrzebne pakiety do poprawnego działania to:&lt;br /&gt;
* bacula-common-mysql&lt;br /&gt;
* bacula-console&lt;br /&gt;
* bacula-director-common&lt;br /&gt;
* bacula-director-mysql&lt;br /&gt;
* bacula-fd (klient)&lt;br /&gt;
* bacula-sd-mysql&lt;br /&gt;
* bacula-server&lt;br /&gt;
* dbconfig-common&lt;br /&gt;
W trakcie instalacji na systemie '''Ubuntu Server''', powyższych pakietów system pyta nas o konfiguracje bazy danych dla '''baculi''' za pomocą oprogramowania '''dbconfig-common''', oczywiście się zgadzamy &amp;quot;''Configure database for bacula-director-mysql with dbconfig-common?''&amp;quot;, po zatwierdzeniu będziemy musieli podać hasło do użytkownika root bazy danych oraz nowe hasło dla '''bacula-director-mysql'''.  Do instalacji tego oprogramowania nie potrzebowałem żadnego dodatkowego repozytorium. Po poprawnej instalacji Twój serwer archiwizacji danych powinien być gotowy do konfiguracji.&amp;lt;br /&amp;gt;&lt;br /&gt;
* W systemie [[CentOS]] po instalacji pakietów musimy skonfigurować ręcznie bazę danych i tak na początku uruchamiamy serwer mysqla &lt;br /&gt;
 service mysqld start &lt;br /&gt;
następnie &lt;br /&gt;
 /usr/bin/mysql_secure_installation &lt;br /&gt;
i ustawiamy hasło do bazy danych i inne opcje (konfiguracja serwera MySQL dostępna jest [[MySQL|tutaj]]), następnie &lt;br /&gt;
 service mysqld restart &lt;br /&gt;
i  &lt;br /&gt;
 chkconfig mysqld on  &lt;br /&gt;
tworzymy bazę danych dla baculi &lt;br /&gt;
 cd /usr/libexec/bacula/ &lt;br /&gt;
a następnie &lt;br /&gt;
 ./create_mysql_database -u root -p &lt;br /&gt;
tworzymy tabele w bazie baculi &lt;br /&gt;
 ./make_mysql_tables -u root -p &lt;br /&gt;
nadanie przywilejów dla usera bacula &lt;br /&gt;
 ./grant_mysql_privileges -u root -p &lt;br /&gt;
następnie nadajemy użytkownikowi bazy danych bacula hasło (obecnie brak hasła), logujemy się do bazy danych &lt;br /&gt;
 mysql -u root -p &lt;br /&gt;
a następnie wydajemy polecenie &lt;br /&gt;
 UPDATE mysql.user set password=password('haslo_dla_usera_bacula') where user='bacula'; &lt;br /&gt;
restartujemy bazę danych &lt;br /&gt;
 service mysqld restart&lt;br /&gt;
&lt;br /&gt;
== Konfiguracja serwera Bacula ==&lt;br /&gt;
&lt;br /&gt;
Wszystkie pliki konfiguracyjne baculi powinny znajdować się w ścieżce ''/etc/bacula/'' usługę możesz restartować zatrzymywać oraz startować za pomocą polecenia&lt;br /&gt;
 /etc/init.d/bacula-dir start/stop/restart/status &lt;br /&gt;
 /etc/init.d/bacula-sd start/stop/restart/status&lt;br /&gt;
 /etc/init.d/bacula-fd start/stop/restart/status&lt;br /&gt;
&lt;br /&gt;
== Pliki konfiguracyjne ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Plik '''bacula-dir.conf'''&amp;lt;br /&amp;gt; '''Director''' – dane zarządcy uprawnionego do używania urządzeń demona magazynowania&lt;br /&gt;
# Plik '''bacula-fd.conf'''&amp;lt;br /&amp;gt;'''Device''' – definicja urządzenia archiwizującego&lt;br /&gt;
# Plik '''bacula-sd.conf'''&amp;lt;br /&amp;gt;'''StorageDaemon''' – główna konfiguracja demona magazynowania&lt;br /&gt;
# Plik '''bconsole.conf''' - plik konsoli bacula&lt;br /&gt;
#Plik konfiguracji każdego klienta np '''slawek-backup.conf'''&lt;br /&gt;
Poniżej przedstawie przykładowe pliki konfiguracyjne z działającego serwera i pokrótce  postaram się opisać najważniejsze opcje każdego z nich.&lt;br /&gt;
&lt;br /&gt;
== Plik bacula-dir.conf - Director ==&lt;br /&gt;
Plik '''bacula-dir.conf''' zawiera sekcje&lt;br /&gt;
* Director – główna konfiguracja zarządcy,&lt;br /&gt;
* Catalog – parametry połączenia z bazą danych,&lt;br /&gt;
* Messages – sposób zapisywania dzienników (w tym powiadomienia na e-mail),&lt;br /&gt;
* Job – zadanie (backup, restore, weryfikacja, migracja, kopiowanie i inne),&lt;br /&gt;
* FileSet – opcje zadania (listy dołączeń, listy wykluczeń, sygnatury plików, kompresja programowa i inne),&lt;br /&gt;
* Storage – ustawienia dostępnych urządzeń archiwizujących,&lt;br /&gt;
* Client – definicja klientów,&lt;br /&gt;
* Pool – pula woluminów,&lt;br /&gt;
* Schedule – harmonogram zadań.&lt;br /&gt;
&lt;br /&gt;
Przykładowa konfiguracja&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ref&amp;gt;Director {&lt;br /&gt;
	 Name = ogrody-dir #nazwa zarzadcy&lt;br /&gt;
	 Password = &amp;quot;qwerty123-dir&amp;quot; #haslo, uzywaja programy łączące się z zarządcy&lt;br /&gt;
	 DIR Address = 192.168.2.15 #adres IP interfejsu sieciowego&lt;br /&gt;
	 DIR Port = 9101 #port na którym ma nasłuchiwać zarządca&lt;br /&gt;
	 QueryFile = &amp;quot;/usr/libexec/bacula/query.sql&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
         WorkingDirectory = &amp;quot;/var/spool/bacula&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
         PidDirectory = &amp;quot;/var/run&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
	 Messages = DirRaport #nazwa zasobu messages, uzyta ponizej&lt;br /&gt;
	 Maximum Concurrent jobs = 5 #ilość zadań, które jednocześnie może wykonywać zarządca&lt;br /&gt;
}&amp;lt;/ref&amp;gt;&lt;br /&gt;
 Catalog {&lt;br /&gt;
	Name = &amp;quot;Baza-danych-bacula&amp;quot; #nazwa zasobu, używana w zasobach client&lt;br /&gt;
	DB Name = bacula #nazwa bazy danych&lt;br /&gt;
	DB Address = 127.0.0.1 # adres bazy danych&lt;br /&gt;
	DB Port = 3306 #port na którym nasłuchuje mysql&lt;br /&gt;
	User = bacula #użytkownik do bazy danych dla baculi&lt;br /&gt;
	Password = bacula1 #hasło użytkownika baculi&lt;br /&gt;
 } &lt;br /&gt;
 Messages {&lt;br /&gt;
	Name = DirRaport #nazwa zasobu, odpowiada ona nazwie w zasobie Director opcji messages&lt;br /&gt;
	Mailcommand = &amp;quot;/usr/sbin/bsmtp -h localhost -f \&amp;quot;\(Bacula\) \&amp;lt;%r\&amp;gt;\&amp;quot; -s \&amp;quot;Bacula: %t %e of %c %l\&amp;quot; %r&amp;quot; #komenda do wysłania maila z powiadomieniem&lt;br /&gt;
  	Operatorcommand = &amp;quot;/usr/sbin/bsmtp -h localhost -f \&amp;quot;\(Bacula\) \&amp;lt;%r\&amp;gt;\&amp;quot; -s \&amp;quot;Bacula: Intervention needed for %j\&amp;quot; %r&amp;quot; #mail z powiadomieniem&lt;br /&gt;
  	Mail = slawek@linux-user.eu = all, !skipped #mail od kogo&lt;br /&gt;
  	Operator = slawek@linux-user.eu = mount #mail od kogo&lt;br /&gt;
  	Console = all, !skipped, !saved #wyświetlanie statusów i zdarzeń wartość all wyświetla wszystko&lt;br /&gt;
    	Append = &amp;quot;/var/spool/bacula/log&amp;quot; = all, !skipped #ustawienie zapisywania statusów i raportów do pliku logów wartość all wszystko&lt;br /&gt;
 }&lt;br /&gt;
 Storage {&lt;br /&gt;
	Name = Dysk-Pendrive #nazwa zasobu, używana w zasobie jobs&lt;br /&gt;
	Address = 192.168.2.15 #adres IP z bacula-sd, &lt;br /&gt;
	SD Port = 9103 #port bacula-sd&lt;br /&gt;
	Password = qwerty123-sd #hasło do bacula-sd&lt;br /&gt;
	Device = &amp;quot;Urzadzenie pendrive&amp;quot; #nazwa urzadzenia, uzyte również w bacula-sd&lt;br /&gt;
	Media Type = Pliki-na-usb #nazwa typu obsługiwanych woluminów, uzywana w bacula-sd&lt;br /&gt;
	Maximum Concurrent Jobs = 1 #ilośc zadań, które jednocześnie może zrealizować urządzenie&lt;br /&gt;
 } &lt;br /&gt;
 Client {&lt;br /&gt;
	Name = backup_na_pendrive # nazwa klienta, użyta również w sekcji Job&lt;br /&gt;
	Address = 192.168.2.15 #adres IP komputera klienta, &lt;br /&gt;
	FD Port = 9102 #numer portu bacula-client, domyślnie 9102&lt;br /&gt;
	Catalog = &amp;quot;Baza-danych-bacula&amp;quot; #jakiej bazy danych użyć, nazwa z sekcji Catalog&lt;br /&gt;
	Password = &amp;quot;qwerty123-fd&amp;quot; #hasło do bacula-fd na kliencie&lt;br /&gt;
	AutoPrune = no # czyszczenie przestarzałych danych z bazy danych&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
	Name = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
	Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
	Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
	AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
	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&lt;br /&gt;
	Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
	 LabelFormat = &amp;quot;serwer-ogrody-plik-poniedzialek-&amp;quot; &lt;br /&gt;
	Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
        Name = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
        Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
        Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
        AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
        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&lt;br /&gt;
        Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
         LabelFormat = &amp;quot;serwer-ogrody-plik-wtorek-&amp;quot;&lt;br /&gt;
        Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
        Name = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa puli woluminów&lt;br /&gt;
        Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
        Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
        AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
        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&lt;br /&gt;
        Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
         LabelFormat = &amp;quot;serwer-ogrody-plik-sroda-&amp;quot;&lt;br /&gt;
        Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
        Name = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
        Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
        Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
        AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
        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&lt;br /&gt;
        Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
         LabelFormat = &amp;quot;serwer-ogrody-plik-czwartek-&amp;quot;&lt;br /&gt;
        Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
        Name = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
        Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
        Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
        AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
        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&lt;br /&gt;
        Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
         LabelFormat = &amp;quot;serwer-ogrody-plik-piatek-&amp;quot;&lt;br /&gt;
        Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 FileSet {&lt;br /&gt;
	Name = &amp;quot;Baza-danych-postgresql&amp;quot; #nazwa akcji, użyta w sekcji job&lt;br /&gt;
	Include {&lt;br /&gt;
		Options {&lt;br /&gt;
			Signature = MD5 # sposób tworzenia sygnatur kopii zapasowych&lt;br /&gt;
			}&lt;br /&gt;
		File = /var/lib/pgsql/9.1/data/ #pliki do archiwizowania&lt;br /&gt;
		}&lt;br /&gt;
	Exclude { #nie archiwizuj poniższych plików&lt;br /&gt;
  	    File = /var/lib/pgsql/9.1/data/backup_test &lt;br /&gt;
	    File = /var/lib/pgsql/9.1/data/backup_test_pg&lt;br /&gt;
  }&lt;br /&gt;
 }&lt;br /&gt;
 FileSet {&lt;br /&gt;
	Name = &amp;quot;Pliki-samby&amp;quot;&lt;br /&gt;
	Include {&lt;br /&gt;
		Options {&lt;br /&gt;
                        Signature = MD5 # sposób tworzenia sygnatur kopii zapasowych&lt;br /&gt;
                        }&lt;br /&gt;
                File = /home/samba/&lt;br /&gt;
                }&lt;br /&gt;
	Exclude {&lt;br /&gt;
		File = /home/samba/.*&lt;br /&gt;
		}&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
	Name = &amp;quot;Cykl-codzienny-full-poniedzialek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
	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ę &lt;br /&gt;
 #wykonywać w dni od poniedziałku do piątku&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-wtorek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
        Run = Full tuesday at 00:04  &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-sroda&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
        Run = Full wednesday at 15:10 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-czwartek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
        Run = Full thursday at 15:10 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-piatek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
        Run = Full friday at 16:15 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-incremental-poniedzialek&amp;quot;&lt;br /&gt;
        Run = Incremental monday at 10:00 #kopia przyrostowa w poniedziałek o 10:00&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-incremental-wtorek&amp;quot;&lt;br /&gt;
        Run = Incremental tuesday at 00:23 &lt;br /&gt;
 }&lt;br /&gt;
Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-incremental-sroda&amp;quot;&lt;br /&gt;
        Run = Incremental wednesday at 15:13 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-incremental-czwartek&amp;quot;&lt;br /&gt;
        Run = Incremental thursday at 15:13 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-incremental-piatek&amp;quot;&lt;br /&gt;
        Run = Incremental friday at 16:17 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-samba-poniedzialek&amp;quot; &lt;br /&gt;
        Run = Full monday at 01:00 #backup powinien wykonać się w poniedziałek o godzinie 01:00&lt;br /&gt;
}&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-samba-wtorek&amp;quot; &lt;br /&gt;
        Run = Full tuesday at 00:06 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-samba-sroda&amp;quot; &lt;br /&gt;
        Run = Full wednesday at 00:06 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-samba-czwartek&amp;quot; &lt;br /&gt;
        Run = Full thursday at 15:11 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-samba-piatek&amp;quot; &lt;br /&gt;
        Run = Full friday at 16:19 &lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-poniedzialek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-poniedzialek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-poniedzialek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-wtorek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-wtorek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-wtorek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-sroda&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-sroda&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-sroda&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-baza_danych-czwartek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-czwartek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-czwartek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-piatek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-piatek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-piatek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-poniedzialek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-poniedzialek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-poniedzialek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-wtorek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-wtorek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-wtorek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-sroda&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-sroda&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-sroda&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-samby-czwartek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-czwartek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-czwartek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-piatek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-piatek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-piatek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
	Name = &amp;quot;Backup-bazy-danych-omeda-full-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
	Type = Backup&lt;br /&gt;
	Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
	Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
	Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
	Schedule = &amp;quot;Cykl-codzienny-full-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
	Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
	FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
	# skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
	Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
	# Usuwanie zbekapowanego backupu&lt;br /&gt;
	Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-full-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
	# Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-full-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
         }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-full-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-full-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
	# skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
	Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
	# Usuwanie zbekapowanego backupu&lt;br /&gt;
	Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot; &lt;br /&gt;
	 &lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }      &lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }       &lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Konfiguracja pliku bacula-fd.conf - File Daemon ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Director {&lt;br /&gt;
 Name = backup-serwer-dir&lt;br /&gt;
 Password = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
 Name = backup-serwer-mon&lt;br /&gt;
 Password = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
 Monitor = yes&lt;br /&gt;
 }&lt;br /&gt;
 FileDaemon {&lt;br /&gt;
 Name = backup-serwer-fd&lt;br /&gt;
 FDport = 9102&lt;br /&gt;
 WorkingDirectory = /var/lib/bacula&lt;br /&gt;
 Pid Directory = /var/run/bacula&lt;br /&gt;
 Maximum Concurrent Jobs = 20&lt;br /&gt;
 FDAddress = 127.0.0.1&lt;br /&gt;
 }&lt;br /&gt;
 Messages {&lt;br /&gt;
 Name = Standard&lt;br /&gt;
 director = backup-serwer-dir = all, !skipped, !restored&lt;br /&gt;
 } &lt;br /&gt;
Konfiguracja Storage Daemona '''bacula-sd.conf'''&lt;br /&gt;
&lt;br /&gt;
 Storage {                           &lt;br /&gt;
  Name = backup-serwer-sd   # Name – nazwa demona magazynowania. &lt;br /&gt;
 Nie jest ona powiązana z żadną inną konfiguracją usług&lt;br /&gt;
  SDPort = 9103                  # Director's port      &lt;br /&gt;
  WorkingDirectory = &amp;quot;/var/lib/bacula&amp;quot;   #Working Directory – katalog w którym serwis &lt;br /&gt;
 będzie przechowywał pliki swoich statusów. Dobrą praktyką jest zdefiniować taki katalog, &lt;br /&gt;
 który przeznaczony będzie tylko do tego celu.&lt;br /&gt;
  Pid Directory = &amp;quot;/var/run/bacula&amp;quot;  #PID Directory – lokalizacja, w której demon &lt;br /&gt;
 magazynowania będzie zapisywał plik z identyfikatorem procesu, jaki otrzymał &lt;br /&gt;
 demon przy starcie&lt;br /&gt;
  Maximum Concurrent Jobs = 2&lt;br /&gt;
  SDAddress = 192.168.0.10   #SD Address – dyrektywa definiuje adres IP interfejsu, &lt;br /&gt;
 na którym będzie nasłuchiwał demon.&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
  Name = backup-serwer-dir   # Name – nazwa zarządcy uprawnionego do używania &lt;br /&gt;
 demona magazynowania. Nazwa zarządcy określanego w tej dyrektywie musi odpowiadać &lt;br /&gt;
 nazwie zarządcy zdefiniowanej w innych plikach konfiguracyjnych.&lt;br /&gt;
  Password = &amp;quot;s7s8,.zq&amp;quot;   # Password – hasło, którym zarządca będzie autoryzował się do &lt;br /&gt;
 demona magazynowania. Podane tu hasło definiowane jest również w pliku konfiguracyjnym zarządcy.&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
  Name = backup-serwer-mon&lt;br /&gt;
  Password = &amp;quot;s7s8,.zq&amp;quot;&lt;br /&gt;
  Monitor = yes&lt;br /&gt;
 }&lt;br /&gt;
 Device {&lt;br /&gt;
  Name = &amp;quot;serwer&amp;quot; # Name – nazwa urządzenia. Ta sama nazwa jest definiowana również w &lt;br /&gt;
 pliku konfiguracyjnym zarządcy&lt;br /&gt;
  Media Type = File #typ woluminu. Określa jakiego typu nośniki obsługuje dane urządzenie.&lt;br /&gt;
  Archive Device = /home/bacula/backup/serwer  # Archive Device – lokalizacja urządzenia. &lt;br /&gt;
 Jeśli urządzeniem jest dysk, to podawany jest tutaj punkt jego montowania&lt;br /&gt;
  Device Type = File # Device Type – określa typ urządzenia. Możliwe typy urządzeń to: File – &lt;br /&gt;
 dla dysków, Tape – dla urządzeń taśmowych, Fifo – dla kolejek FIFO, DVD – dla napędów DVD-ROM&lt;br /&gt;
  LabelMedia = yes;&lt;br /&gt;
  AutomaticMount = yes;&lt;br /&gt;
  RemovableMedia = no;     #mówi o tym, czy urządzenie obsługuje wymienne nośniki. Dla urządzeń &lt;br /&gt;
 taśmowych, napędów DVD jak i wyjmowalnych dysków (np. dyski zewnętrzne lub pendrive) dyrektywa &lt;br /&gt;
 powinna być ustawiona na &amp;quot;yes&amp;quot;. Dla stałych dysków dyrektywa powinna być ustawiona na &amp;quot;no&amp;quot;&lt;br /&gt;
  AlwaysOpen = no;&lt;br /&gt;
 }&lt;br /&gt;
 Device {&lt;br /&gt;
  Name = &amp;quot;slawek&amp;quot;&lt;br /&gt;
  Media Type = File&lt;br /&gt;
  Archive Device = /home/bacula/backup/slawek&lt;br /&gt;
  LabelMedia = yes;&lt;br /&gt;
  AutomaticMount = yes;&lt;br /&gt;
  RemovableMedia = no;&lt;br /&gt;
  AlwaysOpen = no;&lt;br /&gt;
 }&lt;br /&gt;
 Messages {&lt;br /&gt;
  Name = Standard   #nazwa zasobu. Używana jest na wewnętrzne potrzeby demona i nie zostaje &lt;br /&gt;
 przekazana nigdzie na zewnątrz&lt;br /&gt;
  director = backup-serwer-dir = all   # Określa się tu dwie wartości: nazwę zarządcy do którego &lt;br /&gt;
 dyrektywa się tyczy oraz poziom logowania. Wartość 'all' oznacza, że raportowane będą wszystkie &lt;br /&gt;
 zmiany i statusy podczas pracy demona magazynowania.&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
Uwaga hasło &amp;quot;''haslo123''&amp;quot;  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.&lt;br /&gt;
 &lt;br /&gt;
Więcej informacji znajdziesz na polskiej stronie na temat oprogramowania bacula [http://www.bacula.pl www.bacula.pl].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;google1 style=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/google1&amp;gt;&lt;/div&gt;</summary>
		<author><name>Slawek</name></author>	</entry>

	<entry>
		<id>http://wiki.linux-user.eu/index.php/Bacula_-_backup_danych</id>
		<title>Bacula - backup danych</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux-user.eu/index.php/Bacula_-_backup_danych"/>
				<updated>2012-09-16T12:59:54Z</updated>
		
		<summary type="html">&lt;p&gt;Slawek: /* Plik bacula-dir.conf - Director */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Serwer]]&lt;br /&gt;
== Backup danych - Bacula ==&lt;br /&gt;
'''Bacula''' jest profesjonalnym systemem archiwizacji danych typu klien-serwer. Jest to darmowe oprogramowanie, które odpowiada za tworzenie, przywracania oraz weryfikację danych. Sam serwer może działać na wielu platformach Linux, FreeBSD czy Solaris. Klient baculi archiwizuje dane z wilu platform łącznie z windowsami.&lt;br /&gt;
Bacula w skrócie:&lt;br /&gt;
* budowa modularna&lt;br /&gt;
* archiwizacja danych z platform Linux, Windows, Mac OS&lt;br /&gt;
* zaplecze bazo danowe w postaci MySQL, PostgreSQL czy SQLite&lt;br /&gt;
* dostęp do oprogramowania baculi na licencjo OpenSource&lt;br /&gt;
* kopia danych na woluminach wielotaśmowych&lt;br /&gt;
* umożliwia szyfrowanie danych przepływających przez sieć&lt;br /&gt;
* archiwizuje pliki większe niż 2 GBobsługuje automatyczne zmieniarki&lt;br /&gt;
* może wykonywać skrypty przed i po archiwizazcji&lt;br /&gt;
* scentralizowany system zarządzania kopiami dla całej sieci&lt;br /&gt;
&lt;br /&gt;
== Instalacja serwera bacula ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Potrzebne oprogramowanie do działania baculi zaznaczyłem w trakcie instalacji systemu &amp;quot;''[[LAMP]] Server''&amp;quot; , 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&lt;br /&gt;
* w systemie [[CentOS]]&lt;br /&gt;
 yum install bacula-client bacula-common bacula-console bacula-director-common bacula-director-mysql bacula-docs bacula-storage-common &lt;br /&gt;
 bacula-storage-mysql mysql mysql-devel mysql-server&lt;br /&gt;
* w systemie [[Ubuntu]] Server&lt;br /&gt;
  apt-get install bacula apache2 mysql php&lt;br /&gt;
i to tak na prawdę wszyst. Uwaga jeśli chcesz aby Twoja instalacja baculi współpracowała z np bazą danych mysql to musisz instalować pakiety np ''bacula-director-mysql'', ''bacula-common-mysql''  i tak dalej jeśli chcesz przeprowadzić  instalację do współpracy z odpowiednią bazą danych  to musisz jawnie o tym powiadomić instalator podczas instalacji oprogramowania.&lt;br /&gt;
Potrzebne pakiety do poprawnego działania to:&lt;br /&gt;
* bacula-common-mysql&lt;br /&gt;
* bacula-console&lt;br /&gt;
* bacula-director-common&lt;br /&gt;
* bacula-director-mysql&lt;br /&gt;
* bacula-fd (klient)&lt;br /&gt;
* bacula-sd-mysql&lt;br /&gt;
* bacula-server&lt;br /&gt;
* dbconfig-common&lt;br /&gt;
W trakcie instalacji na systemie '''Ubuntu Server''', powyższych pakietów system pyta nas o konfiguracje bazy danych dla '''baculi''' za pomocą oprogramowania '''dbconfig-common''', oczywiście się zgadzamy &amp;quot;''Configure database for bacula-director-mysql with dbconfig-common?''&amp;quot;, po zatwierdzeniu będziemy musieli podać hasło do użytkownika root bazy danych oraz nowe hasło dla '''bacula-director-mysql'''.  Do instalacji tego oprogramowania nie potrzebowałem żadnego dodatkowego repozytorium. Po poprawnej instalacji Twój serwer archiwizacji danych powinien być gotowy do konfiguracji.&amp;lt;br /&amp;gt;&lt;br /&gt;
* W systemie [[CentOS]] po instalacji pakietów musimy skonfigurować ręcznie bazę danych i tak na początku uruchamiamy serwer mysqla &lt;br /&gt;
 service mysqld start &lt;br /&gt;
następnie &lt;br /&gt;
 /usr/bin/mysql_secure_installation &lt;br /&gt;
i ustawiamy hasło do bazy danych i inne opcje (konfiguracja serwera MySQL dostępna jest [[MySQL|tutaj]]), następnie &lt;br /&gt;
 service mysqld restart &lt;br /&gt;
i  &lt;br /&gt;
 chkconfig mysqld on  &lt;br /&gt;
tworzymy bazę danych dla baculi &lt;br /&gt;
 cd /usr/libexec/bacula/ &lt;br /&gt;
a następnie &lt;br /&gt;
 ./create_mysql_database -u root -p &lt;br /&gt;
tworzymy tabele w bazie baculi &lt;br /&gt;
 ./make_mysql_tables -u root -p &lt;br /&gt;
nadanie przywilejów dla usera bacula &lt;br /&gt;
 ./grant_mysql_privileges -u root -p &lt;br /&gt;
następnie nadajemy użytkownikowi bazy danych bacula hasło (obecnie brak hasła), logujemy się do bazy danych &lt;br /&gt;
 mysql -u root -p &lt;br /&gt;
a następnie wydajemy polecenie &lt;br /&gt;
 UPDATE mysql.user set password=password('haslo_dla_usera_bacula') where user='bacula'; &lt;br /&gt;
restartujemy bazę danych &lt;br /&gt;
 service mysqld restart&lt;br /&gt;
&lt;br /&gt;
== Konfiguracja serwera Bacula ==&lt;br /&gt;
&lt;br /&gt;
Wszystkie pliki konfiguracyjne baculi powinny znajdować się w ścieżce ''/etc/bacula/'' usługę możesz restartować zatrzymywać oraz startować za pomocą polecenia&lt;br /&gt;
 /etc/init.d/bacula-dir start/stop/restart/status &lt;br /&gt;
 /etc/init.d/bacula-sd start/stop/restart/status&lt;br /&gt;
 /etc/init.d/bacula-fd start/stop/restart/status&lt;br /&gt;
&lt;br /&gt;
== Pliki konfiguracyjne ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Plik '''bacula-dir.conf'''&amp;lt;br /&amp;gt; '''Director''' – dane zarządcy uprawnionego do używania urządzeń demona magazynowania&lt;br /&gt;
# Plik '''bacula-fd.conf'''&amp;lt;br /&amp;gt;'''Device''' – definicja urządzenia archiwizującego&lt;br /&gt;
# Plik '''bacula-sd.conf'''&amp;lt;br /&amp;gt;'''StorageDaemon''' – główna konfiguracja demona magazynowania&lt;br /&gt;
# Plik '''bconsole.conf''' - plik konsoli bacula&lt;br /&gt;
#Plik konfiguracji każdego klienta np '''slawek-backup.conf'''&lt;br /&gt;
Poniżej przedstawie przykładowe pliki konfiguracyjne z działającego serwera i pokrótce  postaram się opisać najważniejsze opcje każdego z nich.&lt;br /&gt;
&lt;br /&gt;
== Plik bacula-dir.conf - Director ==&lt;br /&gt;
Plik '''bacula-dir.conf''' zawiera sekcje&lt;br /&gt;
* Director – główna konfiguracja zarządcy,&lt;br /&gt;
* Catalog – parametry połączenia z bazą danych,&lt;br /&gt;
* Messages – sposób zapisywania dzienników (w tym powiadomienia na e-mail),&lt;br /&gt;
* Job – zadanie (backup, restore, weryfikacja, migracja, kopiowanie i inne),&lt;br /&gt;
* FileSet – opcje zadania (listy dołączeń, listy wykluczeń, sygnatury plików, kompresja programowa i inne),&lt;br /&gt;
* Storage – ustawienia dostępnych urządzeń archiwizujących,&lt;br /&gt;
* Client – definicja klientów,&lt;br /&gt;
* Pool – pula woluminów,&lt;br /&gt;
* Schedule – harmonogram zadań.&lt;br /&gt;
&lt;br /&gt;
Przykładowa konfiguracja&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;ref&amp;gt;Director {&lt;br /&gt;
	 Name = ogrody-dir #nazwa zarzadcy&lt;br /&gt;
	 Password = &amp;quot;qwerty123-dir&amp;quot; #haslo, uzywaja programy łączące się z zarządcy&lt;br /&gt;
	 DIR Address = 192.168.2.15 #adres IP interfejsu sieciowego&lt;br /&gt;
	 DIR Port = 9101 #port na którym ma nasłuchiwać zarządca&lt;br /&gt;
	 QueryFile = &amp;quot;/usr/libexec/bacula/query.sql&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
         WorkingDirectory = &amp;quot;/var/spool/bacula&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
         PidDirectory = &amp;quot;/var/run&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
	 Messages = DirRaport #nazwa zasobu messages, uzyta ponizej&lt;br /&gt;
	 Maximum Concurrent jobs = 5 #ilość zadań, które jednocześnie może wykonywać zarządca&lt;br /&gt;
 }&amp;lt;/ref&amp;gt;&lt;br /&gt;
 Catalog {&lt;br /&gt;
	Name = &amp;quot;Baza-danych-bacula&amp;quot; #nazwa zasobu, używana w zasobach client&lt;br /&gt;
	DB Name = bacula #nazwa bazy danych&lt;br /&gt;
	DB Address = 127.0.0.1 # adres bazy danych&lt;br /&gt;
	DB Port = 3306 #port na którym nasłuchuje mysql&lt;br /&gt;
	User = bacula #użytkownik do bazy danych dla baculi&lt;br /&gt;
	Password = bacula1 #hasło użytkownika baculi&lt;br /&gt;
 } &lt;br /&gt;
 Messages {&lt;br /&gt;
	Name = DirRaport #nazwa zasobu, odpowiada ona nazwie w zasobie Director opcji messages&lt;br /&gt;
	Mailcommand = &amp;quot;/usr/sbin/bsmtp -h localhost -f \&amp;quot;\(Bacula\) \&amp;lt;%r\&amp;gt;\&amp;quot; -s \&amp;quot;Bacula: %t %e of %c %l\&amp;quot; %r&amp;quot; #komenda do wysłania maila z powiadomieniem&lt;br /&gt;
  	Operatorcommand = &amp;quot;/usr/sbin/bsmtp -h localhost -f \&amp;quot;\(Bacula\) \&amp;lt;%r\&amp;gt;\&amp;quot; -s \&amp;quot;Bacula: Intervention needed for %j\&amp;quot; %r&amp;quot; #mail z powiadomieniem&lt;br /&gt;
  	Mail = slawek@linux-user.eu = all, !skipped #mail od kogo&lt;br /&gt;
  	Operator = slawek@linux-user.eu = mount #mail od kogo&lt;br /&gt;
  	Console = all, !skipped, !saved #wyświetlanie statusów i zdarzeń wartość all wyświetla wszystko&lt;br /&gt;
    	Append = &amp;quot;/var/spool/bacula/log&amp;quot; = all, !skipped #ustawienie zapisywania statusów i raportów do pliku logów wartość all wszystko&lt;br /&gt;
 }&lt;br /&gt;
 Storage {&lt;br /&gt;
	Name = Dysk-Pendrive #nazwa zasobu, używana w zasobie jobs&lt;br /&gt;
	Address = 192.168.2.15 #adres IP z bacula-sd, &lt;br /&gt;
	SD Port = 9103 #port bacula-sd&lt;br /&gt;
	Password = qwerty123-sd #hasło do bacula-sd&lt;br /&gt;
	Device = &amp;quot;Urzadzenie pendrive&amp;quot; #nazwa urzadzenia, uzyte również w bacula-sd&lt;br /&gt;
	Media Type = Pliki-na-usb #nazwa typu obsługiwanych woluminów, uzywana w bacula-sd&lt;br /&gt;
	Maximum Concurrent Jobs = 1 #ilośc zadań, które jednocześnie może zrealizować urządzenie&lt;br /&gt;
 } &lt;br /&gt;
 Client {&lt;br /&gt;
	Name = backup_na_pendrive # nazwa klienta, użyta również w sekcji Job&lt;br /&gt;
	Address = 192.168.2.15 #adres IP komputera klienta, &lt;br /&gt;
	FD Port = 9102 #numer portu bacula-client, domyślnie 9102&lt;br /&gt;
	Catalog = &amp;quot;Baza-danych-bacula&amp;quot; #jakiej bazy danych użyć, nazwa z sekcji Catalog&lt;br /&gt;
	Password = &amp;quot;qwerty123-fd&amp;quot; #hasło do bacula-fd na kliencie&lt;br /&gt;
	AutoPrune = no # czyszczenie przestarzałych danych z bazy danych&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
	Name = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
	Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
	Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
	AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
	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&lt;br /&gt;
	Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
	 LabelFormat = &amp;quot;serwer-ogrody-plik-poniedzialek-&amp;quot; &lt;br /&gt;
	Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
        Name = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
        Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
        Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
        AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
        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&lt;br /&gt;
        Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
         LabelFormat = &amp;quot;serwer-ogrody-plik-wtorek-&amp;quot;&lt;br /&gt;
        Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
        Name = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa puli woluminów&lt;br /&gt;
        Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
        Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
        AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
        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&lt;br /&gt;
        Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
         LabelFormat = &amp;quot;serwer-ogrody-plik-sroda-&amp;quot;&lt;br /&gt;
        Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
        Name = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
        Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
        Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
        AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
        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&lt;br /&gt;
        Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
         LabelFormat = &amp;quot;serwer-ogrody-plik-czwartek-&amp;quot;&lt;br /&gt;
        Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
        Name = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
        Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
        Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
        AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
        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&lt;br /&gt;
        Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
         LabelFormat = &amp;quot;serwer-ogrody-plik-piatek-&amp;quot;&lt;br /&gt;
        Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 FileSet {&lt;br /&gt;
	Name = &amp;quot;Baza-danych-postgresql&amp;quot; #nazwa akcji, użyta w sekcji job&lt;br /&gt;
	Include {&lt;br /&gt;
		Options {&lt;br /&gt;
			Signature = MD5 # sposób tworzenia sygnatur kopii zapasowych&lt;br /&gt;
			}&lt;br /&gt;
		File = /var/lib/pgsql/9.1/data/ #pliki do archiwizowania&lt;br /&gt;
		}&lt;br /&gt;
	Exclude { #nie archiwizuj poniższych plików&lt;br /&gt;
  	    File = /var/lib/pgsql/9.1/data/backup_test &lt;br /&gt;
	    File = /var/lib/pgsql/9.1/data/backup_test_pg&lt;br /&gt;
  }&lt;br /&gt;
 }&lt;br /&gt;
 FileSet {&lt;br /&gt;
	Name = &amp;quot;Pliki-samby&amp;quot;&lt;br /&gt;
	Include {&lt;br /&gt;
		Options {&lt;br /&gt;
                        Signature = MD5 # sposób tworzenia sygnatur kopii zapasowych&lt;br /&gt;
                        }&lt;br /&gt;
                File = /home/samba/&lt;br /&gt;
                }&lt;br /&gt;
	Exclude {&lt;br /&gt;
		File = /home/samba/.*&lt;br /&gt;
		}&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
	Name = &amp;quot;Cykl-codzienny-full-poniedzialek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
	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ę &lt;br /&gt;
 #wykonywać w dni od poniedziałku do piątku&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-wtorek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
        Run = Full tuesday at 00:04  &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-sroda&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
        Run = Full wednesday at 15:10 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-czwartek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
        Run = Full thursday at 15:10 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-piatek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
        Run = Full friday at 16:15 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-incremental-poniedzialek&amp;quot;&lt;br /&gt;
        Run = Incremental monday at 10:00 #kopia przyrostowa w poniedziałek o 10:00&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-incremental-wtorek&amp;quot;&lt;br /&gt;
        Run = Incremental tuesday at 00:23 &lt;br /&gt;
 }&lt;br /&gt;
Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-incremental-sroda&amp;quot;&lt;br /&gt;
        Run = Incremental wednesday at 15:13 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-incremental-czwartek&amp;quot;&lt;br /&gt;
        Run = Incremental thursday at 15:13 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-incremental-piatek&amp;quot;&lt;br /&gt;
        Run = Incremental friday at 16:17 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-samba-poniedzialek&amp;quot; &lt;br /&gt;
        Run = Full monday at 01:00 #backup powinien wykonać się w poniedziałek o godzinie 01:00&lt;br /&gt;
}&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-samba-wtorek&amp;quot; &lt;br /&gt;
        Run = Full tuesday at 00:06 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-samba-sroda&amp;quot; &lt;br /&gt;
        Run = Full wednesday at 00:06 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-samba-czwartek&amp;quot; &lt;br /&gt;
        Run = Full thursday at 15:11 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-samba-piatek&amp;quot; &lt;br /&gt;
        Run = Full friday at 16:19 &lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-poniedzialek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-poniedzialek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-poniedzialek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-wtorek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-wtorek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-wtorek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-sroda&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-sroda&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-sroda&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-baza_danych-czwartek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-czwartek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-czwartek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-piatek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-piatek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-piatek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-poniedzialek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-poniedzialek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-poniedzialek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-wtorek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-wtorek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-wtorek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-sroda&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-sroda&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-sroda&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-samby-czwartek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-czwartek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-czwartek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-piatek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-piatek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-piatek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
	Name = &amp;quot;Backup-bazy-danych-omeda-full-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
	Type = Backup&lt;br /&gt;
	Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
	Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
	Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
	Schedule = &amp;quot;Cykl-codzienny-full-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
	Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
	FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
	# skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
	Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
	# Usuwanie zbekapowanego backupu&lt;br /&gt;
	Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-full-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
	# Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-full-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
         }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-full-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-full-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
	# skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
	Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
	# Usuwanie zbekapowanego backupu&lt;br /&gt;
	Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot; &lt;br /&gt;
	 &lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }      &lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }       &lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Konfiguracja pliku bacula-fd.conf - File Daemon ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Director {&lt;br /&gt;
 Name = backup-serwer-dir&lt;br /&gt;
 Password = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
 Name = backup-serwer-mon&lt;br /&gt;
 Password = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
 Monitor = yes&lt;br /&gt;
 }&lt;br /&gt;
 FileDaemon {&lt;br /&gt;
 Name = backup-serwer-fd&lt;br /&gt;
 FDport = 9102&lt;br /&gt;
 WorkingDirectory = /var/lib/bacula&lt;br /&gt;
 Pid Directory = /var/run/bacula&lt;br /&gt;
 Maximum Concurrent Jobs = 20&lt;br /&gt;
 FDAddress = 127.0.0.1&lt;br /&gt;
 }&lt;br /&gt;
 Messages {&lt;br /&gt;
 Name = Standard&lt;br /&gt;
 director = backup-serwer-dir = all, !skipped, !restored&lt;br /&gt;
 } &lt;br /&gt;
Konfiguracja Storage Daemona '''bacula-sd.conf'''&lt;br /&gt;
&lt;br /&gt;
 Storage {                           &lt;br /&gt;
  Name = backup-serwer-sd   # Name – nazwa demona magazynowania. &lt;br /&gt;
 Nie jest ona powiązana z żadną inną konfiguracją usług&lt;br /&gt;
  SDPort = 9103                  # Director's port      &lt;br /&gt;
  WorkingDirectory = &amp;quot;/var/lib/bacula&amp;quot;   #Working Directory – katalog w którym serwis &lt;br /&gt;
 będzie przechowywał pliki swoich statusów. Dobrą praktyką jest zdefiniować taki katalog, &lt;br /&gt;
 który przeznaczony będzie tylko do tego celu.&lt;br /&gt;
  Pid Directory = &amp;quot;/var/run/bacula&amp;quot;  #PID Directory – lokalizacja, w której demon &lt;br /&gt;
 magazynowania będzie zapisywał plik z identyfikatorem procesu, jaki otrzymał &lt;br /&gt;
 demon przy starcie&lt;br /&gt;
  Maximum Concurrent Jobs = 2&lt;br /&gt;
  SDAddress = 192.168.0.10   #SD Address – dyrektywa definiuje adres IP interfejsu, &lt;br /&gt;
 na którym będzie nasłuchiwał demon.&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
  Name = backup-serwer-dir   # Name – nazwa zarządcy uprawnionego do używania &lt;br /&gt;
 demona magazynowania. Nazwa zarządcy określanego w tej dyrektywie musi odpowiadać &lt;br /&gt;
 nazwie zarządcy zdefiniowanej w innych plikach konfiguracyjnych.&lt;br /&gt;
  Password = &amp;quot;s7s8,.zq&amp;quot;   # Password – hasło, którym zarządca będzie autoryzował się do &lt;br /&gt;
 demona magazynowania. Podane tu hasło definiowane jest również w pliku konfiguracyjnym zarządcy.&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
  Name = backup-serwer-mon&lt;br /&gt;
  Password = &amp;quot;s7s8,.zq&amp;quot;&lt;br /&gt;
  Monitor = yes&lt;br /&gt;
 }&lt;br /&gt;
 Device {&lt;br /&gt;
  Name = &amp;quot;serwer&amp;quot; # Name – nazwa urządzenia. Ta sama nazwa jest definiowana również w &lt;br /&gt;
 pliku konfiguracyjnym zarządcy&lt;br /&gt;
  Media Type = File #typ woluminu. Określa jakiego typu nośniki obsługuje dane urządzenie.&lt;br /&gt;
  Archive Device = /home/bacula/backup/serwer  # Archive Device – lokalizacja urządzenia. &lt;br /&gt;
 Jeśli urządzeniem jest dysk, to podawany jest tutaj punkt jego montowania&lt;br /&gt;
  Device Type = File # Device Type – określa typ urządzenia. Możliwe typy urządzeń to: File – &lt;br /&gt;
 dla dysków, Tape – dla urządzeń taśmowych, Fifo – dla kolejek FIFO, DVD – dla napędów DVD-ROM&lt;br /&gt;
  LabelMedia = yes;&lt;br /&gt;
  AutomaticMount = yes;&lt;br /&gt;
  RemovableMedia = no;     #mówi o tym, czy urządzenie obsługuje wymienne nośniki. Dla urządzeń &lt;br /&gt;
 taśmowych, napędów DVD jak i wyjmowalnych dysków (np. dyski zewnętrzne lub pendrive) dyrektywa &lt;br /&gt;
 powinna być ustawiona na &amp;quot;yes&amp;quot;. Dla stałych dysków dyrektywa powinna być ustawiona na &amp;quot;no&amp;quot;&lt;br /&gt;
  AlwaysOpen = no;&lt;br /&gt;
 }&lt;br /&gt;
 Device {&lt;br /&gt;
  Name = &amp;quot;slawek&amp;quot;&lt;br /&gt;
  Media Type = File&lt;br /&gt;
  Archive Device = /home/bacula/backup/slawek&lt;br /&gt;
  LabelMedia = yes;&lt;br /&gt;
  AutomaticMount = yes;&lt;br /&gt;
  RemovableMedia = no;&lt;br /&gt;
  AlwaysOpen = no;&lt;br /&gt;
 }&lt;br /&gt;
 Messages {&lt;br /&gt;
  Name = Standard   #nazwa zasobu. Używana jest na wewnętrzne potrzeby demona i nie zostaje &lt;br /&gt;
 przekazana nigdzie na zewnątrz&lt;br /&gt;
  director = backup-serwer-dir = all   # Określa się tu dwie wartości: nazwę zarządcy do którego &lt;br /&gt;
 dyrektywa się tyczy oraz poziom logowania. Wartość 'all' oznacza, że raportowane będą wszystkie &lt;br /&gt;
 zmiany i statusy podczas pracy demona magazynowania.&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
Uwaga hasło &amp;quot;''haslo123''&amp;quot;  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.&lt;br /&gt;
 &lt;br /&gt;
Więcej informacji znajdziesz na polskiej stronie na temat oprogramowania bacula [http://www.bacula.pl www.bacula.pl].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;google1 style=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/google1&amp;gt;&lt;/div&gt;</summary>
		<author><name>Slawek</name></author>	</entry>

	<entry>
		<id>http://wiki.linux-user.eu/index.php/Bacula_-_backup_danych</id>
		<title>Bacula - backup danych</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux-user.eu/index.php/Bacula_-_backup_danych"/>
				<updated>2012-09-16T12:59:05Z</updated>
		
		<summary type="html">&lt;p&gt;Slawek: /* Plik bacula-dir.conf - Director */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Serwer]]&lt;br /&gt;
== Backup danych - Bacula ==&lt;br /&gt;
'''Bacula''' jest profesjonalnym systemem archiwizacji danych typu klien-serwer. Jest to darmowe oprogramowanie, które odpowiada za tworzenie, przywracania oraz weryfikację danych. Sam serwer może działać na wielu platformach Linux, FreeBSD czy Solaris. Klient baculi archiwizuje dane z wilu platform łącznie z windowsami.&lt;br /&gt;
Bacula w skrócie:&lt;br /&gt;
* budowa modularna&lt;br /&gt;
* archiwizacja danych z platform Linux, Windows, Mac OS&lt;br /&gt;
* zaplecze bazo danowe w postaci MySQL, PostgreSQL czy SQLite&lt;br /&gt;
* dostęp do oprogramowania baculi na licencjo OpenSource&lt;br /&gt;
* kopia danych na woluminach wielotaśmowych&lt;br /&gt;
* umożliwia szyfrowanie danych przepływających przez sieć&lt;br /&gt;
* archiwizuje pliki większe niż 2 GBobsługuje automatyczne zmieniarki&lt;br /&gt;
* może wykonywać skrypty przed i po archiwizazcji&lt;br /&gt;
* scentralizowany system zarządzania kopiami dla całej sieci&lt;br /&gt;
&lt;br /&gt;
== Instalacja serwera bacula ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Potrzebne oprogramowanie do działania baculi zaznaczyłem w trakcie instalacji systemu &amp;quot;''[[LAMP]] Server''&amp;quot; , 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&lt;br /&gt;
* w systemie [[CentOS]]&lt;br /&gt;
 yum install bacula-client bacula-common bacula-console bacula-director-common bacula-director-mysql bacula-docs bacula-storage-common &lt;br /&gt;
 bacula-storage-mysql mysql mysql-devel mysql-server&lt;br /&gt;
* w systemie [[Ubuntu]] Server&lt;br /&gt;
  apt-get install bacula apache2 mysql php&lt;br /&gt;
i to tak na prawdę wszyst. Uwaga jeśli chcesz aby Twoja instalacja baculi współpracowała z np bazą danych mysql to musisz instalować pakiety np ''bacula-director-mysql'', ''bacula-common-mysql''  i tak dalej jeśli chcesz przeprowadzić  instalację do współpracy z odpowiednią bazą danych  to musisz jawnie o tym powiadomić instalator podczas instalacji oprogramowania.&lt;br /&gt;
Potrzebne pakiety do poprawnego działania to:&lt;br /&gt;
* bacula-common-mysql&lt;br /&gt;
* bacula-console&lt;br /&gt;
* bacula-director-common&lt;br /&gt;
* bacula-director-mysql&lt;br /&gt;
* bacula-fd (klient)&lt;br /&gt;
* bacula-sd-mysql&lt;br /&gt;
* bacula-server&lt;br /&gt;
* dbconfig-common&lt;br /&gt;
W trakcie instalacji na systemie '''Ubuntu Server''', powyższych pakietów system pyta nas o konfiguracje bazy danych dla '''baculi''' za pomocą oprogramowania '''dbconfig-common''', oczywiście się zgadzamy &amp;quot;''Configure database for bacula-director-mysql with dbconfig-common?''&amp;quot;, po zatwierdzeniu będziemy musieli podać hasło do użytkownika root bazy danych oraz nowe hasło dla '''bacula-director-mysql'''.  Do instalacji tego oprogramowania nie potrzebowałem żadnego dodatkowego repozytorium. Po poprawnej instalacji Twój serwer archiwizacji danych powinien być gotowy do konfiguracji.&amp;lt;br /&amp;gt;&lt;br /&gt;
* W systemie [[CentOS]] po instalacji pakietów musimy skonfigurować ręcznie bazę danych i tak na początku uruchamiamy serwer mysqla &lt;br /&gt;
 service mysqld start &lt;br /&gt;
następnie &lt;br /&gt;
 /usr/bin/mysql_secure_installation &lt;br /&gt;
i ustawiamy hasło do bazy danych i inne opcje (konfiguracja serwera MySQL dostępna jest [[MySQL|tutaj]]), następnie &lt;br /&gt;
 service mysqld restart &lt;br /&gt;
i  &lt;br /&gt;
 chkconfig mysqld on  &lt;br /&gt;
tworzymy bazę danych dla baculi &lt;br /&gt;
 cd /usr/libexec/bacula/ &lt;br /&gt;
a następnie &lt;br /&gt;
 ./create_mysql_database -u root -p &lt;br /&gt;
tworzymy tabele w bazie baculi &lt;br /&gt;
 ./make_mysql_tables -u root -p &lt;br /&gt;
nadanie przywilejów dla usera bacula &lt;br /&gt;
 ./grant_mysql_privileges -u root -p &lt;br /&gt;
następnie nadajemy użytkownikowi bazy danych bacula hasło (obecnie brak hasła), logujemy się do bazy danych &lt;br /&gt;
 mysql -u root -p &lt;br /&gt;
a następnie wydajemy polecenie &lt;br /&gt;
 UPDATE mysql.user set password=password('haslo_dla_usera_bacula') where user='bacula'; &lt;br /&gt;
restartujemy bazę danych &lt;br /&gt;
 service mysqld restart&lt;br /&gt;
&lt;br /&gt;
== Konfiguracja serwera Bacula ==&lt;br /&gt;
&lt;br /&gt;
Wszystkie pliki konfiguracyjne baculi powinny znajdować się w ścieżce ''/etc/bacula/'' usługę możesz restartować zatrzymywać oraz startować za pomocą polecenia&lt;br /&gt;
 /etc/init.d/bacula-dir start/stop/restart/status &lt;br /&gt;
 /etc/init.d/bacula-sd start/stop/restart/status&lt;br /&gt;
 /etc/init.d/bacula-fd start/stop/restart/status&lt;br /&gt;
&lt;br /&gt;
== Pliki konfiguracyjne ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Plik '''bacula-dir.conf'''&amp;lt;br /&amp;gt; '''Director''' – dane zarządcy uprawnionego do używania urządzeń demona magazynowania&lt;br /&gt;
# Plik '''bacula-fd.conf'''&amp;lt;br /&amp;gt;'''Device''' – definicja urządzenia archiwizującego&lt;br /&gt;
# Plik '''bacula-sd.conf'''&amp;lt;br /&amp;gt;'''StorageDaemon''' – główna konfiguracja demona magazynowania&lt;br /&gt;
# Plik '''bconsole.conf''' - plik konsoli bacula&lt;br /&gt;
#Plik konfiguracji każdego klienta np '''slawek-backup.conf'''&lt;br /&gt;
Poniżej przedstawie przykładowe pliki konfiguracyjne z działającego serwera i pokrótce  postaram się opisać najważniejsze opcje każdego z nich.&lt;br /&gt;
&lt;br /&gt;
== Plik bacula-dir.conf - Director ==&lt;br /&gt;
Plik '''bacula-dir.conf''' zawiera sekcje&lt;br /&gt;
* Director – główna konfiguracja zarządcy,&lt;br /&gt;
* Catalog – parametry połączenia z bazą danych,&lt;br /&gt;
* Messages – sposób zapisywania dzienników (w tym powiadomienia na e-mail),&lt;br /&gt;
* Job – zadanie (backup, restore, weryfikacja, migracja, kopiowanie i inne),&lt;br /&gt;
* FileSet – opcje zadania (listy dołączeń, listy wykluczeń, sygnatury plików, kompresja programowa i inne),&lt;br /&gt;
* Storage – ustawienia dostępnych urządzeń archiwizujących,&lt;br /&gt;
* Client – definicja klientów,&lt;br /&gt;
* Pool – pula woluminów,&lt;br /&gt;
* Schedule – harmonogram zadań.&lt;br /&gt;
&lt;br /&gt;
Przykładowa konfiguracja&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
 Director {&lt;br /&gt;
	 Name = ogrody-dir #nazwa zarzadcy&lt;br /&gt;
	 Password = &amp;quot;qwerty123-dir&amp;quot; #haslo, uzywaja programy łączące się z zarządcy&lt;br /&gt;
	 DIR Address = 192.168.2.15 #adres IP interfejsu sieciowego&lt;br /&gt;
	 DIR Port = 9101 #port na którym ma nasłuchiwać zarządca&lt;br /&gt;
	 QueryFile = &amp;quot;/usr/libexec/bacula/query.sql&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
         WorkingDirectory = &amp;quot;/var/spool/bacula&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
         PidDirectory = &amp;quot;/var/run&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
	 Messages = DirRaport #nazwa zasobu messages, uzyta ponizej&lt;br /&gt;
	 Maximum Concurrent jobs = 5 #ilość zadań, które jednocześnie może wykonywać zarządca&lt;br /&gt;
 }&lt;br /&gt;
 Catalog {&lt;br /&gt;
	Name = &amp;quot;Baza-danych-bacula&amp;quot; #nazwa zasobu, używana w zasobach client&lt;br /&gt;
	DB Name = bacula #nazwa bazy danych&lt;br /&gt;
	DB Address = 127.0.0.1 # adres bazy danych&lt;br /&gt;
	DB Port = 3306 #port na którym nasłuchuje mysql&lt;br /&gt;
	User = bacula #użytkownik do bazy danych dla baculi&lt;br /&gt;
	Password = bacula1 #hasło użytkownika baculi&lt;br /&gt;
 } &lt;br /&gt;
 Messages {&lt;br /&gt;
	Name = DirRaport #nazwa zasobu, odpowiada ona nazwie w zasobie Director opcji messages&lt;br /&gt;
	Mailcommand = &amp;quot;/usr/sbin/bsmtp -h localhost -f \&amp;quot;\(Bacula\) \&amp;lt;%r\&amp;gt;\&amp;quot; -s \&amp;quot;Bacula: %t %e of %c %l\&amp;quot; %r&amp;quot; #komenda do wysłania maila z powiadomieniem&lt;br /&gt;
  	Operatorcommand = &amp;quot;/usr/sbin/bsmtp -h localhost -f \&amp;quot;\(Bacula\) \&amp;lt;%r\&amp;gt;\&amp;quot; -s \&amp;quot;Bacula: Intervention needed for %j\&amp;quot; %r&amp;quot; #mail z powiadomieniem&lt;br /&gt;
  	Mail = slawek@linux-user.eu = all, !skipped #mail od kogo&lt;br /&gt;
  	Operator = slawek@linux-user.eu = mount #mail od kogo&lt;br /&gt;
  	Console = all, !skipped, !saved #wyświetlanie statusów i zdarzeń wartość all wyświetla wszystko&lt;br /&gt;
    	Append = &amp;quot;/var/spool/bacula/log&amp;quot; = all, !skipped #ustawienie zapisywania statusów i raportów do pliku logów wartość all wszystko&lt;br /&gt;
 }&lt;br /&gt;
 Storage {&lt;br /&gt;
	Name = Dysk-Pendrive #nazwa zasobu, używana w zasobie jobs&lt;br /&gt;
	Address = 192.168.2.15 #adres IP z bacula-sd, &lt;br /&gt;
	SD Port = 9103 #port bacula-sd&lt;br /&gt;
	Password = qwerty123-sd #hasło do bacula-sd&lt;br /&gt;
	Device = &amp;quot;Urzadzenie pendrive&amp;quot; #nazwa urzadzenia, uzyte również w bacula-sd&lt;br /&gt;
	Media Type = Pliki-na-usb #nazwa typu obsługiwanych woluminów, uzywana w bacula-sd&lt;br /&gt;
	Maximum Concurrent Jobs = 1 #ilośc zadań, które jednocześnie może zrealizować urządzenie&lt;br /&gt;
 } &lt;br /&gt;
 Client {&lt;br /&gt;
	Name = backup_na_pendrive # nazwa klienta, użyta również w sekcji Job&lt;br /&gt;
	Address = 192.168.2.15 #adres IP komputera klienta, &lt;br /&gt;
	FD Port = 9102 #numer portu bacula-client, domyślnie 9102&lt;br /&gt;
	Catalog = &amp;quot;Baza-danych-bacula&amp;quot; #jakiej bazy danych użyć, nazwa z sekcji Catalog&lt;br /&gt;
	Password = &amp;quot;qwerty123-fd&amp;quot; #hasło do bacula-fd na kliencie&lt;br /&gt;
	AutoPrune = no # czyszczenie przestarzałych danych z bazy danych&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
	Name = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
	Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
	Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
	AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
	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&lt;br /&gt;
	Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
	 LabelFormat = &amp;quot;serwer-ogrody-plik-poniedzialek-&amp;quot; &lt;br /&gt;
	Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
        Name = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
        Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
        Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
        AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
        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&lt;br /&gt;
        Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
         LabelFormat = &amp;quot;serwer-ogrody-plik-wtorek-&amp;quot;&lt;br /&gt;
        Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
        Name = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa puli woluminów&lt;br /&gt;
        Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
        Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
        AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
        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&lt;br /&gt;
        Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
         LabelFormat = &amp;quot;serwer-ogrody-plik-sroda-&amp;quot;&lt;br /&gt;
        Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
        Name = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
        Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
        Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
        AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
        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&lt;br /&gt;
        Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
         LabelFormat = &amp;quot;serwer-ogrody-plik-czwartek-&amp;quot;&lt;br /&gt;
        Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
        Name = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
        Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
        Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
        AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
        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&lt;br /&gt;
        Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
         LabelFormat = &amp;quot;serwer-ogrody-plik-piatek-&amp;quot;&lt;br /&gt;
        Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 FileSet {&lt;br /&gt;
	Name = &amp;quot;Baza-danych-postgresql&amp;quot; #nazwa akcji, użyta w sekcji job&lt;br /&gt;
	Include {&lt;br /&gt;
		Options {&lt;br /&gt;
			Signature = MD5 # sposób tworzenia sygnatur kopii zapasowych&lt;br /&gt;
			}&lt;br /&gt;
		File = /var/lib/pgsql/9.1/data/ #pliki do archiwizowania&lt;br /&gt;
		}&lt;br /&gt;
	Exclude { #nie archiwizuj poniższych plików&lt;br /&gt;
  	    File = /var/lib/pgsql/9.1/data/backup_test &lt;br /&gt;
	    File = /var/lib/pgsql/9.1/data/backup_test_pg&lt;br /&gt;
  }&lt;br /&gt;
 }&lt;br /&gt;
 FileSet {&lt;br /&gt;
	Name = &amp;quot;Pliki-samby&amp;quot;&lt;br /&gt;
	Include {&lt;br /&gt;
		Options {&lt;br /&gt;
                        Signature = MD5 # sposób tworzenia sygnatur kopii zapasowych&lt;br /&gt;
                        }&lt;br /&gt;
                File = /home/samba/&lt;br /&gt;
                }&lt;br /&gt;
	Exclude {&lt;br /&gt;
		File = /home/samba/.*&lt;br /&gt;
		}&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
	Name = &amp;quot;Cykl-codzienny-full-poniedzialek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
	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ę &lt;br /&gt;
 #wykonywać w dni od poniedziałku do piątku&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-wtorek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
        Run = Full tuesday at 00:04  &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-sroda&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
        Run = Full wednesday at 15:10 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-czwartek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
        Run = Full thursday at 15:10 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-piatek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
        Run = Full friday at 16:15 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-incremental-poniedzialek&amp;quot;&lt;br /&gt;
        Run = Incremental monday at 10:00 #kopia przyrostowa w poniedziałek o 10:00&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-incremental-wtorek&amp;quot;&lt;br /&gt;
        Run = Incremental tuesday at 00:23 &lt;br /&gt;
 }&lt;br /&gt;
Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-incremental-sroda&amp;quot;&lt;br /&gt;
        Run = Incremental wednesday at 15:13 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-incremental-czwartek&amp;quot;&lt;br /&gt;
        Run = Incremental thursday at 15:13 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-incremental-piatek&amp;quot;&lt;br /&gt;
        Run = Incremental friday at 16:17 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-samba-poniedzialek&amp;quot; &lt;br /&gt;
        Run = Full monday at 01:00 #backup powinien wykonać się w poniedziałek o godzinie 01:00&lt;br /&gt;
}&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-samba-wtorek&amp;quot; &lt;br /&gt;
        Run = Full tuesday at 00:06 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-samba-sroda&amp;quot; &lt;br /&gt;
        Run = Full wednesday at 00:06 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-samba-czwartek&amp;quot; &lt;br /&gt;
        Run = Full thursday at 15:11 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-samba-piatek&amp;quot; &lt;br /&gt;
        Run = Full friday at 16:19 &lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-poniedzialek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-poniedzialek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-poniedzialek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-wtorek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-wtorek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-wtorek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-sroda&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-sroda&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-sroda&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-baza_danych-czwartek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-czwartek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-czwartek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-piatek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-piatek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-piatek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-poniedzialek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-poniedzialek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-poniedzialek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-wtorek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-wtorek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-wtorek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-sroda&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-sroda&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-sroda&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-samby-czwartek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-czwartek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-czwartek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-piatek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-piatek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-piatek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
	Name = &amp;quot;Backup-bazy-danych-omeda-full-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
	Type = Backup&lt;br /&gt;
	Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
	Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
	Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
	Schedule = &amp;quot;Cykl-codzienny-full-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
	Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
	FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
	# skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
	Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
	# Usuwanie zbekapowanego backupu&lt;br /&gt;
	Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-full-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
	# Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-full-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
         }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-full-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-full-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
	# skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
	Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
	# Usuwanie zbekapowanego backupu&lt;br /&gt;
	Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot; &lt;br /&gt;
	 &lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }      &lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }       &lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Konfiguracja pliku bacula-fd.conf - File Daemon ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Director {&lt;br /&gt;
 Name = backup-serwer-dir&lt;br /&gt;
 Password = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
 Name = backup-serwer-mon&lt;br /&gt;
 Password = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
 Monitor = yes&lt;br /&gt;
 }&lt;br /&gt;
 FileDaemon {&lt;br /&gt;
 Name = backup-serwer-fd&lt;br /&gt;
 FDport = 9102&lt;br /&gt;
 WorkingDirectory = /var/lib/bacula&lt;br /&gt;
 Pid Directory = /var/run/bacula&lt;br /&gt;
 Maximum Concurrent Jobs = 20&lt;br /&gt;
 FDAddress = 127.0.0.1&lt;br /&gt;
 }&lt;br /&gt;
 Messages {&lt;br /&gt;
 Name = Standard&lt;br /&gt;
 director = backup-serwer-dir = all, !skipped, !restored&lt;br /&gt;
 } &lt;br /&gt;
Konfiguracja Storage Daemona '''bacula-sd.conf'''&lt;br /&gt;
&lt;br /&gt;
 Storage {                           &lt;br /&gt;
  Name = backup-serwer-sd   # Name – nazwa demona magazynowania. &lt;br /&gt;
 Nie jest ona powiązana z żadną inną konfiguracją usług&lt;br /&gt;
  SDPort = 9103                  # Director's port      &lt;br /&gt;
  WorkingDirectory = &amp;quot;/var/lib/bacula&amp;quot;   #Working Directory – katalog w którym serwis &lt;br /&gt;
 będzie przechowywał pliki swoich statusów. Dobrą praktyką jest zdefiniować taki katalog, &lt;br /&gt;
 który przeznaczony będzie tylko do tego celu.&lt;br /&gt;
  Pid Directory = &amp;quot;/var/run/bacula&amp;quot;  #PID Directory – lokalizacja, w której demon &lt;br /&gt;
 magazynowania będzie zapisywał plik z identyfikatorem procesu, jaki otrzymał &lt;br /&gt;
 demon przy starcie&lt;br /&gt;
  Maximum Concurrent Jobs = 2&lt;br /&gt;
  SDAddress = 192.168.0.10   #SD Address – dyrektywa definiuje adres IP interfejsu, &lt;br /&gt;
 na którym będzie nasłuchiwał demon.&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
  Name = backup-serwer-dir   # Name – nazwa zarządcy uprawnionego do używania &lt;br /&gt;
 demona magazynowania. Nazwa zarządcy określanego w tej dyrektywie musi odpowiadać &lt;br /&gt;
 nazwie zarządcy zdefiniowanej w innych plikach konfiguracyjnych.&lt;br /&gt;
  Password = &amp;quot;s7s8,.zq&amp;quot;   # Password – hasło, którym zarządca będzie autoryzował się do &lt;br /&gt;
 demona magazynowania. Podane tu hasło definiowane jest również w pliku konfiguracyjnym zarządcy.&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
  Name = backup-serwer-mon&lt;br /&gt;
  Password = &amp;quot;s7s8,.zq&amp;quot;&lt;br /&gt;
  Monitor = yes&lt;br /&gt;
 }&lt;br /&gt;
 Device {&lt;br /&gt;
  Name = &amp;quot;serwer&amp;quot; # Name – nazwa urządzenia. Ta sama nazwa jest definiowana również w &lt;br /&gt;
 pliku konfiguracyjnym zarządcy&lt;br /&gt;
  Media Type = File #typ woluminu. Określa jakiego typu nośniki obsługuje dane urządzenie.&lt;br /&gt;
  Archive Device = /home/bacula/backup/serwer  # Archive Device – lokalizacja urządzenia. &lt;br /&gt;
 Jeśli urządzeniem jest dysk, to podawany jest tutaj punkt jego montowania&lt;br /&gt;
  Device Type = File # Device Type – określa typ urządzenia. Możliwe typy urządzeń to: File – &lt;br /&gt;
 dla dysków, Tape – dla urządzeń taśmowych, Fifo – dla kolejek FIFO, DVD – dla napędów DVD-ROM&lt;br /&gt;
  LabelMedia = yes;&lt;br /&gt;
  AutomaticMount = yes;&lt;br /&gt;
  RemovableMedia = no;     #mówi o tym, czy urządzenie obsługuje wymienne nośniki. Dla urządzeń &lt;br /&gt;
 taśmowych, napędów DVD jak i wyjmowalnych dysków (np. dyski zewnętrzne lub pendrive) dyrektywa &lt;br /&gt;
 powinna być ustawiona na &amp;quot;yes&amp;quot;. Dla stałych dysków dyrektywa powinna być ustawiona na &amp;quot;no&amp;quot;&lt;br /&gt;
  AlwaysOpen = no;&lt;br /&gt;
 }&lt;br /&gt;
 Device {&lt;br /&gt;
  Name = &amp;quot;slawek&amp;quot;&lt;br /&gt;
  Media Type = File&lt;br /&gt;
  Archive Device = /home/bacula/backup/slawek&lt;br /&gt;
  LabelMedia = yes;&lt;br /&gt;
  AutomaticMount = yes;&lt;br /&gt;
  RemovableMedia = no;&lt;br /&gt;
  AlwaysOpen = no;&lt;br /&gt;
 }&lt;br /&gt;
 Messages {&lt;br /&gt;
  Name = Standard   #nazwa zasobu. Używana jest na wewnętrzne potrzeby demona i nie zostaje &lt;br /&gt;
 przekazana nigdzie na zewnątrz&lt;br /&gt;
  director = backup-serwer-dir = all   # Określa się tu dwie wartości: nazwę zarządcy do którego &lt;br /&gt;
 dyrektywa się tyczy oraz poziom logowania. Wartość 'all' oznacza, że raportowane będą wszystkie &lt;br /&gt;
 zmiany i statusy podczas pracy demona magazynowania.&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
Uwaga hasło &amp;quot;''haslo123''&amp;quot;  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.&lt;br /&gt;
 &lt;br /&gt;
Więcej informacji znajdziesz na polskiej stronie na temat oprogramowania bacula [http://www.bacula.pl www.bacula.pl].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;google1 style=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/google1&amp;gt;&lt;/div&gt;</summary>
		<author><name>Slawek</name></author>	</entry>

	<entry>
		<id>http://wiki.linux-user.eu/index.php/Bacula_-_backup_danych</id>
		<title>Bacula - backup danych</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux-user.eu/index.php/Bacula_-_backup_danych"/>
				<updated>2012-09-16T12:58:47Z</updated>
		
		<summary type="html">&lt;p&gt;Slawek: /* Plik bacula-dir.conf - Director */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Serwer]]&lt;br /&gt;
== Backup danych - Bacula ==&lt;br /&gt;
'''Bacula''' jest profesjonalnym systemem archiwizacji danych typu klien-serwer. Jest to darmowe oprogramowanie, które odpowiada za tworzenie, przywracania oraz weryfikację danych. Sam serwer może działać na wielu platformach Linux, FreeBSD czy Solaris. Klient baculi archiwizuje dane z wilu platform łącznie z windowsami.&lt;br /&gt;
Bacula w skrócie:&lt;br /&gt;
* budowa modularna&lt;br /&gt;
* archiwizacja danych z platform Linux, Windows, Mac OS&lt;br /&gt;
* zaplecze bazo danowe w postaci MySQL, PostgreSQL czy SQLite&lt;br /&gt;
* dostęp do oprogramowania baculi na licencjo OpenSource&lt;br /&gt;
* kopia danych na woluminach wielotaśmowych&lt;br /&gt;
* umożliwia szyfrowanie danych przepływających przez sieć&lt;br /&gt;
* archiwizuje pliki większe niż 2 GBobsługuje automatyczne zmieniarki&lt;br /&gt;
* może wykonywać skrypty przed i po archiwizazcji&lt;br /&gt;
* scentralizowany system zarządzania kopiami dla całej sieci&lt;br /&gt;
&lt;br /&gt;
== Instalacja serwera bacula ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Potrzebne oprogramowanie do działania baculi zaznaczyłem w trakcie instalacji systemu &amp;quot;''[[LAMP]] Server''&amp;quot; , 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&lt;br /&gt;
* w systemie [[CentOS]]&lt;br /&gt;
 yum install bacula-client bacula-common bacula-console bacula-director-common bacula-director-mysql bacula-docs bacula-storage-common &lt;br /&gt;
 bacula-storage-mysql mysql mysql-devel mysql-server&lt;br /&gt;
* w systemie [[Ubuntu]] Server&lt;br /&gt;
  apt-get install bacula apache2 mysql php&lt;br /&gt;
i to tak na prawdę wszyst. Uwaga jeśli chcesz aby Twoja instalacja baculi współpracowała z np bazą danych mysql to musisz instalować pakiety np ''bacula-director-mysql'', ''bacula-common-mysql''  i tak dalej jeśli chcesz przeprowadzić  instalację do współpracy z odpowiednią bazą danych  to musisz jawnie o tym powiadomić instalator podczas instalacji oprogramowania.&lt;br /&gt;
Potrzebne pakiety do poprawnego działania to:&lt;br /&gt;
* bacula-common-mysql&lt;br /&gt;
* bacula-console&lt;br /&gt;
* bacula-director-common&lt;br /&gt;
* bacula-director-mysql&lt;br /&gt;
* bacula-fd (klient)&lt;br /&gt;
* bacula-sd-mysql&lt;br /&gt;
* bacula-server&lt;br /&gt;
* dbconfig-common&lt;br /&gt;
W trakcie instalacji na systemie '''Ubuntu Server''', powyższych pakietów system pyta nas o konfiguracje bazy danych dla '''baculi''' za pomocą oprogramowania '''dbconfig-common''', oczywiście się zgadzamy &amp;quot;''Configure database for bacula-director-mysql with dbconfig-common?''&amp;quot;, po zatwierdzeniu będziemy musieli podać hasło do użytkownika root bazy danych oraz nowe hasło dla '''bacula-director-mysql'''.  Do instalacji tego oprogramowania nie potrzebowałem żadnego dodatkowego repozytorium. Po poprawnej instalacji Twój serwer archiwizacji danych powinien być gotowy do konfiguracji.&amp;lt;br /&amp;gt;&lt;br /&gt;
* W systemie [[CentOS]] po instalacji pakietów musimy skonfigurować ręcznie bazę danych i tak na początku uruchamiamy serwer mysqla &lt;br /&gt;
 service mysqld start &lt;br /&gt;
następnie &lt;br /&gt;
 /usr/bin/mysql_secure_installation &lt;br /&gt;
i ustawiamy hasło do bazy danych i inne opcje (konfiguracja serwera MySQL dostępna jest [[MySQL|tutaj]]), następnie &lt;br /&gt;
 service mysqld restart &lt;br /&gt;
i  &lt;br /&gt;
 chkconfig mysqld on  &lt;br /&gt;
tworzymy bazę danych dla baculi &lt;br /&gt;
 cd /usr/libexec/bacula/ &lt;br /&gt;
a następnie &lt;br /&gt;
 ./create_mysql_database -u root -p &lt;br /&gt;
tworzymy tabele w bazie baculi &lt;br /&gt;
 ./make_mysql_tables -u root -p &lt;br /&gt;
nadanie przywilejów dla usera bacula &lt;br /&gt;
 ./grant_mysql_privileges -u root -p &lt;br /&gt;
następnie nadajemy użytkownikowi bazy danych bacula hasło (obecnie brak hasła), logujemy się do bazy danych &lt;br /&gt;
 mysql -u root -p &lt;br /&gt;
a następnie wydajemy polecenie &lt;br /&gt;
 UPDATE mysql.user set password=password('haslo_dla_usera_bacula') where user='bacula'; &lt;br /&gt;
restartujemy bazę danych &lt;br /&gt;
 service mysqld restart&lt;br /&gt;
&lt;br /&gt;
== Konfiguracja serwera Bacula ==&lt;br /&gt;
&lt;br /&gt;
Wszystkie pliki konfiguracyjne baculi powinny znajdować się w ścieżce ''/etc/bacula/'' usługę możesz restartować zatrzymywać oraz startować za pomocą polecenia&lt;br /&gt;
 /etc/init.d/bacula-dir start/stop/restart/status &lt;br /&gt;
 /etc/init.d/bacula-sd start/stop/restart/status&lt;br /&gt;
 /etc/init.d/bacula-fd start/stop/restart/status&lt;br /&gt;
&lt;br /&gt;
== Pliki konfiguracyjne ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Plik '''bacula-dir.conf'''&amp;lt;br /&amp;gt; '''Director''' – dane zarządcy uprawnionego do używania urządzeń demona magazynowania&lt;br /&gt;
# Plik '''bacula-fd.conf'''&amp;lt;br /&amp;gt;'''Device''' – definicja urządzenia archiwizującego&lt;br /&gt;
# Plik '''bacula-sd.conf'''&amp;lt;br /&amp;gt;'''StorageDaemon''' – główna konfiguracja demona magazynowania&lt;br /&gt;
# Plik '''bconsole.conf''' - plik konsoli bacula&lt;br /&gt;
#Plik konfiguracji każdego klienta np '''slawek-backup.conf'''&lt;br /&gt;
Poniżej przedstawie przykładowe pliki konfiguracyjne z działającego serwera i pokrótce  postaram się opisać najważniejsze opcje każdego z nich.&lt;br /&gt;
&lt;br /&gt;
== Plik bacula-dir.conf - Director ==&lt;br /&gt;
Plik '''bacula-dir.conf''' zawiera sekcje&lt;br /&gt;
* Director – główna konfiguracja zarządcy,&lt;br /&gt;
* Catalog – parametry połączenia z bazą danych,&lt;br /&gt;
* Messages – sposób zapisywania dzienników (w tym powiadomienia na e-mail),&lt;br /&gt;
* Job – zadanie (backup, restore, weryfikacja, migracja, kopiowanie i inne),&lt;br /&gt;
* FileSet – opcje zadania (listy dołączeń, listy wykluczeń, sygnatury plików, kompresja programowa i inne),&lt;br /&gt;
* Storage – ustawienia dostępnych urządzeń archiwizujących,&lt;br /&gt;
* Client – definicja klientów,&lt;br /&gt;
* Pool – pula woluminów,&lt;br /&gt;
* Schedule – harmonogram zadań.&lt;br /&gt;
&lt;br /&gt;
Przykładowa konfiguracja&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Director {&lt;br /&gt;
	 Name = ogrody-dir #nazwa zarzadcy&lt;br /&gt;
	 Password = &amp;quot;qwerty123-dir&amp;quot; #haslo, uzywaja programy łączące się z zarządcy&lt;br /&gt;
	 DIR Address = 192.168.2.15 #adres IP interfejsu sieciowego&lt;br /&gt;
	 DIR Port = 9101 #port na którym ma nasłuchiwać zarządca&lt;br /&gt;
	 QueryFile = &amp;quot;/usr/libexec/bacula/query.sql&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
         WorkingDirectory = &amp;quot;/var/spool/bacula&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
         PidDirectory = &amp;quot;/var/run&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
	 Messages = DirRaport #nazwa zasobu messages, uzyta ponizej&lt;br /&gt;
	 Maximum Concurrent jobs = 5 #ilość zadań, które jednocześnie może wykonywać zarządca&lt;br /&gt;
 }&lt;br /&gt;
 Catalog {&lt;br /&gt;
	Name = &amp;quot;Baza-danych-bacula&amp;quot; #nazwa zasobu, używana w zasobach client&lt;br /&gt;
	DB Name = bacula #nazwa bazy danych&lt;br /&gt;
	DB Address = 127.0.0.1 # adres bazy danych&lt;br /&gt;
	DB Port = 3306 #port na którym nasłuchuje mysql&lt;br /&gt;
	User = bacula #użytkownik do bazy danych dla baculi&lt;br /&gt;
	Password = bacula1 #hasło użytkownika baculi&lt;br /&gt;
 } &lt;br /&gt;
 Messages {&lt;br /&gt;
	Name = DirRaport #nazwa zasobu, odpowiada ona nazwie w zasobie Director opcji messages&lt;br /&gt;
	Mailcommand = &amp;quot;/usr/sbin/bsmtp -h localhost -f \&amp;quot;\(Bacula\) \&amp;lt;%r\&amp;gt;\&amp;quot; -s \&amp;quot;Bacula: %t %e of %c %l\&amp;quot; %r&amp;quot; #komenda do wysłania maila z powiadomieniem&lt;br /&gt;
  	Operatorcommand = &amp;quot;/usr/sbin/bsmtp -h localhost -f \&amp;quot;\(Bacula\) \&amp;lt;%r\&amp;gt;\&amp;quot; -s \&amp;quot;Bacula: Intervention needed for %j\&amp;quot; %r&amp;quot; #mail z powiadomieniem&lt;br /&gt;
  	Mail = slawek@linux-user.eu = all, !skipped #mail od kogo&lt;br /&gt;
  	Operator = slawek@linux-user.eu = mount #mail od kogo&lt;br /&gt;
  	Console = all, !skipped, !saved #wyświetlanie statusów i zdarzeń wartość all wyświetla wszystko&lt;br /&gt;
    	Append = &amp;quot;/var/spool/bacula/log&amp;quot; = all, !skipped #ustawienie zapisywania statusów i raportów do pliku logów wartość all wszystko&lt;br /&gt;
 }&lt;br /&gt;
 Storage {&lt;br /&gt;
	Name = Dysk-Pendrive #nazwa zasobu, używana w zasobie jobs&lt;br /&gt;
	Address = 192.168.2.15 #adres IP z bacula-sd, &lt;br /&gt;
	SD Port = 9103 #port bacula-sd&lt;br /&gt;
	Password = qwerty123-sd #hasło do bacula-sd&lt;br /&gt;
	Device = &amp;quot;Urzadzenie pendrive&amp;quot; #nazwa urzadzenia, uzyte również w bacula-sd&lt;br /&gt;
	Media Type = Pliki-na-usb #nazwa typu obsługiwanych woluminów, uzywana w bacula-sd&lt;br /&gt;
	Maximum Concurrent Jobs = 1 #ilośc zadań, które jednocześnie może zrealizować urządzenie&lt;br /&gt;
 } &lt;br /&gt;
 Client {&lt;br /&gt;
	Name = backup_na_pendrive # nazwa klienta, użyta również w sekcji Job&lt;br /&gt;
	Address = 192.168.2.15 #adres IP komputera klienta, &lt;br /&gt;
	FD Port = 9102 #numer portu bacula-client, domyślnie 9102&lt;br /&gt;
	Catalog = &amp;quot;Baza-danych-bacula&amp;quot; #jakiej bazy danych użyć, nazwa z sekcji Catalog&lt;br /&gt;
	Password = &amp;quot;qwerty123-fd&amp;quot; #hasło do bacula-fd na kliencie&lt;br /&gt;
	AutoPrune = no # czyszczenie przestarzałych danych z bazy danych&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
	Name = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
	Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
	Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
	AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
	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&lt;br /&gt;
	Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
	 LabelFormat = &amp;quot;serwer-ogrody-plik-poniedzialek-&amp;quot; &lt;br /&gt;
	Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
        Name = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
        Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
        Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
        AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
        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&lt;br /&gt;
        Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
         LabelFormat = &amp;quot;serwer-ogrody-plik-wtorek-&amp;quot;&lt;br /&gt;
        Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
        Name = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa puli woluminów&lt;br /&gt;
        Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
        Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
        AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
        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&lt;br /&gt;
        Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
         LabelFormat = &amp;quot;serwer-ogrody-plik-sroda-&amp;quot;&lt;br /&gt;
        Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
        Name = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
        Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
        Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
        AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
        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&lt;br /&gt;
        Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
         LabelFormat = &amp;quot;serwer-ogrody-plik-czwartek-&amp;quot;&lt;br /&gt;
        Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
        Name = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
        Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
        Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
        AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
        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&lt;br /&gt;
        Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
         LabelFormat = &amp;quot;serwer-ogrody-plik-piatek-&amp;quot;&lt;br /&gt;
        Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 FileSet {&lt;br /&gt;
	Name = &amp;quot;Baza-danych-postgresql&amp;quot; #nazwa akcji, użyta w sekcji job&lt;br /&gt;
	Include {&lt;br /&gt;
		Options {&lt;br /&gt;
			Signature = MD5 # sposób tworzenia sygnatur kopii zapasowych&lt;br /&gt;
			}&lt;br /&gt;
		File = /var/lib/pgsql/9.1/data/ #pliki do archiwizowania&lt;br /&gt;
		}&lt;br /&gt;
	Exclude { #nie archiwizuj poniższych plików&lt;br /&gt;
  	    File = /var/lib/pgsql/9.1/data/backup_test &lt;br /&gt;
	    File = /var/lib/pgsql/9.1/data/backup_test_pg&lt;br /&gt;
  }&lt;br /&gt;
 }&lt;br /&gt;
 FileSet {&lt;br /&gt;
	Name = &amp;quot;Pliki-samby&amp;quot;&lt;br /&gt;
	Include {&lt;br /&gt;
		Options {&lt;br /&gt;
                        Signature = MD5 # sposób tworzenia sygnatur kopii zapasowych&lt;br /&gt;
                        }&lt;br /&gt;
                File = /home/samba/&lt;br /&gt;
                }&lt;br /&gt;
	Exclude {&lt;br /&gt;
		File = /home/samba/.*&lt;br /&gt;
		}&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
	Name = &amp;quot;Cykl-codzienny-full-poniedzialek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
	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ę &lt;br /&gt;
 #wykonywać w dni od poniedziałku do piątku&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-wtorek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
        Run = Full tuesday at 00:04  &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-sroda&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
        Run = Full wednesday at 15:10 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-czwartek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
        Run = Full thursday at 15:10 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-piatek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
        Run = Full friday at 16:15 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-incremental-poniedzialek&amp;quot;&lt;br /&gt;
        Run = Incremental monday at 10:00 #kopia przyrostowa w poniedziałek o 10:00&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-incremental-wtorek&amp;quot;&lt;br /&gt;
        Run = Incremental tuesday at 00:23 &lt;br /&gt;
 }&lt;br /&gt;
Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-incremental-sroda&amp;quot;&lt;br /&gt;
        Run = Incremental wednesday at 15:13 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-incremental-czwartek&amp;quot;&lt;br /&gt;
        Run = Incremental thursday at 15:13 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-incremental-piatek&amp;quot;&lt;br /&gt;
        Run = Incremental friday at 16:17 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-samba-poniedzialek&amp;quot; &lt;br /&gt;
        Run = Full monday at 01:00 #backup powinien wykonać się w poniedziałek o godzinie 01:00&lt;br /&gt;
}&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-samba-wtorek&amp;quot; &lt;br /&gt;
        Run = Full tuesday at 00:06 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-samba-sroda&amp;quot; &lt;br /&gt;
        Run = Full wednesday at 00:06 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-samba-czwartek&amp;quot; &lt;br /&gt;
        Run = Full thursday at 15:11 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-samba-piatek&amp;quot; &lt;br /&gt;
        Run = Full friday at 16:19 &lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-poniedzialek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-poniedzialek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-poniedzialek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-wtorek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-wtorek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-wtorek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-sroda&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-sroda&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-sroda&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-baza_danych-czwartek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-czwartek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-czwartek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-piatek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-piatek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-piatek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-poniedzialek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-poniedzialek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-poniedzialek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-wtorek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-wtorek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-wtorek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-sroda&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-sroda&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-sroda&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-samby-czwartek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-czwartek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-czwartek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-piatek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-piatek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-piatek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
	Name = &amp;quot;Backup-bazy-danych-omeda-full-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
	Type = Backup&lt;br /&gt;
	Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
	Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
	Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
	Schedule = &amp;quot;Cykl-codzienny-full-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
	Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
	FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
	# skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
	Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
	# Usuwanie zbekapowanego backupu&lt;br /&gt;
	Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-full-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
	# Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-full-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
         }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-full-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-full-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
	# skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
	Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
	# Usuwanie zbekapowanego backupu&lt;br /&gt;
	Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot; &lt;br /&gt;
	 &lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }      &lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }       &lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Konfiguracja pliku bacula-fd.conf - File Daemon ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Director {&lt;br /&gt;
 Name = backup-serwer-dir&lt;br /&gt;
 Password = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
 Name = backup-serwer-mon&lt;br /&gt;
 Password = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
 Monitor = yes&lt;br /&gt;
 }&lt;br /&gt;
 FileDaemon {&lt;br /&gt;
 Name = backup-serwer-fd&lt;br /&gt;
 FDport = 9102&lt;br /&gt;
 WorkingDirectory = /var/lib/bacula&lt;br /&gt;
 Pid Directory = /var/run/bacula&lt;br /&gt;
 Maximum Concurrent Jobs = 20&lt;br /&gt;
 FDAddress = 127.0.0.1&lt;br /&gt;
 }&lt;br /&gt;
 Messages {&lt;br /&gt;
 Name = Standard&lt;br /&gt;
 director = backup-serwer-dir = all, !skipped, !restored&lt;br /&gt;
 } &lt;br /&gt;
Konfiguracja Storage Daemona '''bacula-sd.conf'''&lt;br /&gt;
&lt;br /&gt;
 Storage {                           &lt;br /&gt;
  Name = backup-serwer-sd   # Name – nazwa demona magazynowania. &lt;br /&gt;
 Nie jest ona powiązana z żadną inną konfiguracją usług&lt;br /&gt;
  SDPort = 9103                  # Director's port      &lt;br /&gt;
  WorkingDirectory = &amp;quot;/var/lib/bacula&amp;quot;   #Working Directory – katalog w którym serwis &lt;br /&gt;
 będzie przechowywał pliki swoich statusów. Dobrą praktyką jest zdefiniować taki katalog, &lt;br /&gt;
 który przeznaczony będzie tylko do tego celu.&lt;br /&gt;
  Pid Directory = &amp;quot;/var/run/bacula&amp;quot;  #PID Directory – lokalizacja, w której demon &lt;br /&gt;
 magazynowania będzie zapisywał plik z identyfikatorem procesu, jaki otrzymał &lt;br /&gt;
 demon przy starcie&lt;br /&gt;
  Maximum Concurrent Jobs = 2&lt;br /&gt;
  SDAddress = 192.168.0.10   #SD Address – dyrektywa definiuje adres IP interfejsu, &lt;br /&gt;
 na którym będzie nasłuchiwał demon.&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
  Name = backup-serwer-dir   # Name – nazwa zarządcy uprawnionego do używania &lt;br /&gt;
 demona magazynowania. Nazwa zarządcy określanego w tej dyrektywie musi odpowiadać &lt;br /&gt;
 nazwie zarządcy zdefiniowanej w innych plikach konfiguracyjnych.&lt;br /&gt;
  Password = &amp;quot;s7s8,.zq&amp;quot;   # Password – hasło, którym zarządca będzie autoryzował się do &lt;br /&gt;
 demona magazynowania. Podane tu hasło definiowane jest również w pliku konfiguracyjnym zarządcy.&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
  Name = backup-serwer-mon&lt;br /&gt;
  Password = &amp;quot;s7s8,.zq&amp;quot;&lt;br /&gt;
  Monitor = yes&lt;br /&gt;
 }&lt;br /&gt;
 Device {&lt;br /&gt;
  Name = &amp;quot;serwer&amp;quot; # Name – nazwa urządzenia. Ta sama nazwa jest definiowana również w &lt;br /&gt;
 pliku konfiguracyjnym zarządcy&lt;br /&gt;
  Media Type = File #typ woluminu. Określa jakiego typu nośniki obsługuje dane urządzenie.&lt;br /&gt;
  Archive Device = /home/bacula/backup/serwer  # Archive Device – lokalizacja urządzenia. &lt;br /&gt;
 Jeśli urządzeniem jest dysk, to podawany jest tutaj punkt jego montowania&lt;br /&gt;
  Device Type = File # Device Type – określa typ urządzenia. Możliwe typy urządzeń to: File – &lt;br /&gt;
 dla dysków, Tape – dla urządzeń taśmowych, Fifo – dla kolejek FIFO, DVD – dla napędów DVD-ROM&lt;br /&gt;
  LabelMedia = yes;&lt;br /&gt;
  AutomaticMount = yes;&lt;br /&gt;
  RemovableMedia = no;     #mówi o tym, czy urządzenie obsługuje wymienne nośniki. Dla urządzeń &lt;br /&gt;
 taśmowych, napędów DVD jak i wyjmowalnych dysków (np. dyski zewnętrzne lub pendrive) dyrektywa &lt;br /&gt;
 powinna być ustawiona na &amp;quot;yes&amp;quot;. Dla stałych dysków dyrektywa powinna być ustawiona na &amp;quot;no&amp;quot;&lt;br /&gt;
  AlwaysOpen = no;&lt;br /&gt;
 }&lt;br /&gt;
 Device {&lt;br /&gt;
  Name = &amp;quot;slawek&amp;quot;&lt;br /&gt;
  Media Type = File&lt;br /&gt;
  Archive Device = /home/bacula/backup/slawek&lt;br /&gt;
  LabelMedia = yes;&lt;br /&gt;
  AutomaticMount = yes;&lt;br /&gt;
  RemovableMedia = no;&lt;br /&gt;
  AlwaysOpen = no;&lt;br /&gt;
 }&lt;br /&gt;
 Messages {&lt;br /&gt;
  Name = Standard   #nazwa zasobu. Używana jest na wewnętrzne potrzeby demona i nie zostaje &lt;br /&gt;
 przekazana nigdzie na zewnątrz&lt;br /&gt;
  director = backup-serwer-dir = all   # Określa się tu dwie wartości: nazwę zarządcy do którego &lt;br /&gt;
 dyrektywa się tyczy oraz poziom logowania. Wartość 'all' oznacza, że raportowane będą wszystkie &lt;br /&gt;
 zmiany i statusy podczas pracy demona magazynowania.&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
Uwaga hasło &amp;quot;''haslo123''&amp;quot;  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.&lt;br /&gt;
 &lt;br /&gt;
Więcej informacji znajdziesz na polskiej stronie na temat oprogramowania bacula [http://www.bacula.pl www.bacula.pl].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;google1 style=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/google1&amp;gt;&lt;/div&gt;</summary>
		<author><name>Slawek</name></author>	</entry>

	<entry>
		<id>http://wiki.linux-user.eu/index.php/Bacula_-_backup_danych</id>
		<title>Bacula - backup danych</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux-user.eu/index.php/Bacula_-_backup_danych"/>
				<updated>2012-09-16T12:58:19Z</updated>
		
		<summary type="html">&lt;p&gt;Slawek: /* Plik bacula-dir.conf - Director */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Serwer]]&lt;br /&gt;
== Backup danych - Bacula ==&lt;br /&gt;
'''Bacula''' jest profesjonalnym systemem archiwizacji danych typu klien-serwer. Jest to darmowe oprogramowanie, które odpowiada za tworzenie, przywracania oraz weryfikację danych. Sam serwer może działać na wielu platformach Linux, FreeBSD czy Solaris. Klient baculi archiwizuje dane z wilu platform łącznie z windowsami.&lt;br /&gt;
Bacula w skrócie:&lt;br /&gt;
* budowa modularna&lt;br /&gt;
* archiwizacja danych z platform Linux, Windows, Mac OS&lt;br /&gt;
* zaplecze bazo danowe w postaci MySQL, PostgreSQL czy SQLite&lt;br /&gt;
* dostęp do oprogramowania baculi na licencjo OpenSource&lt;br /&gt;
* kopia danych na woluminach wielotaśmowych&lt;br /&gt;
* umożliwia szyfrowanie danych przepływających przez sieć&lt;br /&gt;
* archiwizuje pliki większe niż 2 GBobsługuje automatyczne zmieniarki&lt;br /&gt;
* może wykonywać skrypty przed i po archiwizazcji&lt;br /&gt;
* scentralizowany system zarządzania kopiami dla całej sieci&lt;br /&gt;
&lt;br /&gt;
== Instalacja serwera bacula ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Potrzebne oprogramowanie do działania baculi zaznaczyłem w trakcie instalacji systemu &amp;quot;''[[LAMP]] Server''&amp;quot; , 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&lt;br /&gt;
* w systemie [[CentOS]]&lt;br /&gt;
 yum install bacula-client bacula-common bacula-console bacula-director-common bacula-director-mysql bacula-docs bacula-storage-common &lt;br /&gt;
 bacula-storage-mysql mysql mysql-devel mysql-server&lt;br /&gt;
* w systemie [[Ubuntu]] Server&lt;br /&gt;
  apt-get install bacula apache2 mysql php&lt;br /&gt;
i to tak na prawdę wszyst. Uwaga jeśli chcesz aby Twoja instalacja baculi współpracowała z np bazą danych mysql to musisz instalować pakiety np ''bacula-director-mysql'', ''bacula-common-mysql''  i tak dalej jeśli chcesz przeprowadzić  instalację do współpracy z odpowiednią bazą danych  to musisz jawnie o tym powiadomić instalator podczas instalacji oprogramowania.&lt;br /&gt;
Potrzebne pakiety do poprawnego działania to:&lt;br /&gt;
* bacula-common-mysql&lt;br /&gt;
* bacula-console&lt;br /&gt;
* bacula-director-common&lt;br /&gt;
* bacula-director-mysql&lt;br /&gt;
* bacula-fd (klient)&lt;br /&gt;
* bacula-sd-mysql&lt;br /&gt;
* bacula-server&lt;br /&gt;
* dbconfig-common&lt;br /&gt;
W trakcie instalacji na systemie '''Ubuntu Server''', powyższych pakietów system pyta nas o konfiguracje bazy danych dla '''baculi''' za pomocą oprogramowania '''dbconfig-common''', oczywiście się zgadzamy &amp;quot;''Configure database for bacula-director-mysql with dbconfig-common?''&amp;quot;, po zatwierdzeniu będziemy musieli podać hasło do użytkownika root bazy danych oraz nowe hasło dla '''bacula-director-mysql'''.  Do instalacji tego oprogramowania nie potrzebowałem żadnego dodatkowego repozytorium. Po poprawnej instalacji Twój serwer archiwizacji danych powinien być gotowy do konfiguracji.&amp;lt;br /&amp;gt;&lt;br /&gt;
* W systemie [[CentOS]] po instalacji pakietów musimy skonfigurować ręcznie bazę danych i tak na początku uruchamiamy serwer mysqla &lt;br /&gt;
 service mysqld start &lt;br /&gt;
następnie &lt;br /&gt;
 /usr/bin/mysql_secure_installation &lt;br /&gt;
i ustawiamy hasło do bazy danych i inne opcje (konfiguracja serwera MySQL dostępna jest [[MySQL|tutaj]]), następnie &lt;br /&gt;
 service mysqld restart &lt;br /&gt;
i  &lt;br /&gt;
 chkconfig mysqld on  &lt;br /&gt;
tworzymy bazę danych dla baculi &lt;br /&gt;
 cd /usr/libexec/bacula/ &lt;br /&gt;
a następnie &lt;br /&gt;
 ./create_mysql_database -u root -p &lt;br /&gt;
tworzymy tabele w bazie baculi &lt;br /&gt;
 ./make_mysql_tables -u root -p &lt;br /&gt;
nadanie przywilejów dla usera bacula &lt;br /&gt;
 ./grant_mysql_privileges -u root -p &lt;br /&gt;
następnie nadajemy użytkownikowi bazy danych bacula hasło (obecnie brak hasła), logujemy się do bazy danych &lt;br /&gt;
 mysql -u root -p &lt;br /&gt;
a następnie wydajemy polecenie &lt;br /&gt;
 UPDATE mysql.user set password=password('haslo_dla_usera_bacula') where user='bacula'; &lt;br /&gt;
restartujemy bazę danych &lt;br /&gt;
 service mysqld restart&lt;br /&gt;
&lt;br /&gt;
== Konfiguracja serwera Bacula ==&lt;br /&gt;
&lt;br /&gt;
Wszystkie pliki konfiguracyjne baculi powinny znajdować się w ścieżce ''/etc/bacula/'' usługę możesz restartować zatrzymywać oraz startować za pomocą polecenia&lt;br /&gt;
 /etc/init.d/bacula-dir start/stop/restart/status &lt;br /&gt;
 /etc/init.d/bacula-sd start/stop/restart/status&lt;br /&gt;
 /etc/init.d/bacula-fd start/stop/restart/status&lt;br /&gt;
&lt;br /&gt;
== Pliki konfiguracyjne ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Plik '''bacula-dir.conf'''&amp;lt;br /&amp;gt; '''Director''' – dane zarządcy uprawnionego do używania urządzeń demona magazynowania&lt;br /&gt;
# Plik '''bacula-fd.conf'''&amp;lt;br /&amp;gt;'''Device''' – definicja urządzenia archiwizującego&lt;br /&gt;
# Plik '''bacula-sd.conf'''&amp;lt;br /&amp;gt;'''StorageDaemon''' – główna konfiguracja demona magazynowania&lt;br /&gt;
# Plik '''bconsole.conf''' - plik konsoli bacula&lt;br /&gt;
#Plik konfiguracji każdego klienta np '''slawek-backup.conf'''&lt;br /&gt;
Poniżej przedstawie przykładowe pliki konfiguracyjne z działającego serwera i pokrótce  postaram się opisać najważniejsze opcje każdego z nich.&lt;br /&gt;
&lt;br /&gt;
== Plik bacula-dir.conf - Director ==&lt;br /&gt;
Plik '''bacula-dir.conf''' zawiera sekcje&lt;br /&gt;
* Director – główna konfiguracja zarządcy,&lt;br /&gt;
* Catalog – parametry połączenia z bazą danych,&lt;br /&gt;
* Messages – sposób zapisywania dzienników (w tym powiadomienia na e-mail),&lt;br /&gt;
* Job – zadanie (backup, restore, weryfikacja, migracja, kopiowanie i inne),&lt;br /&gt;
* FileSet – opcje zadania (listy dołączeń, listy wykluczeń, sygnatury plików, kompresja programowa i inne),&lt;br /&gt;
* Storage – ustawienia dostępnych urządzeń archiwizujących,&lt;br /&gt;
* Client – definicja klientów,&lt;br /&gt;
* Pool – pula woluminów,&lt;br /&gt;
* Schedule – harmonogram zadań.&lt;br /&gt;
&lt;br /&gt;
Przykładowa konfiguracja&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
:Director {&lt;br /&gt;
:	 Name = ogrody-dir #nazwa zarzadcy&lt;br /&gt;
:	 Password = &amp;quot;qwerty123-dir&amp;quot; #haslo, uzywaja programy łączące się z zarządcy&lt;br /&gt;
:	 DIR Address = 192.168.2.15 #adres IP interfejsu sieciowego&lt;br /&gt;
:	 DIR Port = 9101 #port na którym ma nasłuchiwać zarządca&lt;br /&gt;
:	 QueryFile = &amp;quot;/usr/libexec/bacula/query.sql&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
:         WorkingDirectory = &amp;quot;/var/spool/bacula&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
:         PidDirectory = &amp;quot;/var/run&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
:	 Messages = DirRaport #nazwa zasobu messages, uzyta ponizej&lt;br /&gt;
:	 Maximum Concurrent jobs = 5 #ilość zadań, które jednocześnie może wykonywać zarządca&lt;br /&gt;
: }&lt;br /&gt;
 Catalog {&lt;br /&gt;
	Name = &amp;quot;Baza-danych-bacula&amp;quot; #nazwa zasobu, używana w zasobach client&lt;br /&gt;
	DB Name = bacula #nazwa bazy danych&lt;br /&gt;
	DB Address = 127.0.0.1 # adres bazy danych&lt;br /&gt;
	DB Port = 3306 #port na którym nasłuchuje mysql&lt;br /&gt;
	User = bacula #użytkownik do bazy danych dla baculi&lt;br /&gt;
	Password = bacula1 #hasło użytkownika baculi&lt;br /&gt;
 } &lt;br /&gt;
 Messages {&lt;br /&gt;
	Name = DirRaport #nazwa zasobu, odpowiada ona nazwie w zasobie Director opcji messages&lt;br /&gt;
	Mailcommand = &amp;quot;/usr/sbin/bsmtp -h localhost -f \&amp;quot;\(Bacula\) \&amp;lt;%r\&amp;gt;\&amp;quot; -s \&amp;quot;Bacula: %t %e of %c %l\&amp;quot; %r&amp;quot; #komenda do wysłania maila z powiadomieniem&lt;br /&gt;
  	Operatorcommand = &amp;quot;/usr/sbin/bsmtp -h localhost -f \&amp;quot;\(Bacula\) \&amp;lt;%r\&amp;gt;\&amp;quot; -s \&amp;quot;Bacula: Intervention needed for %j\&amp;quot; %r&amp;quot; #mail z powiadomieniem&lt;br /&gt;
  	Mail = slawek@linux-user.eu = all, !skipped #mail od kogo&lt;br /&gt;
  	Operator = slawek@linux-user.eu = mount #mail od kogo&lt;br /&gt;
  	Console = all, !skipped, !saved #wyświetlanie statusów i zdarzeń wartość all wyświetla wszystko&lt;br /&gt;
    	Append = &amp;quot;/var/spool/bacula/log&amp;quot; = all, !skipped #ustawienie zapisywania statusów i raportów do pliku logów wartość all wszystko&lt;br /&gt;
 }&lt;br /&gt;
 Storage {&lt;br /&gt;
	Name = Dysk-Pendrive #nazwa zasobu, używana w zasobie jobs&lt;br /&gt;
	Address = 192.168.2.15 #adres IP z bacula-sd, &lt;br /&gt;
	SD Port = 9103 #port bacula-sd&lt;br /&gt;
	Password = qwerty123-sd #hasło do bacula-sd&lt;br /&gt;
	Device = &amp;quot;Urzadzenie pendrive&amp;quot; #nazwa urzadzenia, uzyte również w bacula-sd&lt;br /&gt;
	Media Type = Pliki-na-usb #nazwa typu obsługiwanych woluminów, uzywana w bacula-sd&lt;br /&gt;
	Maximum Concurrent Jobs = 1 #ilośc zadań, które jednocześnie może zrealizować urządzenie&lt;br /&gt;
 } &lt;br /&gt;
 Client {&lt;br /&gt;
	Name = backup_na_pendrive # nazwa klienta, użyta również w sekcji Job&lt;br /&gt;
	Address = 192.168.2.15 #adres IP komputera klienta, &lt;br /&gt;
	FD Port = 9102 #numer portu bacula-client, domyślnie 9102&lt;br /&gt;
	Catalog = &amp;quot;Baza-danych-bacula&amp;quot; #jakiej bazy danych użyć, nazwa z sekcji Catalog&lt;br /&gt;
	Password = &amp;quot;qwerty123-fd&amp;quot; #hasło do bacula-fd na kliencie&lt;br /&gt;
	AutoPrune = no # czyszczenie przestarzałych danych z bazy danych&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
	Name = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
	Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
	Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
	AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
	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&lt;br /&gt;
	Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
	 LabelFormat = &amp;quot;serwer-ogrody-plik-poniedzialek-&amp;quot; &lt;br /&gt;
	Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
        Name = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
        Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
        Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
        AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
        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&lt;br /&gt;
        Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
         LabelFormat = &amp;quot;serwer-ogrody-plik-wtorek-&amp;quot;&lt;br /&gt;
        Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
        Name = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa puli woluminów&lt;br /&gt;
        Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
        Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
        AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
        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&lt;br /&gt;
        Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
         LabelFormat = &amp;quot;serwer-ogrody-plik-sroda-&amp;quot;&lt;br /&gt;
        Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
        Name = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
        Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
        Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
        AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
        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&lt;br /&gt;
        Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
         LabelFormat = &amp;quot;serwer-ogrody-plik-czwartek-&amp;quot;&lt;br /&gt;
        Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
        Name = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
        Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
        Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
        AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
        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&lt;br /&gt;
        Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
         LabelFormat = &amp;quot;serwer-ogrody-plik-piatek-&amp;quot;&lt;br /&gt;
        Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 FileSet {&lt;br /&gt;
	Name = &amp;quot;Baza-danych-postgresql&amp;quot; #nazwa akcji, użyta w sekcji job&lt;br /&gt;
	Include {&lt;br /&gt;
		Options {&lt;br /&gt;
			Signature = MD5 # sposób tworzenia sygnatur kopii zapasowych&lt;br /&gt;
			}&lt;br /&gt;
		File = /var/lib/pgsql/9.1/data/ #pliki do archiwizowania&lt;br /&gt;
		}&lt;br /&gt;
	Exclude { #nie archiwizuj poniższych plików&lt;br /&gt;
  	    File = /var/lib/pgsql/9.1/data/backup_test &lt;br /&gt;
	    File = /var/lib/pgsql/9.1/data/backup_test_pg&lt;br /&gt;
  }&lt;br /&gt;
 }&lt;br /&gt;
 FileSet {&lt;br /&gt;
	Name = &amp;quot;Pliki-samby&amp;quot;&lt;br /&gt;
	Include {&lt;br /&gt;
		Options {&lt;br /&gt;
                        Signature = MD5 # sposób tworzenia sygnatur kopii zapasowych&lt;br /&gt;
                        }&lt;br /&gt;
                File = /home/samba/&lt;br /&gt;
                }&lt;br /&gt;
	Exclude {&lt;br /&gt;
		File = /home/samba/.*&lt;br /&gt;
		}&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
	Name = &amp;quot;Cykl-codzienny-full-poniedzialek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
	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ę &lt;br /&gt;
 #wykonywać w dni od poniedziałku do piątku&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-wtorek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
        Run = Full tuesday at 00:04  &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-sroda&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
        Run = Full wednesday at 15:10 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-czwartek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
        Run = Full thursday at 15:10 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-piatek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
        Run = Full friday at 16:15 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-incremental-poniedzialek&amp;quot;&lt;br /&gt;
        Run = Incremental monday at 10:00 #kopia przyrostowa w poniedziałek o 10:00&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-incremental-wtorek&amp;quot;&lt;br /&gt;
        Run = Incremental tuesday at 00:23 &lt;br /&gt;
 }&lt;br /&gt;
Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-incremental-sroda&amp;quot;&lt;br /&gt;
        Run = Incremental wednesday at 15:13 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-incremental-czwartek&amp;quot;&lt;br /&gt;
        Run = Incremental thursday at 15:13 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-incremental-piatek&amp;quot;&lt;br /&gt;
        Run = Incremental friday at 16:17 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-samba-poniedzialek&amp;quot; &lt;br /&gt;
        Run = Full monday at 01:00 #backup powinien wykonać się w poniedziałek o godzinie 01:00&lt;br /&gt;
}&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-samba-wtorek&amp;quot; &lt;br /&gt;
        Run = Full tuesday at 00:06 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-samba-sroda&amp;quot; &lt;br /&gt;
        Run = Full wednesday at 00:06 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-samba-czwartek&amp;quot; &lt;br /&gt;
        Run = Full thursday at 15:11 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-samba-piatek&amp;quot; &lt;br /&gt;
        Run = Full friday at 16:19 &lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-poniedzialek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-poniedzialek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-poniedzialek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-wtorek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-wtorek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-wtorek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-sroda&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-sroda&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-sroda&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-baza_danych-czwartek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-czwartek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-czwartek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-piatek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-piatek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-piatek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-poniedzialek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-poniedzialek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-poniedzialek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-wtorek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-wtorek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-wtorek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-sroda&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-sroda&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-sroda&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-samby-czwartek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-czwartek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-czwartek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-piatek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-piatek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-piatek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
	Name = &amp;quot;Backup-bazy-danych-omeda-full-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
	Type = Backup&lt;br /&gt;
	Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
	Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
	Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
	Schedule = &amp;quot;Cykl-codzienny-full-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
	Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
	FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
	# skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
	Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
	# Usuwanie zbekapowanego backupu&lt;br /&gt;
	Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-full-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
	# Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-full-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
         }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-full-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-full-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
	# skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
	Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
	# Usuwanie zbekapowanego backupu&lt;br /&gt;
	Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot; &lt;br /&gt;
	 &lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }      &lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }       &lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Konfiguracja pliku bacula-fd.conf - File Daemon ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Director {&lt;br /&gt;
 Name = backup-serwer-dir&lt;br /&gt;
 Password = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
 Name = backup-serwer-mon&lt;br /&gt;
 Password = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
 Monitor = yes&lt;br /&gt;
 }&lt;br /&gt;
 FileDaemon {&lt;br /&gt;
 Name = backup-serwer-fd&lt;br /&gt;
 FDport = 9102&lt;br /&gt;
 WorkingDirectory = /var/lib/bacula&lt;br /&gt;
 Pid Directory = /var/run/bacula&lt;br /&gt;
 Maximum Concurrent Jobs = 20&lt;br /&gt;
 FDAddress = 127.0.0.1&lt;br /&gt;
 }&lt;br /&gt;
 Messages {&lt;br /&gt;
 Name = Standard&lt;br /&gt;
 director = backup-serwer-dir = all, !skipped, !restored&lt;br /&gt;
 } &lt;br /&gt;
Konfiguracja Storage Daemona '''bacula-sd.conf'''&lt;br /&gt;
&lt;br /&gt;
 Storage {                           &lt;br /&gt;
  Name = backup-serwer-sd   # Name – nazwa demona magazynowania. &lt;br /&gt;
 Nie jest ona powiązana z żadną inną konfiguracją usług&lt;br /&gt;
  SDPort = 9103                  # Director's port      &lt;br /&gt;
  WorkingDirectory = &amp;quot;/var/lib/bacula&amp;quot;   #Working Directory – katalog w którym serwis &lt;br /&gt;
 będzie przechowywał pliki swoich statusów. Dobrą praktyką jest zdefiniować taki katalog, &lt;br /&gt;
 który przeznaczony będzie tylko do tego celu.&lt;br /&gt;
  Pid Directory = &amp;quot;/var/run/bacula&amp;quot;  #PID Directory – lokalizacja, w której demon &lt;br /&gt;
 magazynowania będzie zapisywał plik z identyfikatorem procesu, jaki otrzymał &lt;br /&gt;
 demon przy starcie&lt;br /&gt;
  Maximum Concurrent Jobs = 2&lt;br /&gt;
  SDAddress = 192.168.0.10   #SD Address – dyrektywa definiuje adres IP interfejsu, &lt;br /&gt;
 na którym będzie nasłuchiwał demon.&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
  Name = backup-serwer-dir   # Name – nazwa zarządcy uprawnionego do używania &lt;br /&gt;
 demona magazynowania. Nazwa zarządcy określanego w tej dyrektywie musi odpowiadać &lt;br /&gt;
 nazwie zarządcy zdefiniowanej w innych plikach konfiguracyjnych.&lt;br /&gt;
  Password = &amp;quot;s7s8,.zq&amp;quot;   # Password – hasło, którym zarządca będzie autoryzował się do &lt;br /&gt;
 demona magazynowania. Podane tu hasło definiowane jest również w pliku konfiguracyjnym zarządcy.&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
  Name = backup-serwer-mon&lt;br /&gt;
  Password = &amp;quot;s7s8,.zq&amp;quot;&lt;br /&gt;
  Monitor = yes&lt;br /&gt;
 }&lt;br /&gt;
 Device {&lt;br /&gt;
  Name = &amp;quot;serwer&amp;quot; # Name – nazwa urządzenia. Ta sama nazwa jest definiowana również w &lt;br /&gt;
 pliku konfiguracyjnym zarządcy&lt;br /&gt;
  Media Type = File #typ woluminu. Określa jakiego typu nośniki obsługuje dane urządzenie.&lt;br /&gt;
  Archive Device = /home/bacula/backup/serwer  # Archive Device – lokalizacja urządzenia. &lt;br /&gt;
 Jeśli urządzeniem jest dysk, to podawany jest tutaj punkt jego montowania&lt;br /&gt;
  Device Type = File # Device Type – określa typ urządzenia. Możliwe typy urządzeń to: File – &lt;br /&gt;
 dla dysków, Tape – dla urządzeń taśmowych, Fifo – dla kolejek FIFO, DVD – dla napędów DVD-ROM&lt;br /&gt;
  LabelMedia = yes;&lt;br /&gt;
  AutomaticMount = yes;&lt;br /&gt;
  RemovableMedia = no;     #mówi o tym, czy urządzenie obsługuje wymienne nośniki. Dla urządzeń &lt;br /&gt;
 taśmowych, napędów DVD jak i wyjmowalnych dysków (np. dyski zewnętrzne lub pendrive) dyrektywa &lt;br /&gt;
 powinna być ustawiona na &amp;quot;yes&amp;quot;. Dla stałych dysków dyrektywa powinna być ustawiona na &amp;quot;no&amp;quot;&lt;br /&gt;
  AlwaysOpen = no;&lt;br /&gt;
 }&lt;br /&gt;
 Device {&lt;br /&gt;
  Name = &amp;quot;slawek&amp;quot;&lt;br /&gt;
  Media Type = File&lt;br /&gt;
  Archive Device = /home/bacula/backup/slawek&lt;br /&gt;
  LabelMedia = yes;&lt;br /&gt;
  AutomaticMount = yes;&lt;br /&gt;
  RemovableMedia = no;&lt;br /&gt;
  AlwaysOpen = no;&lt;br /&gt;
 }&lt;br /&gt;
 Messages {&lt;br /&gt;
  Name = Standard   #nazwa zasobu. Używana jest na wewnętrzne potrzeby demona i nie zostaje &lt;br /&gt;
 przekazana nigdzie na zewnątrz&lt;br /&gt;
  director = backup-serwer-dir = all   # Określa się tu dwie wartości: nazwę zarządcy do którego &lt;br /&gt;
 dyrektywa się tyczy oraz poziom logowania. Wartość 'all' oznacza, że raportowane będą wszystkie &lt;br /&gt;
 zmiany i statusy podczas pracy demona magazynowania.&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
Uwaga hasło &amp;quot;''haslo123''&amp;quot;  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.&lt;br /&gt;
 &lt;br /&gt;
Więcej informacji znajdziesz na polskiej stronie na temat oprogramowania bacula [http://www.bacula.pl www.bacula.pl].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;google1 style=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/google1&amp;gt;&lt;/div&gt;</summary>
		<author><name>Slawek</name></author>	</entry>

	<entry>
		<id>http://wiki.linux-user.eu/index.php/Bacula_-_backup_danych</id>
		<title>Bacula - backup danych</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux-user.eu/index.php/Bacula_-_backup_danych"/>
				<updated>2012-09-16T12:57:44Z</updated>
		
		<summary type="html">&lt;p&gt;Slawek: /* Plik bacula-dir.conf - Director */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Serwer]]&lt;br /&gt;
== Backup danych - Bacula ==&lt;br /&gt;
'''Bacula''' jest profesjonalnym systemem archiwizacji danych typu klien-serwer. Jest to darmowe oprogramowanie, które odpowiada za tworzenie, przywracania oraz weryfikację danych. Sam serwer może działać na wielu platformach Linux, FreeBSD czy Solaris. Klient baculi archiwizuje dane z wilu platform łącznie z windowsami.&lt;br /&gt;
Bacula w skrócie:&lt;br /&gt;
* budowa modularna&lt;br /&gt;
* archiwizacja danych z platform Linux, Windows, Mac OS&lt;br /&gt;
* zaplecze bazo danowe w postaci MySQL, PostgreSQL czy SQLite&lt;br /&gt;
* dostęp do oprogramowania baculi na licencjo OpenSource&lt;br /&gt;
* kopia danych na woluminach wielotaśmowych&lt;br /&gt;
* umożliwia szyfrowanie danych przepływających przez sieć&lt;br /&gt;
* archiwizuje pliki większe niż 2 GBobsługuje automatyczne zmieniarki&lt;br /&gt;
* może wykonywać skrypty przed i po archiwizazcji&lt;br /&gt;
* scentralizowany system zarządzania kopiami dla całej sieci&lt;br /&gt;
&lt;br /&gt;
== Instalacja serwera bacula ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Potrzebne oprogramowanie do działania baculi zaznaczyłem w trakcie instalacji systemu &amp;quot;''[[LAMP]] Server''&amp;quot; , 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&lt;br /&gt;
* w systemie [[CentOS]]&lt;br /&gt;
 yum install bacula-client bacula-common bacula-console bacula-director-common bacula-director-mysql bacula-docs bacula-storage-common &lt;br /&gt;
 bacula-storage-mysql mysql mysql-devel mysql-server&lt;br /&gt;
* w systemie [[Ubuntu]] Server&lt;br /&gt;
  apt-get install bacula apache2 mysql php&lt;br /&gt;
i to tak na prawdę wszyst. Uwaga jeśli chcesz aby Twoja instalacja baculi współpracowała z np bazą danych mysql to musisz instalować pakiety np ''bacula-director-mysql'', ''bacula-common-mysql''  i tak dalej jeśli chcesz przeprowadzić  instalację do współpracy z odpowiednią bazą danych  to musisz jawnie o tym powiadomić instalator podczas instalacji oprogramowania.&lt;br /&gt;
Potrzebne pakiety do poprawnego działania to:&lt;br /&gt;
* bacula-common-mysql&lt;br /&gt;
* bacula-console&lt;br /&gt;
* bacula-director-common&lt;br /&gt;
* bacula-director-mysql&lt;br /&gt;
* bacula-fd (klient)&lt;br /&gt;
* bacula-sd-mysql&lt;br /&gt;
* bacula-server&lt;br /&gt;
* dbconfig-common&lt;br /&gt;
W trakcie instalacji na systemie '''Ubuntu Server''', powyższych pakietów system pyta nas o konfiguracje bazy danych dla '''baculi''' za pomocą oprogramowania '''dbconfig-common''', oczywiście się zgadzamy &amp;quot;''Configure database for bacula-director-mysql with dbconfig-common?''&amp;quot;, po zatwierdzeniu będziemy musieli podać hasło do użytkownika root bazy danych oraz nowe hasło dla '''bacula-director-mysql'''.  Do instalacji tego oprogramowania nie potrzebowałem żadnego dodatkowego repozytorium. Po poprawnej instalacji Twój serwer archiwizacji danych powinien być gotowy do konfiguracji.&amp;lt;br /&amp;gt;&lt;br /&gt;
* W systemie [[CentOS]] po instalacji pakietów musimy skonfigurować ręcznie bazę danych i tak na początku uruchamiamy serwer mysqla &lt;br /&gt;
 service mysqld start &lt;br /&gt;
następnie &lt;br /&gt;
 /usr/bin/mysql_secure_installation &lt;br /&gt;
i ustawiamy hasło do bazy danych i inne opcje (konfiguracja serwera MySQL dostępna jest [[MySQL|tutaj]]), następnie &lt;br /&gt;
 service mysqld restart &lt;br /&gt;
i  &lt;br /&gt;
 chkconfig mysqld on  &lt;br /&gt;
tworzymy bazę danych dla baculi &lt;br /&gt;
 cd /usr/libexec/bacula/ &lt;br /&gt;
a następnie &lt;br /&gt;
 ./create_mysql_database -u root -p &lt;br /&gt;
tworzymy tabele w bazie baculi &lt;br /&gt;
 ./make_mysql_tables -u root -p &lt;br /&gt;
nadanie przywilejów dla usera bacula &lt;br /&gt;
 ./grant_mysql_privileges -u root -p &lt;br /&gt;
następnie nadajemy użytkownikowi bazy danych bacula hasło (obecnie brak hasła), logujemy się do bazy danych &lt;br /&gt;
 mysql -u root -p &lt;br /&gt;
a następnie wydajemy polecenie &lt;br /&gt;
 UPDATE mysql.user set password=password('haslo_dla_usera_bacula') where user='bacula'; &lt;br /&gt;
restartujemy bazę danych &lt;br /&gt;
 service mysqld restart&lt;br /&gt;
&lt;br /&gt;
== Konfiguracja serwera Bacula ==&lt;br /&gt;
&lt;br /&gt;
Wszystkie pliki konfiguracyjne baculi powinny znajdować się w ścieżce ''/etc/bacula/'' usługę możesz restartować zatrzymywać oraz startować za pomocą polecenia&lt;br /&gt;
 /etc/init.d/bacula-dir start/stop/restart/status &lt;br /&gt;
 /etc/init.d/bacula-sd start/stop/restart/status&lt;br /&gt;
 /etc/init.d/bacula-fd start/stop/restart/status&lt;br /&gt;
&lt;br /&gt;
== Pliki konfiguracyjne ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Plik '''bacula-dir.conf'''&amp;lt;br /&amp;gt; '''Director''' – dane zarządcy uprawnionego do używania urządzeń demona magazynowania&lt;br /&gt;
# Plik '''bacula-fd.conf'''&amp;lt;br /&amp;gt;'''Device''' – definicja urządzenia archiwizującego&lt;br /&gt;
# Plik '''bacula-sd.conf'''&amp;lt;br /&amp;gt;'''StorageDaemon''' – główna konfiguracja demona magazynowania&lt;br /&gt;
# Plik '''bconsole.conf''' - plik konsoli bacula&lt;br /&gt;
#Plik konfiguracji każdego klienta np '''slawek-backup.conf'''&lt;br /&gt;
Poniżej przedstawie przykładowe pliki konfiguracyjne z działającego serwera i pokrótce  postaram się opisać najważniejsze opcje każdego z nich.&lt;br /&gt;
&lt;br /&gt;
== Plik bacula-dir.conf - Director ==&lt;br /&gt;
Plik '''bacula-dir.conf''' zawiera sekcje&lt;br /&gt;
* Director – główna konfiguracja zarządcy,&lt;br /&gt;
* Catalog – parametry połączenia z bazą danych,&lt;br /&gt;
* Messages – sposób zapisywania dzienników (w tym powiadomienia na e-mail),&lt;br /&gt;
* Job – zadanie (backup, restore, weryfikacja, migracja, kopiowanie i inne),&lt;br /&gt;
* FileSet – opcje zadania (listy dołączeń, listy wykluczeń, sygnatury plików, kompresja programowa i inne),&lt;br /&gt;
* Storage – ustawienia dostępnych urządzeń archiwizujących,&lt;br /&gt;
* Client – definicja klientów,&lt;br /&gt;
* Pool – pula woluminów,&lt;br /&gt;
* Schedule – harmonogram zadań.&lt;br /&gt;
&lt;br /&gt;
Przykładowa konfiguracja&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Director {&lt;br /&gt;
	 Name = ogrody-dir #nazwa zarzadcy&lt;br /&gt;
	 Password = &amp;quot;qwerty123-dir&amp;quot; #haslo, uzywaja programy łączące się z zarządcy&lt;br /&gt;
	 DIR Address = 192.168.2.15 #adres IP interfejsu sieciowego&lt;br /&gt;
	 DIR Port = 9101 #port na którym ma nasłuchiwać zarządca&lt;br /&gt;
	 QueryFile = &amp;quot;/usr/libexec/bacula/query.sql&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
         WorkingDirectory = &amp;quot;/var/spool/bacula&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
         PidDirectory = &amp;quot;/var/run&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
	 Messages = DirRaport #nazwa zasobu messages, uzyta ponizej&lt;br /&gt;
	 Maximum Concurrent jobs = 5 #ilość zadań, które jednocześnie może wykonywać zarządca&lt;br /&gt;
 }&lt;br /&gt;
 Catalog {&lt;br /&gt;
	Name = &amp;quot;Baza-danych-bacula&amp;quot; #nazwa zasobu, używana w zasobach client&lt;br /&gt;
	DB Name = bacula #nazwa bazy danych&lt;br /&gt;
	DB Address = 127.0.0.1 # adres bazy danych&lt;br /&gt;
	DB Port = 3306 #port na którym nasłuchuje mysql&lt;br /&gt;
	User = bacula #użytkownik do bazy danych dla baculi&lt;br /&gt;
	Password = bacula1 #hasło użytkownika baculi&lt;br /&gt;
 } &lt;br /&gt;
 Messages {&lt;br /&gt;
	Name = DirRaport #nazwa zasobu, odpowiada ona nazwie w zasobie Director opcji messages&lt;br /&gt;
	Mailcommand = &amp;quot;/usr/sbin/bsmtp -h localhost -f \&amp;quot;\(Bacula\) \&amp;lt;%r\&amp;gt;\&amp;quot; -s \&amp;quot;Bacula: %t %e of %c %l\&amp;quot; %r&amp;quot; #komenda do wysłania maila z powiadomieniem&lt;br /&gt;
  	Operatorcommand = &amp;quot;/usr/sbin/bsmtp -h localhost -f \&amp;quot;\(Bacula\) \&amp;lt;%r\&amp;gt;\&amp;quot; -s \&amp;quot;Bacula: Intervention needed for %j\&amp;quot; %r&amp;quot; #mail z powiadomieniem&lt;br /&gt;
  	Mail = slawek@linux-user.eu = all, !skipped #mail od kogo&lt;br /&gt;
  	Operator = slawek@linux-user.eu = mount #mail od kogo&lt;br /&gt;
  	Console = all, !skipped, !saved #wyświetlanie statusów i zdarzeń wartość all wyświetla wszystko&lt;br /&gt;
    	Append = &amp;quot;/var/spool/bacula/log&amp;quot; = all, !skipped #ustawienie zapisywania statusów i raportów do pliku logów wartość all wszystko&lt;br /&gt;
 }&lt;br /&gt;
 Storage {&lt;br /&gt;
	Name = Dysk-Pendrive #nazwa zasobu, używana w zasobie jobs&lt;br /&gt;
	Address = 192.168.2.15 #adres IP z bacula-sd, &lt;br /&gt;
	SD Port = 9103 #port bacula-sd&lt;br /&gt;
	Password = qwerty123-sd #hasło do bacula-sd&lt;br /&gt;
	Device = &amp;quot;Urzadzenie pendrive&amp;quot; #nazwa urzadzenia, uzyte również w bacula-sd&lt;br /&gt;
	Media Type = Pliki-na-usb #nazwa typu obsługiwanych woluminów, uzywana w bacula-sd&lt;br /&gt;
	Maximum Concurrent Jobs = 1 #ilośc zadań, które jednocześnie może zrealizować urządzenie&lt;br /&gt;
 } &lt;br /&gt;
 Client {&lt;br /&gt;
	Name = backup_na_pendrive # nazwa klienta, użyta również w sekcji Job&lt;br /&gt;
	Address = 192.168.2.15 #adres IP komputera klienta, &lt;br /&gt;
	FD Port = 9102 #numer portu bacula-client, domyślnie 9102&lt;br /&gt;
	Catalog = &amp;quot;Baza-danych-bacula&amp;quot; #jakiej bazy danych użyć, nazwa z sekcji Catalog&lt;br /&gt;
	Password = &amp;quot;qwerty123-fd&amp;quot; #hasło do bacula-fd na kliencie&lt;br /&gt;
	AutoPrune = no # czyszczenie przestarzałych danych z bazy danych&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
	Name = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
	Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
	Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
	AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
	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&lt;br /&gt;
	Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
	 LabelFormat = &amp;quot;serwer-ogrody-plik-poniedzialek-&amp;quot; &lt;br /&gt;
	Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
        Name = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
        Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
        Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
        AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
        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&lt;br /&gt;
        Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
         LabelFormat = &amp;quot;serwer-ogrody-plik-wtorek-&amp;quot;&lt;br /&gt;
        Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
        Name = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa puli woluminów&lt;br /&gt;
        Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
        Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
        AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
        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&lt;br /&gt;
        Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
         LabelFormat = &amp;quot;serwer-ogrody-plik-sroda-&amp;quot;&lt;br /&gt;
        Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
        Name = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
        Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
        Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
        AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
        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&lt;br /&gt;
        Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
         LabelFormat = &amp;quot;serwer-ogrody-plik-czwartek-&amp;quot;&lt;br /&gt;
        Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
        Name = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
        Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
        Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
        AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
        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&lt;br /&gt;
        Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
         LabelFormat = &amp;quot;serwer-ogrody-plik-piatek-&amp;quot;&lt;br /&gt;
        Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 FileSet {&lt;br /&gt;
	Name = &amp;quot;Baza-danych-postgresql&amp;quot; #nazwa akcji, użyta w sekcji job&lt;br /&gt;
	Include {&lt;br /&gt;
		Options {&lt;br /&gt;
			Signature = MD5 # sposób tworzenia sygnatur kopii zapasowych&lt;br /&gt;
			}&lt;br /&gt;
		File = /var/lib/pgsql/9.1/data/ #pliki do archiwizowania&lt;br /&gt;
		}&lt;br /&gt;
	Exclude { #nie archiwizuj poniższych plików&lt;br /&gt;
  	    File = /var/lib/pgsql/9.1/data/backup_test &lt;br /&gt;
	    File = /var/lib/pgsql/9.1/data/backup_test_pg&lt;br /&gt;
  }&lt;br /&gt;
 }&lt;br /&gt;
 FileSet {&lt;br /&gt;
	Name = &amp;quot;Pliki-samby&amp;quot;&lt;br /&gt;
	Include {&lt;br /&gt;
		Options {&lt;br /&gt;
                        Signature = MD5 # sposób tworzenia sygnatur kopii zapasowych&lt;br /&gt;
                        }&lt;br /&gt;
                File = /home/samba/&lt;br /&gt;
                }&lt;br /&gt;
	Exclude {&lt;br /&gt;
		File = /home/samba/.*&lt;br /&gt;
		}&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
	Name = &amp;quot;Cykl-codzienny-full-poniedzialek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
	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ę &lt;br /&gt;
 #wykonywać w dni od poniedziałku do piątku&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-wtorek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
        Run = Full tuesday at 00:04  &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-sroda&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
        Run = Full wednesday at 15:10 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-czwartek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
        Run = Full thursday at 15:10 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-piatek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
        Run = Full friday at 16:15 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-incremental-poniedzialek&amp;quot;&lt;br /&gt;
        Run = Incremental monday at 10:00 #kopia przyrostowa w poniedziałek o 10:00&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-incremental-wtorek&amp;quot;&lt;br /&gt;
        Run = Incremental tuesday at 00:23 &lt;br /&gt;
 }&lt;br /&gt;
Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-incremental-sroda&amp;quot;&lt;br /&gt;
        Run = Incremental wednesday at 15:13 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-incremental-czwartek&amp;quot;&lt;br /&gt;
        Run = Incremental thursday at 15:13 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-incremental-piatek&amp;quot;&lt;br /&gt;
        Run = Incremental friday at 16:17 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-samba-poniedzialek&amp;quot; &lt;br /&gt;
        Run = Full monday at 01:00 #backup powinien wykonać się w poniedziałek o godzinie 01:00&lt;br /&gt;
}&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-samba-wtorek&amp;quot; &lt;br /&gt;
        Run = Full tuesday at 00:06 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-samba-sroda&amp;quot; &lt;br /&gt;
        Run = Full wednesday at 00:06 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-samba-czwartek&amp;quot; &lt;br /&gt;
        Run = Full thursday at 15:11 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-samba-piatek&amp;quot; &lt;br /&gt;
        Run = Full friday at 16:19 &lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-poniedzialek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-poniedzialek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-poniedzialek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-wtorek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-wtorek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-wtorek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-sroda&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-sroda&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-sroda&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-baza_danych-czwartek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-czwartek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-czwartek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-piatek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-piatek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-piatek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-poniedzialek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-poniedzialek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-poniedzialek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-wtorek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-wtorek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-wtorek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-sroda&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-sroda&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-sroda&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-samby-czwartek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-czwartek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-czwartek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-piatek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-piatek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-piatek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
	Name = &amp;quot;Backup-bazy-danych-omeda-full-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
	Type = Backup&lt;br /&gt;
	Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
	Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
	Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
	Schedule = &amp;quot;Cykl-codzienny-full-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
	Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
	FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
	# skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
	Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
	# Usuwanie zbekapowanego backupu&lt;br /&gt;
	Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-full-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
	# Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-full-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
         }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-full-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-full-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
	# skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
	Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
	# Usuwanie zbekapowanego backupu&lt;br /&gt;
	Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot; &lt;br /&gt;
	 &lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }      &lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }       &lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Konfiguracja pliku bacula-fd.conf - File Daemon ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Director {&lt;br /&gt;
 Name = backup-serwer-dir&lt;br /&gt;
 Password = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
 Name = backup-serwer-mon&lt;br /&gt;
 Password = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
 Monitor = yes&lt;br /&gt;
 }&lt;br /&gt;
 FileDaemon {&lt;br /&gt;
 Name = backup-serwer-fd&lt;br /&gt;
 FDport = 9102&lt;br /&gt;
 WorkingDirectory = /var/lib/bacula&lt;br /&gt;
 Pid Directory = /var/run/bacula&lt;br /&gt;
 Maximum Concurrent Jobs = 20&lt;br /&gt;
 FDAddress = 127.0.0.1&lt;br /&gt;
 }&lt;br /&gt;
 Messages {&lt;br /&gt;
 Name = Standard&lt;br /&gt;
 director = backup-serwer-dir = all, !skipped, !restored&lt;br /&gt;
 } &lt;br /&gt;
Konfiguracja Storage Daemona '''bacula-sd.conf'''&lt;br /&gt;
&lt;br /&gt;
 Storage {                           &lt;br /&gt;
  Name = backup-serwer-sd   # Name – nazwa demona magazynowania. &lt;br /&gt;
 Nie jest ona powiązana z żadną inną konfiguracją usług&lt;br /&gt;
  SDPort = 9103                  # Director's port      &lt;br /&gt;
  WorkingDirectory = &amp;quot;/var/lib/bacula&amp;quot;   #Working Directory – katalog w którym serwis &lt;br /&gt;
 będzie przechowywał pliki swoich statusów. Dobrą praktyką jest zdefiniować taki katalog, &lt;br /&gt;
 który przeznaczony będzie tylko do tego celu.&lt;br /&gt;
  Pid Directory = &amp;quot;/var/run/bacula&amp;quot;  #PID Directory – lokalizacja, w której demon &lt;br /&gt;
 magazynowania będzie zapisywał plik z identyfikatorem procesu, jaki otrzymał &lt;br /&gt;
 demon przy starcie&lt;br /&gt;
  Maximum Concurrent Jobs = 2&lt;br /&gt;
  SDAddress = 192.168.0.10   #SD Address – dyrektywa definiuje adres IP interfejsu, &lt;br /&gt;
 na którym będzie nasłuchiwał demon.&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
  Name = backup-serwer-dir   # Name – nazwa zarządcy uprawnionego do używania &lt;br /&gt;
 demona magazynowania. Nazwa zarządcy określanego w tej dyrektywie musi odpowiadać &lt;br /&gt;
 nazwie zarządcy zdefiniowanej w innych plikach konfiguracyjnych.&lt;br /&gt;
  Password = &amp;quot;s7s8,.zq&amp;quot;   # Password – hasło, którym zarządca będzie autoryzował się do &lt;br /&gt;
 demona magazynowania. Podane tu hasło definiowane jest również w pliku konfiguracyjnym zarządcy.&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
  Name = backup-serwer-mon&lt;br /&gt;
  Password = &amp;quot;s7s8,.zq&amp;quot;&lt;br /&gt;
  Monitor = yes&lt;br /&gt;
 }&lt;br /&gt;
 Device {&lt;br /&gt;
  Name = &amp;quot;serwer&amp;quot; # Name – nazwa urządzenia. Ta sama nazwa jest definiowana również w &lt;br /&gt;
 pliku konfiguracyjnym zarządcy&lt;br /&gt;
  Media Type = File #typ woluminu. Określa jakiego typu nośniki obsługuje dane urządzenie.&lt;br /&gt;
  Archive Device = /home/bacula/backup/serwer  # Archive Device – lokalizacja urządzenia. &lt;br /&gt;
 Jeśli urządzeniem jest dysk, to podawany jest tutaj punkt jego montowania&lt;br /&gt;
  Device Type = File # Device Type – określa typ urządzenia. Możliwe typy urządzeń to: File – &lt;br /&gt;
 dla dysków, Tape – dla urządzeń taśmowych, Fifo – dla kolejek FIFO, DVD – dla napędów DVD-ROM&lt;br /&gt;
  LabelMedia = yes;&lt;br /&gt;
  AutomaticMount = yes;&lt;br /&gt;
  RemovableMedia = no;     #mówi o tym, czy urządzenie obsługuje wymienne nośniki. Dla urządzeń &lt;br /&gt;
 taśmowych, napędów DVD jak i wyjmowalnych dysków (np. dyski zewnętrzne lub pendrive) dyrektywa &lt;br /&gt;
 powinna być ustawiona na &amp;quot;yes&amp;quot;. Dla stałych dysków dyrektywa powinna być ustawiona na &amp;quot;no&amp;quot;&lt;br /&gt;
  AlwaysOpen = no;&lt;br /&gt;
 }&lt;br /&gt;
 Device {&lt;br /&gt;
  Name = &amp;quot;slawek&amp;quot;&lt;br /&gt;
  Media Type = File&lt;br /&gt;
  Archive Device = /home/bacula/backup/slawek&lt;br /&gt;
  LabelMedia = yes;&lt;br /&gt;
  AutomaticMount = yes;&lt;br /&gt;
  RemovableMedia = no;&lt;br /&gt;
  AlwaysOpen = no;&lt;br /&gt;
 }&lt;br /&gt;
 Messages {&lt;br /&gt;
  Name = Standard   #nazwa zasobu. Używana jest na wewnętrzne potrzeby demona i nie zostaje &lt;br /&gt;
 przekazana nigdzie na zewnątrz&lt;br /&gt;
  director = backup-serwer-dir = all   # Określa się tu dwie wartości: nazwę zarządcy do którego &lt;br /&gt;
 dyrektywa się tyczy oraz poziom logowania. Wartość 'all' oznacza, że raportowane będą wszystkie &lt;br /&gt;
 zmiany i statusy podczas pracy demona magazynowania.&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
Uwaga hasło &amp;quot;''haslo123''&amp;quot;  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.&lt;br /&gt;
 &lt;br /&gt;
Więcej informacji znajdziesz na polskiej stronie na temat oprogramowania bacula [http://www.bacula.pl www.bacula.pl].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;google1 style=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/google1&amp;gt;&lt;/div&gt;</summary>
		<author><name>Slawek</name></author>	</entry>

	<entry>
		<id>http://wiki.linux-user.eu/index.php/Bacula_-_backup_danych</id>
		<title>Bacula - backup danych</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux-user.eu/index.php/Bacula_-_backup_danych"/>
				<updated>2012-09-16T12:56:59Z</updated>
		
		<summary type="html">&lt;p&gt;Slawek: /* Plik bacula-dir.conf - Director */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Serwer]]&lt;br /&gt;
== Backup danych - Bacula ==&lt;br /&gt;
'''Bacula''' jest profesjonalnym systemem archiwizacji danych typu klien-serwer. Jest to darmowe oprogramowanie, które odpowiada za tworzenie, przywracania oraz weryfikację danych. Sam serwer może działać na wielu platformach Linux, FreeBSD czy Solaris. Klient baculi archiwizuje dane z wilu platform łącznie z windowsami.&lt;br /&gt;
Bacula w skrócie:&lt;br /&gt;
* budowa modularna&lt;br /&gt;
* archiwizacja danych z platform Linux, Windows, Mac OS&lt;br /&gt;
* zaplecze bazo danowe w postaci MySQL, PostgreSQL czy SQLite&lt;br /&gt;
* dostęp do oprogramowania baculi na licencjo OpenSource&lt;br /&gt;
* kopia danych na woluminach wielotaśmowych&lt;br /&gt;
* umożliwia szyfrowanie danych przepływających przez sieć&lt;br /&gt;
* archiwizuje pliki większe niż 2 GBobsługuje automatyczne zmieniarki&lt;br /&gt;
* może wykonywać skrypty przed i po archiwizazcji&lt;br /&gt;
* scentralizowany system zarządzania kopiami dla całej sieci&lt;br /&gt;
&lt;br /&gt;
== Instalacja serwera bacula ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Potrzebne oprogramowanie do działania baculi zaznaczyłem w trakcie instalacji systemu &amp;quot;''[[LAMP]] Server''&amp;quot; , 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&lt;br /&gt;
* w systemie [[CentOS]]&lt;br /&gt;
 yum install bacula-client bacula-common bacula-console bacula-director-common bacula-director-mysql bacula-docs bacula-storage-common &lt;br /&gt;
 bacula-storage-mysql mysql mysql-devel mysql-server&lt;br /&gt;
* w systemie [[Ubuntu]] Server&lt;br /&gt;
  apt-get install bacula apache2 mysql php&lt;br /&gt;
i to tak na prawdę wszyst. Uwaga jeśli chcesz aby Twoja instalacja baculi współpracowała z np bazą danych mysql to musisz instalować pakiety np ''bacula-director-mysql'', ''bacula-common-mysql''  i tak dalej jeśli chcesz przeprowadzić  instalację do współpracy z odpowiednią bazą danych  to musisz jawnie o tym powiadomić instalator podczas instalacji oprogramowania.&lt;br /&gt;
Potrzebne pakiety do poprawnego działania to:&lt;br /&gt;
* bacula-common-mysql&lt;br /&gt;
* bacula-console&lt;br /&gt;
* bacula-director-common&lt;br /&gt;
* bacula-director-mysql&lt;br /&gt;
* bacula-fd (klient)&lt;br /&gt;
* bacula-sd-mysql&lt;br /&gt;
* bacula-server&lt;br /&gt;
* dbconfig-common&lt;br /&gt;
W trakcie instalacji na systemie '''Ubuntu Server''', powyższych pakietów system pyta nas o konfiguracje bazy danych dla '''baculi''' za pomocą oprogramowania '''dbconfig-common''', oczywiście się zgadzamy &amp;quot;''Configure database for bacula-director-mysql with dbconfig-common?''&amp;quot;, po zatwierdzeniu będziemy musieli podać hasło do użytkownika root bazy danych oraz nowe hasło dla '''bacula-director-mysql'''.  Do instalacji tego oprogramowania nie potrzebowałem żadnego dodatkowego repozytorium. Po poprawnej instalacji Twój serwer archiwizacji danych powinien być gotowy do konfiguracji.&amp;lt;br /&amp;gt;&lt;br /&gt;
* W systemie [[CentOS]] po instalacji pakietów musimy skonfigurować ręcznie bazę danych i tak na początku uruchamiamy serwer mysqla &lt;br /&gt;
 service mysqld start &lt;br /&gt;
następnie &lt;br /&gt;
 /usr/bin/mysql_secure_installation &lt;br /&gt;
i ustawiamy hasło do bazy danych i inne opcje (konfiguracja serwera MySQL dostępna jest [[MySQL|tutaj]]), następnie &lt;br /&gt;
 service mysqld restart &lt;br /&gt;
i  &lt;br /&gt;
 chkconfig mysqld on  &lt;br /&gt;
tworzymy bazę danych dla baculi &lt;br /&gt;
 cd /usr/libexec/bacula/ &lt;br /&gt;
a następnie &lt;br /&gt;
 ./create_mysql_database -u root -p &lt;br /&gt;
tworzymy tabele w bazie baculi &lt;br /&gt;
 ./make_mysql_tables -u root -p &lt;br /&gt;
nadanie przywilejów dla usera bacula &lt;br /&gt;
 ./grant_mysql_privileges -u root -p &lt;br /&gt;
następnie nadajemy użytkownikowi bazy danych bacula hasło (obecnie brak hasła), logujemy się do bazy danych &lt;br /&gt;
 mysql -u root -p &lt;br /&gt;
a następnie wydajemy polecenie &lt;br /&gt;
 UPDATE mysql.user set password=password('haslo_dla_usera_bacula') where user='bacula'; &lt;br /&gt;
restartujemy bazę danych &lt;br /&gt;
 service mysqld restart&lt;br /&gt;
&lt;br /&gt;
== Konfiguracja serwera Bacula ==&lt;br /&gt;
&lt;br /&gt;
Wszystkie pliki konfiguracyjne baculi powinny znajdować się w ścieżce ''/etc/bacula/'' usługę możesz restartować zatrzymywać oraz startować za pomocą polecenia&lt;br /&gt;
 /etc/init.d/bacula-dir start/stop/restart/status &lt;br /&gt;
 /etc/init.d/bacula-sd start/stop/restart/status&lt;br /&gt;
 /etc/init.d/bacula-fd start/stop/restart/status&lt;br /&gt;
&lt;br /&gt;
== Pliki konfiguracyjne ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Plik '''bacula-dir.conf'''&amp;lt;br /&amp;gt; '''Director''' – dane zarządcy uprawnionego do używania urządzeń demona magazynowania&lt;br /&gt;
# Plik '''bacula-fd.conf'''&amp;lt;br /&amp;gt;'''Device''' – definicja urządzenia archiwizującego&lt;br /&gt;
# Plik '''bacula-sd.conf'''&amp;lt;br /&amp;gt;'''StorageDaemon''' – główna konfiguracja demona magazynowania&lt;br /&gt;
# Plik '''bconsole.conf''' - plik konsoli bacula&lt;br /&gt;
#Plik konfiguracji każdego klienta np '''slawek-backup.conf'''&lt;br /&gt;
Poniżej przedstawie przykładowe pliki konfiguracyjne z działającego serwera i pokrótce  postaram się opisać najważniejsze opcje każdego z nich.&lt;br /&gt;
&lt;br /&gt;
== Plik bacula-dir.conf - Director ==&lt;br /&gt;
Plik '''bacula-dir.conf''' zawiera sekcje&lt;br /&gt;
* Director – główna konfiguracja zarządcy,&lt;br /&gt;
* Catalog – parametry połączenia z bazą danych,&lt;br /&gt;
* Messages – sposób zapisywania dzienników (w tym powiadomienia na e-mail),&lt;br /&gt;
* Job – zadanie (backup, restore, weryfikacja, migracja, kopiowanie i inne),&lt;br /&gt;
* FileSet – opcje zadania (listy dołączeń, listy wykluczeń, sygnatury plików, kompresja programowa i inne),&lt;br /&gt;
* Storage – ustawienia dostępnych urządzeń archiwizujących,&lt;br /&gt;
* Client – definicja klientów,&lt;br /&gt;
* Pool – pula woluminów,&lt;br /&gt;
* Schedule – harmonogram zadań.&lt;br /&gt;
&lt;br /&gt;
Przykładowa konfiguracja&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Director {&lt;br /&gt;
	 Name = ogrody-dir #nazwa zarzadcy&lt;br /&gt;
	 Password = &amp;quot;qwerty123-dir&amp;quot; #haslo, uzywaja programy łączące się z zarządcą&lt;br /&gt;
	 DIR Address = 192.168.2.15 #adres IP interfejsu sieciowego&lt;br /&gt;
	 DIR Port = 9101 #port na którym ma nasłuchiwać zarządca&lt;br /&gt;
	 QueryFile = &amp;quot;/usr/libexec/bacula/query.sql&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
         WorkingDirectory = &amp;quot;/var/spool/bacula&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
         PidDirectory = &amp;quot;/var/run&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
	 Messages = DirRaport #nazwa zasobu messages, uzyta ponizej&lt;br /&gt;
	 Maximum Concurrent jobs = 5 #ilość zadań, które jednocześnie może wykonywać zarządca&lt;br /&gt;
 }&lt;br /&gt;
 Catalog {&lt;br /&gt;
	Name = &amp;quot;Baza-danych-bacula&amp;quot; #nazwa zasobu, używana w zasobach client&lt;br /&gt;
	DB Name = bacula #nazwa bazy danych&lt;br /&gt;
	DB Address = 127.0.0.1 # adres bazy danych&lt;br /&gt;
	DB Port = 3306 #port na którym nasłuchuje mysql&lt;br /&gt;
	User = bacula #użytkownik do bazy danych dla baculi&lt;br /&gt;
	Password = bacula1 #hasło użytkownika baculi&lt;br /&gt;
 } &lt;br /&gt;
 Messages {&lt;br /&gt;
	Name = DirRaport #nazwa zasobu, odpowiada ona nazwie w zasobie Director opcji messages&lt;br /&gt;
	Mailcommand = &amp;quot;/usr/sbin/bsmtp -h localhost -f \&amp;quot;\(Bacula\) \&amp;lt;%r\&amp;gt;\&amp;quot; -s \&amp;quot;Bacula: %t %e of %c %l\&amp;quot; %r&amp;quot; #komenda do wysłania maila z powiadomieniem&lt;br /&gt;
  	Operatorcommand = &amp;quot;/usr/sbin/bsmtp -h localhost -f \&amp;quot;\(Bacula\) \&amp;lt;%r\&amp;gt;\&amp;quot; -s \&amp;quot;Bacula: Intervention needed for %j\&amp;quot; %r&amp;quot; #mail z powiadomieniem&lt;br /&gt;
  	Mail = slawek@linux-user.eu = all, !skipped #mail od kogo&lt;br /&gt;
  	Operator = slawek@linux-user.eu = mount #mail od kogo&lt;br /&gt;
  	Console = all, !skipped, !saved #wyświetlanie statusów i zdarzeń wartość all wyświetla wszystko&lt;br /&gt;
    	Append = &amp;quot;/var/spool/bacula/log&amp;quot; = all, !skipped #ustawienie zapisywania statusów i raportów do pliku logów wartość all wszystko&lt;br /&gt;
 }&lt;br /&gt;
 Storage {&lt;br /&gt;
	Name = Dysk-Pendrive #nazwa zasobu, używana w zasobie jobs&lt;br /&gt;
	Address = 192.168.2.15 #adres IP z bacula-sd, &lt;br /&gt;
	SD Port = 9103 #port bacula-sd&lt;br /&gt;
	Password = qwerty123-sd #hasło do bacula-sd&lt;br /&gt;
	Device = &amp;quot;Urzadzenie pendrive&amp;quot; #nazwa urzadzenia, uzyte również w bacula-sd&lt;br /&gt;
	Media Type = Pliki-na-usb #nazwa typu obsługiwanych woluminów, uzywana w bacula-sd&lt;br /&gt;
	Maximum Concurrent Jobs = 1 #ilośc zadań, które jednocześnie może zrealizować urządzenie&lt;br /&gt;
 } &lt;br /&gt;
 Client {&lt;br /&gt;
	Name = backup_na_pendrive # nazwa klienta, użyta również w sekcji Job&lt;br /&gt;
	Address = 192.168.2.15 #adres IP komputera klienta, &lt;br /&gt;
	FD Port = 9102 #numer portu bacula-client, domyślnie 9102&lt;br /&gt;
	Catalog = &amp;quot;Baza-danych-bacula&amp;quot; #jakiej bazy danych użyć, nazwa z sekcji Catalog&lt;br /&gt;
	Password = &amp;quot;qwerty123-fd&amp;quot; #hasło do bacula-fd na kliencie&lt;br /&gt;
	AutoPrune = no # czyszczenie przestarzałych danych z bazy danych&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
	Name = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
	Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
	Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
	AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
	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&lt;br /&gt;
	Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
	 LabelFormat = &amp;quot;serwer-ogrody-plik-poniedzialek-&amp;quot; &lt;br /&gt;
	Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
        Name = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
        Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
        Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
        AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
        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&lt;br /&gt;
        Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
         LabelFormat = &amp;quot;serwer-ogrody-plik-wtorek-&amp;quot;&lt;br /&gt;
        Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
        Name = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa puli woluminów&lt;br /&gt;
        Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
        Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
        AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
        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&lt;br /&gt;
        Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
         LabelFormat = &amp;quot;serwer-ogrody-plik-sroda-&amp;quot;&lt;br /&gt;
        Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
        Name = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
        Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
        Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
        AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
        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&lt;br /&gt;
        Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
         LabelFormat = &amp;quot;serwer-ogrody-plik-czwartek-&amp;quot;&lt;br /&gt;
        Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
        Name = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
        Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
        Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
        AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
        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&lt;br /&gt;
        Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
         LabelFormat = &amp;quot;serwer-ogrody-plik-piatek-&amp;quot;&lt;br /&gt;
        Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 FileSet {&lt;br /&gt;
	Name = &amp;quot;Baza-danych-postgresql&amp;quot; #nazwa akcji, użyta w sekcji job&lt;br /&gt;
	Include {&lt;br /&gt;
		Options {&lt;br /&gt;
			Signature = MD5 # sposób tworzenia sygnatur kopii zapasowych&lt;br /&gt;
			}&lt;br /&gt;
		File = /var/lib/pgsql/9.1/data/ #pliki do archiwizowania&lt;br /&gt;
		}&lt;br /&gt;
	Exclude { #nie archiwizuj poniższych plików&lt;br /&gt;
  	    File = /var/lib/pgsql/9.1/data/backup_test &lt;br /&gt;
	    File = /var/lib/pgsql/9.1/data/backup_test_pg&lt;br /&gt;
  }&lt;br /&gt;
 }&lt;br /&gt;
 FileSet {&lt;br /&gt;
	Name = &amp;quot;Pliki-samby&amp;quot;&lt;br /&gt;
	Include {&lt;br /&gt;
		Options {&lt;br /&gt;
                        Signature = MD5 # sposób tworzenia sygnatur kopii zapasowych&lt;br /&gt;
                        }&lt;br /&gt;
                File = /home/samba/&lt;br /&gt;
                }&lt;br /&gt;
	Exclude {&lt;br /&gt;
		File = /home/samba/.*&lt;br /&gt;
		}&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
	Name = &amp;quot;Cykl-codzienny-full-poniedzialek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
	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ę &lt;br /&gt;
 #wykonywać w dni od poniedziałku do piątku&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-wtorek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
        Run = Full tuesday at 00:04  &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-sroda&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
        Run = Full wednesday at 15:10 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-czwartek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
        Run = Full thursday at 15:10 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-piatek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
        Run = Full friday at 16:15 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-incremental-poniedzialek&amp;quot;&lt;br /&gt;
        Run = Incremental monday at 10:00 #kopia przyrostowa w poniedziałek o 10:00&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-incremental-wtorek&amp;quot;&lt;br /&gt;
        Run = Incremental tuesday at 00:23 &lt;br /&gt;
 }&lt;br /&gt;
Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-incremental-sroda&amp;quot;&lt;br /&gt;
        Run = Incremental wednesday at 15:13 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-incremental-czwartek&amp;quot;&lt;br /&gt;
        Run = Incremental thursday at 15:13 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-incremental-piatek&amp;quot;&lt;br /&gt;
        Run = Incremental friday at 16:17 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-samba-poniedzialek&amp;quot; &lt;br /&gt;
        Run = Full monday at 01:00 #backup powinien wykonać się w poniedziałek o godzinie 01:00&lt;br /&gt;
}&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-samba-wtorek&amp;quot; &lt;br /&gt;
        Run = Full tuesday at 00:06 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-samba-sroda&amp;quot; &lt;br /&gt;
        Run = Full wednesday at 00:06 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-samba-czwartek&amp;quot; &lt;br /&gt;
        Run = Full thursday at 15:11 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-samba-piatek&amp;quot; &lt;br /&gt;
        Run = Full friday at 16:19 &lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-poniedzialek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-poniedzialek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-poniedzialek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-wtorek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-wtorek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-wtorek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-sroda&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-sroda&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-sroda&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-baza_danych-czwartek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-czwartek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-czwartek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-piatek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-piatek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-piatek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-poniedzialek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-poniedzialek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-poniedzialek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-wtorek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-wtorek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-wtorek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-sroda&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-sroda&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-sroda&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-samby-czwartek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-czwartek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-czwartek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-piatek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-piatek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-piatek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
	Name = &amp;quot;Backup-bazy-danych-omeda-full-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
	Type = Backup&lt;br /&gt;
	Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
	Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
	Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
	Schedule = &amp;quot;Cykl-codzienny-full-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
	Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
	FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
	# skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
	Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
	# Usuwanie zbekapowanego backupu&lt;br /&gt;
	Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-full-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
	# Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-full-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
         }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-full-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-full-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
	# skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
	Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
	# Usuwanie zbekapowanego backupu&lt;br /&gt;
	Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot; &lt;br /&gt;
	 &lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }      &lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }       &lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Konfiguracja pliku bacula-fd.conf - File Daemon ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Director {&lt;br /&gt;
 Name = backup-serwer-dir&lt;br /&gt;
 Password = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
 Name = backup-serwer-mon&lt;br /&gt;
 Password = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
 Monitor = yes&lt;br /&gt;
 }&lt;br /&gt;
 FileDaemon {&lt;br /&gt;
 Name = backup-serwer-fd&lt;br /&gt;
 FDport = 9102&lt;br /&gt;
 WorkingDirectory = /var/lib/bacula&lt;br /&gt;
 Pid Directory = /var/run/bacula&lt;br /&gt;
 Maximum Concurrent Jobs = 20&lt;br /&gt;
 FDAddress = 127.0.0.1&lt;br /&gt;
 }&lt;br /&gt;
 Messages {&lt;br /&gt;
 Name = Standard&lt;br /&gt;
 director = backup-serwer-dir = all, !skipped, !restored&lt;br /&gt;
 } &lt;br /&gt;
Konfiguracja Storage Daemona '''bacula-sd.conf'''&lt;br /&gt;
&lt;br /&gt;
 Storage {                           &lt;br /&gt;
  Name = backup-serwer-sd   # Name – nazwa demona magazynowania. &lt;br /&gt;
 Nie jest ona powiązana z żadną inną konfiguracją usług&lt;br /&gt;
  SDPort = 9103                  # Director's port      &lt;br /&gt;
  WorkingDirectory = &amp;quot;/var/lib/bacula&amp;quot;   #Working Directory – katalog w którym serwis &lt;br /&gt;
 będzie przechowywał pliki swoich statusów. Dobrą praktyką jest zdefiniować taki katalog, &lt;br /&gt;
 który przeznaczony będzie tylko do tego celu.&lt;br /&gt;
  Pid Directory = &amp;quot;/var/run/bacula&amp;quot;  #PID Directory – lokalizacja, w której demon &lt;br /&gt;
 magazynowania będzie zapisywał plik z identyfikatorem procesu, jaki otrzymał &lt;br /&gt;
 demon przy starcie&lt;br /&gt;
  Maximum Concurrent Jobs = 2&lt;br /&gt;
  SDAddress = 192.168.0.10   #SD Address – dyrektywa definiuje adres IP interfejsu, &lt;br /&gt;
 na którym będzie nasłuchiwał demon.&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
  Name = backup-serwer-dir   # Name – nazwa zarządcy uprawnionego do używania &lt;br /&gt;
 demona magazynowania. Nazwa zarządcy określanego w tej dyrektywie musi odpowiadać &lt;br /&gt;
 nazwie zarządcy zdefiniowanej w innych plikach konfiguracyjnych.&lt;br /&gt;
  Password = &amp;quot;s7s8,.zq&amp;quot;   # Password – hasło, którym zarządca będzie autoryzował się do &lt;br /&gt;
 demona magazynowania. Podane tu hasło definiowane jest również w pliku konfiguracyjnym zarządcy.&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
  Name = backup-serwer-mon&lt;br /&gt;
  Password = &amp;quot;s7s8,.zq&amp;quot;&lt;br /&gt;
  Monitor = yes&lt;br /&gt;
 }&lt;br /&gt;
 Device {&lt;br /&gt;
  Name = &amp;quot;serwer&amp;quot; # Name – nazwa urządzenia. Ta sama nazwa jest definiowana również w &lt;br /&gt;
 pliku konfiguracyjnym zarządcy&lt;br /&gt;
  Media Type = File #typ woluminu. Określa jakiego typu nośniki obsługuje dane urządzenie.&lt;br /&gt;
  Archive Device = /home/bacula/backup/serwer  # Archive Device – lokalizacja urządzenia. &lt;br /&gt;
 Jeśli urządzeniem jest dysk, to podawany jest tutaj punkt jego montowania&lt;br /&gt;
  Device Type = File # Device Type – określa typ urządzenia. Możliwe typy urządzeń to: File – &lt;br /&gt;
 dla dysków, Tape – dla urządzeń taśmowych, Fifo – dla kolejek FIFO, DVD – dla napędów DVD-ROM&lt;br /&gt;
  LabelMedia = yes;&lt;br /&gt;
  AutomaticMount = yes;&lt;br /&gt;
  RemovableMedia = no;     #mówi o tym, czy urządzenie obsługuje wymienne nośniki. Dla urządzeń &lt;br /&gt;
 taśmowych, napędów DVD jak i wyjmowalnych dysków (np. dyski zewnętrzne lub pendrive) dyrektywa &lt;br /&gt;
 powinna być ustawiona na &amp;quot;yes&amp;quot;. Dla stałych dysków dyrektywa powinna być ustawiona na &amp;quot;no&amp;quot;&lt;br /&gt;
  AlwaysOpen = no;&lt;br /&gt;
 }&lt;br /&gt;
 Device {&lt;br /&gt;
  Name = &amp;quot;slawek&amp;quot;&lt;br /&gt;
  Media Type = File&lt;br /&gt;
  Archive Device = /home/bacula/backup/slawek&lt;br /&gt;
  LabelMedia = yes;&lt;br /&gt;
  AutomaticMount = yes;&lt;br /&gt;
  RemovableMedia = no;&lt;br /&gt;
  AlwaysOpen = no;&lt;br /&gt;
 }&lt;br /&gt;
 Messages {&lt;br /&gt;
  Name = Standard   #nazwa zasobu. Używana jest na wewnętrzne potrzeby demona i nie zostaje &lt;br /&gt;
 przekazana nigdzie na zewnątrz&lt;br /&gt;
  director = backup-serwer-dir = all   # Określa się tu dwie wartości: nazwę zarządcy do którego &lt;br /&gt;
 dyrektywa się tyczy oraz poziom logowania. Wartość 'all' oznacza, że raportowane będą wszystkie &lt;br /&gt;
 zmiany i statusy podczas pracy demona magazynowania.&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
Uwaga hasło &amp;quot;''haslo123''&amp;quot;  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.&lt;br /&gt;
 &lt;br /&gt;
Więcej informacji znajdziesz na polskiej stronie na temat oprogramowania bacula [http://www.bacula.pl www.bacula.pl].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;google1 style=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/google1&amp;gt;&lt;/div&gt;</summary>
		<author><name>Slawek</name></author>	</entry>

	<entry>
		<id>http://wiki.linux-user.eu/index.php/Bacula_-_backup_danych</id>
		<title>Bacula - backup danych</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux-user.eu/index.php/Bacula_-_backup_danych"/>
				<updated>2012-09-16T12:56:34Z</updated>
		
		<summary type="html">&lt;p&gt;Slawek: /* Plik bacula-dir.conf */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Serwer]]&lt;br /&gt;
== Backup danych - Bacula ==&lt;br /&gt;
'''Bacula''' jest profesjonalnym systemem archiwizacji danych typu klien-serwer. Jest to darmowe oprogramowanie, które odpowiada za tworzenie, przywracania oraz weryfikację danych. Sam serwer może działać na wielu platformach Linux, FreeBSD czy Solaris. Klient baculi archiwizuje dane z wilu platform łącznie z windowsami.&lt;br /&gt;
Bacula w skrócie:&lt;br /&gt;
* budowa modularna&lt;br /&gt;
* archiwizacja danych z platform Linux, Windows, Mac OS&lt;br /&gt;
* zaplecze bazo danowe w postaci MySQL, PostgreSQL czy SQLite&lt;br /&gt;
* dostęp do oprogramowania baculi na licencjo OpenSource&lt;br /&gt;
* kopia danych na woluminach wielotaśmowych&lt;br /&gt;
* umożliwia szyfrowanie danych przepływających przez sieć&lt;br /&gt;
* archiwizuje pliki większe niż 2 GBobsługuje automatyczne zmieniarki&lt;br /&gt;
* może wykonywać skrypty przed i po archiwizazcji&lt;br /&gt;
* scentralizowany system zarządzania kopiami dla całej sieci&lt;br /&gt;
&lt;br /&gt;
== Instalacja serwera bacula ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Potrzebne oprogramowanie do działania baculi zaznaczyłem w trakcie instalacji systemu &amp;quot;''[[LAMP]] Server''&amp;quot; , 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&lt;br /&gt;
* w systemie [[CentOS]]&lt;br /&gt;
 yum install bacula-client bacula-common bacula-console bacula-director-common bacula-director-mysql bacula-docs bacula-storage-common &lt;br /&gt;
 bacula-storage-mysql mysql mysql-devel mysql-server&lt;br /&gt;
* w systemie [[Ubuntu]] Server&lt;br /&gt;
  apt-get install bacula apache2 mysql php&lt;br /&gt;
i to tak na prawdę wszyst. Uwaga jeśli chcesz aby Twoja instalacja baculi współpracowała z np bazą danych mysql to musisz instalować pakiety np ''bacula-director-mysql'', ''bacula-common-mysql''  i tak dalej jeśli chcesz przeprowadzić  instalację do współpracy z odpowiednią bazą danych  to musisz jawnie o tym powiadomić instalator podczas instalacji oprogramowania.&lt;br /&gt;
Potrzebne pakiety do poprawnego działania to:&lt;br /&gt;
* bacula-common-mysql&lt;br /&gt;
* bacula-console&lt;br /&gt;
* bacula-director-common&lt;br /&gt;
* bacula-director-mysql&lt;br /&gt;
* bacula-fd (klient)&lt;br /&gt;
* bacula-sd-mysql&lt;br /&gt;
* bacula-server&lt;br /&gt;
* dbconfig-common&lt;br /&gt;
W trakcie instalacji na systemie '''Ubuntu Server''', powyższych pakietów system pyta nas o konfiguracje bazy danych dla '''baculi''' za pomocą oprogramowania '''dbconfig-common''', oczywiście się zgadzamy &amp;quot;''Configure database for bacula-director-mysql with dbconfig-common?''&amp;quot;, po zatwierdzeniu będziemy musieli podać hasło do użytkownika root bazy danych oraz nowe hasło dla '''bacula-director-mysql'''.  Do instalacji tego oprogramowania nie potrzebowałem żadnego dodatkowego repozytorium. Po poprawnej instalacji Twój serwer archiwizacji danych powinien być gotowy do konfiguracji.&amp;lt;br /&amp;gt;&lt;br /&gt;
* W systemie [[CentOS]] po instalacji pakietów musimy skonfigurować ręcznie bazę danych i tak na początku uruchamiamy serwer mysqla &lt;br /&gt;
 service mysqld start &lt;br /&gt;
następnie &lt;br /&gt;
 /usr/bin/mysql_secure_installation &lt;br /&gt;
i ustawiamy hasło do bazy danych i inne opcje (konfiguracja serwera MySQL dostępna jest [[MySQL|tutaj]]), następnie &lt;br /&gt;
 service mysqld restart &lt;br /&gt;
i  &lt;br /&gt;
 chkconfig mysqld on  &lt;br /&gt;
tworzymy bazę danych dla baculi &lt;br /&gt;
 cd /usr/libexec/bacula/ &lt;br /&gt;
a następnie &lt;br /&gt;
 ./create_mysql_database -u root -p &lt;br /&gt;
tworzymy tabele w bazie baculi &lt;br /&gt;
 ./make_mysql_tables -u root -p &lt;br /&gt;
nadanie przywilejów dla usera bacula &lt;br /&gt;
 ./grant_mysql_privileges -u root -p &lt;br /&gt;
następnie nadajemy użytkownikowi bazy danych bacula hasło (obecnie brak hasła), logujemy się do bazy danych &lt;br /&gt;
 mysql -u root -p &lt;br /&gt;
a następnie wydajemy polecenie &lt;br /&gt;
 UPDATE mysql.user set password=password('haslo_dla_usera_bacula') where user='bacula'; &lt;br /&gt;
restartujemy bazę danych &lt;br /&gt;
 service mysqld restart&lt;br /&gt;
&lt;br /&gt;
== Konfiguracja serwera Bacula ==&lt;br /&gt;
&lt;br /&gt;
Wszystkie pliki konfiguracyjne baculi powinny znajdować się w ścieżce ''/etc/bacula/'' usługę możesz restartować zatrzymywać oraz startować za pomocą polecenia&lt;br /&gt;
 /etc/init.d/bacula-dir start/stop/restart/status &lt;br /&gt;
 /etc/init.d/bacula-sd start/stop/restart/status&lt;br /&gt;
 /etc/init.d/bacula-fd start/stop/restart/status&lt;br /&gt;
&lt;br /&gt;
== Pliki konfiguracyjne ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Plik '''bacula-dir.conf'''&amp;lt;br /&amp;gt; '''Director''' – dane zarządcy uprawnionego do używania urządzeń demona magazynowania&lt;br /&gt;
# Plik '''bacula-fd.conf'''&amp;lt;br /&amp;gt;'''Device''' – definicja urządzenia archiwizującego&lt;br /&gt;
# Plik '''bacula-sd.conf'''&amp;lt;br /&amp;gt;'''StorageDaemon''' – główna konfiguracja demona magazynowania&lt;br /&gt;
# Plik '''bconsole.conf''' - plik konsoli bacula&lt;br /&gt;
#Plik konfiguracji każdego klienta np '''slawek-backup.conf'''&lt;br /&gt;
Poniżej przedstawie przykładowe pliki konfiguracyjne z działającego serwera i pokrótce  postaram się opisać najważniejsze opcje każdego z nich.&lt;br /&gt;
&lt;br /&gt;
== Plik bacula-dir.conf - Director ==&lt;br /&gt;
Plik '''bacula-dir.conf''' zawiera sekcje&lt;br /&gt;
* Director – główna konfiguracja zarządcy,&lt;br /&gt;
* Catalog – parametry połączenia z bazą danych,&lt;br /&gt;
* Messages – sposób zapisywania dzienników (w tym powiadomienia na e-mail),&lt;br /&gt;
* Job – zadanie (backup, restore, weryfikacja, migracja, kopiowanie i inne),&lt;br /&gt;
* FileSet – opcje zadania (listy dołączeń, listy wykluczeń, sygnatury plików, kompresja programowa i inne),&lt;br /&gt;
* Storage – ustawienia dostępnych urządzeń archiwizujących,&lt;br /&gt;
* Client – definicja klientów,&lt;br /&gt;
* Pool – pula woluminów,&lt;br /&gt;
* Schedule – harmonogram zadań.&lt;br /&gt;
&lt;br /&gt;
Przykładowa konfiguracja&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Director {&lt;br /&gt;
	Name = ogrody-dir #nazwa zarzadcy&lt;br /&gt;
	Password = &amp;quot;qwerty123-dir&amp;quot; #haslo, uzywaja programy łączące się z zarządcą&lt;br /&gt;
	DIR Address = 192.168.2.15 #adres IP interfejsu sieciowego&lt;br /&gt;
	DIR Port = 9101 #port na którym ma nasłuchiwać zarządca&lt;br /&gt;
	QueryFile = &amp;quot;/usr/libexec/bacula/query.sql&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
        WorkingDirectory = &amp;quot;/var/spool/bacula&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
        PidDirectory = &amp;quot;/var/run&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
	Messages = DirRaport #nazwa zasobu messages, uzyta ponizej&lt;br /&gt;
	Maximum Concurrent jobs = 5 #ilość zadań, które jednocześnie może wykonywać zarządca&lt;br /&gt;
 }&lt;br /&gt;
 Catalog {&lt;br /&gt;
	Name = &amp;quot;Baza-danych-bacula&amp;quot; #nazwa zasobu, używana w zasobach client&lt;br /&gt;
	DB Name = bacula #nazwa bazy danych&lt;br /&gt;
	DB Address = 127.0.0.1 # adres bazy danych&lt;br /&gt;
	DB Port = 3306 #port na którym nasłuchuje mysql&lt;br /&gt;
	User = bacula #użytkownik do bazy danych dla baculi&lt;br /&gt;
	Password = bacula1 #hasło użytkownika baculi&lt;br /&gt;
 } &lt;br /&gt;
 Messages {&lt;br /&gt;
	Name = DirRaport #nazwa zasobu, odpowiada ona nazwie w zasobie Director opcji messages&lt;br /&gt;
	Mailcommand = &amp;quot;/usr/sbin/bsmtp -h localhost -f \&amp;quot;\(Bacula\) \&amp;lt;%r\&amp;gt;\&amp;quot; -s \&amp;quot;Bacula: %t %e of %c %l\&amp;quot; %r&amp;quot; #komenda do wysłania maila z powiadomieniem&lt;br /&gt;
  	Operatorcommand = &amp;quot;/usr/sbin/bsmtp -h localhost -f \&amp;quot;\(Bacula\) \&amp;lt;%r\&amp;gt;\&amp;quot; -s \&amp;quot;Bacula: Intervention needed for %j\&amp;quot; %r&amp;quot; #mail z powiadomieniem&lt;br /&gt;
  	Mail = slawek@linux-user.eu = all, !skipped #mail od kogo&lt;br /&gt;
  	Operator = slawek@linux-user.eu = mount #mail od kogo&lt;br /&gt;
  	Console = all, !skipped, !saved #wyświetlanie statusów i zdarzeń wartość all wyświetla wszystko&lt;br /&gt;
    	Append = &amp;quot;/var/spool/bacula/log&amp;quot; = all, !skipped #ustawienie zapisywania statusów i raportów do pliku logów wartość all wszystko&lt;br /&gt;
 }&lt;br /&gt;
 Storage {&lt;br /&gt;
	Name = Dysk-Pendrive #nazwa zasobu, używana w zasobie jobs&lt;br /&gt;
	Address = 192.168.2.15 #adres IP z bacula-sd, &lt;br /&gt;
	SD Port = 9103 #port bacula-sd&lt;br /&gt;
	Password = qwerty123-sd #hasło do bacula-sd&lt;br /&gt;
	Device = &amp;quot;Urzadzenie pendrive&amp;quot; #nazwa urzadzenia, uzyte również w bacula-sd&lt;br /&gt;
	Media Type = Pliki-na-usb #nazwa typu obsługiwanych woluminów, uzywana w bacula-sd&lt;br /&gt;
	Maximum Concurrent Jobs = 1 #ilośc zadań, które jednocześnie może zrealizować urządzenie&lt;br /&gt;
 } &lt;br /&gt;
 Client {&lt;br /&gt;
	Name = backup_na_pendrive # nazwa klienta, użyta również w sekcji Job&lt;br /&gt;
	Address = 192.168.2.15 #adres IP komputera klienta, &lt;br /&gt;
	FD Port = 9102 #numer portu bacula-client, domyślnie 9102&lt;br /&gt;
	Catalog = &amp;quot;Baza-danych-bacula&amp;quot; #jakiej bazy danych użyć, nazwa z sekcji Catalog&lt;br /&gt;
	Password = &amp;quot;qwerty123-fd&amp;quot; #hasło do bacula-fd na kliencie&lt;br /&gt;
	AutoPrune = no # czyszczenie przestarzałych danych z bazy danych&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
	Name = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
	Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
	Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
	AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
	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&lt;br /&gt;
	Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
	 LabelFormat = &amp;quot;serwer-ogrody-plik-poniedzialek-&amp;quot; &lt;br /&gt;
	Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
        Name = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
        Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
        Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
        AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
        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&lt;br /&gt;
        Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
         LabelFormat = &amp;quot;serwer-ogrody-plik-wtorek-&amp;quot;&lt;br /&gt;
        Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
        Name = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa puli woluminów&lt;br /&gt;
        Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
        Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
        AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
        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&lt;br /&gt;
        Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
         LabelFormat = &amp;quot;serwer-ogrody-plik-sroda-&amp;quot;&lt;br /&gt;
        Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
        Name = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
        Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
        Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
        AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
        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&lt;br /&gt;
        Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
         LabelFormat = &amp;quot;serwer-ogrody-plik-czwartek-&amp;quot;&lt;br /&gt;
        Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
        Name = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
        Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
        Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
        AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
        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&lt;br /&gt;
        Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
         LabelFormat = &amp;quot;serwer-ogrody-plik-piatek-&amp;quot;&lt;br /&gt;
        Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 FileSet {&lt;br /&gt;
	Name = &amp;quot;Baza-danych-postgresql&amp;quot; #nazwa akcji, użyta w sekcji job&lt;br /&gt;
	Include {&lt;br /&gt;
		Options {&lt;br /&gt;
			Signature = MD5 # sposób tworzenia sygnatur kopii zapasowych&lt;br /&gt;
			}&lt;br /&gt;
		File = /var/lib/pgsql/9.1/data/ #pliki do archiwizowania&lt;br /&gt;
		}&lt;br /&gt;
	Exclude { #nie archiwizuj poniższych plików&lt;br /&gt;
  	    File = /var/lib/pgsql/9.1/data/backup_test &lt;br /&gt;
	    File = /var/lib/pgsql/9.1/data/backup_test_pg&lt;br /&gt;
  }&lt;br /&gt;
 }&lt;br /&gt;
 FileSet {&lt;br /&gt;
	Name = &amp;quot;Pliki-samby&amp;quot;&lt;br /&gt;
	Include {&lt;br /&gt;
		Options {&lt;br /&gt;
                        Signature = MD5 # sposób tworzenia sygnatur kopii zapasowych&lt;br /&gt;
                        }&lt;br /&gt;
                File = /home/samba/&lt;br /&gt;
                }&lt;br /&gt;
	Exclude {&lt;br /&gt;
		File = /home/samba/.*&lt;br /&gt;
		}&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
	Name = &amp;quot;Cykl-codzienny-full-poniedzialek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
	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ę &lt;br /&gt;
 #wykonywać w dni od poniedziałku do piątku&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-wtorek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
        Run = Full tuesday at 00:04  &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-sroda&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
        Run = Full wednesday at 15:10 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-czwartek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
        Run = Full thursday at 15:10 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-piatek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
        Run = Full friday at 16:15 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-incremental-poniedzialek&amp;quot;&lt;br /&gt;
        Run = Incremental monday at 10:00 #kopia przyrostowa w poniedziałek o 10:00&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-incremental-wtorek&amp;quot;&lt;br /&gt;
        Run = Incremental tuesday at 00:23 &lt;br /&gt;
 }&lt;br /&gt;
Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-incremental-sroda&amp;quot;&lt;br /&gt;
        Run = Incremental wednesday at 15:13 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-incremental-czwartek&amp;quot;&lt;br /&gt;
        Run = Incremental thursday at 15:13 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-incremental-piatek&amp;quot;&lt;br /&gt;
        Run = Incremental friday at 16:17 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-samba-poniedzialek&amp;quot; &lt;br /&gt;
        Run = Full monday at 01:00 #backup powinien wykonać się w poniedziałek o godzinie 01:00&lt;br /&gt;
}&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-samba-wtorek&amp;quot; &lt;br /&gt;
        Run = Full tuesday at 00:06 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-samba-sroda&amp;quot; &lt;br /&gt;
        Run = Full wednesday at 00:06 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-samba-czwartek&amp;quot; &lt;br /&gt;
        Run = Full thursday at 15:11 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-samba-piatek&amp;quot; &lt;br /&gt;
        Run = Full friday at 16:19 &lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-poniedzialek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-poniedzialek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-poniedzialek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-wtorek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-wtorek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-wtorek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-sroda&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-sroda&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-sroda&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-baza_danych-czwartek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-czwartek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-czwartek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-piatek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-piatek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-piatek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-poniedzialek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-poniedzialek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-poniedzialek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-wtorek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-wtorek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-wtorek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-sroda&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-sroda&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-sroda&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-samby-czwartek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-czwartek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-czwartek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-piatek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-piatek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-piatek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
	Name = &amp;quot;Backup-bazy-danych-omeda-full-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
	Type = Backup&lt;br /&gt;
	Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
	Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
	Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
	Schedule = &amp;quot;Cykl-codzienny-full-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
	Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
	FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
	# skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
	Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
	# Usuwanie zbekapowanego backupu&lt;br /&gt;
	Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-full-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
	# Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-full-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
         }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-full-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-full-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
	# skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
	Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
	# Usuwanie zbekapowanego backupu&lt;br /&gt;
	Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot; &lt;br /&gt;
	 &lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }      &lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }       &lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Konfiguracja pliku bacula-fd.conf - File Daemon ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Director {&lt;br /&gt;
 Name = backup-serwer-dir&lt;br /&gt;
 Password = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
 Name = backup-serwer-mon&lt;br /&gt;
 Password = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
 Monitor = yes&lt;br /&gt;
 }&lt;br /&gt;
 FileDaemon {&lt;br /&gt;
 Name = backup-serwer-fd&lt;br /&gt;
 FDport = 9102&lt;br /&gt;
 WorkingDirectory = /var/lib/bacula&lt;br /&gt;
 Pid Directory = /var/run/bacula&lt;br /&gt;
 Maximum Concurrent Jobs = 20&lt;br /&gt;
 FDAddress = 127.0.0.1&lt;br /&gt;
 }&lt;br /&gt;
 Messages {&lt;br /&gt;
 Name = Standard&lt;br /&gt;
 director = backup-serwer-dir = all, !skipped, !restored&lt;br /&gt;
 } &lt;br /&gt;
Konfiguracja Storage Daemona '''bacula-sd.conf'''&lt;br /&gt;
&lt;br /&gt;
 Storage {                           &lt;br /&gt;
  Name = backup-serwer-sd   # Name – nazwa demona magazynowania. &lt;br /&gt;
 Nie jest ona powiązana z żadną inną konfiguracją usług&lt;br /&gt;
  SDPort = 9103                  # Director's port      &lt;br /&gt;
  WorkingDirectory = &amp;quot;/var/lib/bacula&amp;quot;   #Working Directory – katalog w którym serwis &lt;br /&gt;
 będzie przechowywał pliki swoich statusów. Dobrą praktyką jest zdefiniować taki katalog, &lt;br /&gt;
 który przeznaczony będzie tylko do tego celu.&lt;br /&gt;
  Pid Directory = &amp;quot;/var/run/bacula&amp;quot;  #PID Directory – lokalizacja, w której demon &lt;br /&gt;
 magazynowania będzie zapisywał plik z identyfikatorem procesu, jaki otrzymał &lt;br /&gt;
 demon przy starcie&lt;br /&gt;
  Maximum Concurrent Jobs = 2&lt;br /&gt;
  SDAddress = 192.168.0.10   #SD Address – dyrektywa definiuje adres IP interfejsu, &lt;br /&gt;
 na którym będzie nasłuchiwał demon.&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
  Name = backup-serwer-dir   # Name – nazwa zarządcy uprawnionego do używania &lt;br /&gt;
 demona magazynowania. Nazwa zarządcy określanego w tej dyrektywie musi odpowiadać &lt;br /&gt;
 nazwie zarządcy zdefiniowanej w innych plikach konfiguracyjnych.&lt;br /&gt;
  Password = &amp;quot;s7s8,.zq&amp;quot;   # Password – hasło, którym zarządca będzie autoryzował się do &lt;br /&gt;
 demona magazynowania. Podane tu hasło definiowane jest również w pliku konfiguracyjnym zarządcy.&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
  Name = backup-serwer-mon&lt;br /&gt;
  Password = &amp;quot;s7s8,.zq&amp;quot;&lt;br /&gt;
  Monitor = yes&lt;br /&gt;
 }&lt;br /&gt;
 Device {&lt;br /&gt;
  Name = &amp;quot;serwer&amp;quot; # Name – nazwa urządzenia. Ta sama nazwa jest definiowana również w &lt;br /&gt;
 pliku konfiguracyjnym zarządcy&lt;br /&gt;
  Media Type = File #typ woluminu. Określa jakiego typu nośniki obsługuje dane urządzenie.&lt;br /&gt;
  Archive Device = /home/bacula/backup/serwer  # Archive Device – lokalizacja urządzenia. &lt;br /&gt;
 Jeśli urządzeniem jest dysk, to podawany jest tutaj punkt jego montowania&lt;br /&gt;
  Device Type = File # Device Type – określa typ urządzenia. Możliwe typy urządzeń to: File – &lt;br /&gt;
 dla dysków, Tape – dla urządzeń taśmowych, Fifo – dla kolejek FIFO, DVD – dla napędów DVD-ROM&lt;br /&gt;
  LabelMedia = yes;&lt;br /&gt;
  AutomaticMount = yes;&lt;br /&gt;
  RemovableMedia = no;     #mówi o tym, czy urządzenie obsługuje wymienne nośniki. Dla urządzeń &lt;br /&gt;
 taśmowych, napędów DVD jak i wyjmowalnych dysków (np. dyski zewnętrzne lub pendrive) dyrektywa &lt;br /&gt;
 powinna być ustawiona na &amp;quot;yes&amp;quot;. Dla stałych dysków dyrektywa powinna być ustawiona na &amp;quot;no&amp;quot;&lt;br /&gt;
  AlwaysOpen = no;&lt;br /&gt;
 }&lt;br /&gt;
 Device {&lt;br /&gt;
  Name = &amp;quot;slawek&amp;quot;&lt;br /&gt;
  Media Type = File&lt;br /&gt;
  Archive Device = /home/bacula/backup/slawek&lt;br /&gt;
  LabelMedia = yes;&lt;br /&gt;
  AutomaticMount = yes;&lt;br /&gt;
  RemovableMedia = no;&lt;br /&gt;
  AlwaysOpen = no;&lt;br /&gt;
 }&lt;br /&gt;
 Messages {&lt;br /&gt;
  Name = Standard   #nazwa zasobu. Używana jest na wewnętrzne potrzeby demona i nie zostaje &lt;br /&gt;
 przekazana nigdzie na zewnątrz&lt;br /&gt;
  director = backup-serwer-dir = all   # Określa się tu dwie wartości: nazwę zarządcy do którego &lt;br /&gt;
 dyrektywa się tyczy oraz poziom logowania. Wartość 'all' oznacza, że raportowane będą wszystkie &lt;br /&gt;
 zmiany i statusy podczas pracy demona magazynowania.&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
Uwaga hasło &amp;quot;''haslo123''&amp;quot;  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.&lt;br /&gt;
 &lt;br /&gt;
Więcej informacji znajdziesz na polskiej stronie na temat oprogramowania bacula [http://www.bacula.pl www.bacula.pl].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;google1 style=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/google1&amp;gt;&lt;/div&gt;</summary>
		<author><name>Slawek</name></author>	</entry>

	<entry>
		<id>http://wiki.linux-user.eu/index.php/Bacula_-_backup_danych</id>
		<title>Bacula - backup danych</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux-user.eu/index.php/Bacula_-_backup_danych"/>
				<updated>2012-09-16T12:55:28Z</updated>
		
		<summary type="html">&lt;p&gt;Slawek: /* Pliki konfiguracyjne */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Serwer]]&lt;br /&gt;
== Backup danych - Bacula ==&lt;br /&gt;
'''Bacula''' jest profesjonalnym systemem archiwizacji danych typu klien-serwer. Jest to darmowe oprogramowanie, które odpowiada za tworzenie, przywracania oraz weryfikację danych. Sam serwer może działać na wielu platformach Linux, FreeBSD czy Solaris. Klient baculi archiwizuje dane z wilu platform łącznie z windowsami.&lt;br /&gt;
Bacula w skrócie:&lt;br /&gt;
* budowa modularna&lt;br /&gt;
* archiwizacja danych z platform Linux, Windows, Mac OS&lt;br /&gt;
* zaplecze bazo danowe w postaci MySQL, PostgreSQL czy SQLite&lt;br /&gt;
* dostęp do oprogramowania baculi na licencjo OpenSource&lt;br /&gt;
* kopia danych na woluminach wielotaśmowych&lt;br /&gt;
* umożliwia szyfrowanie danych przepływających przez sieć&lt;br /&gt;
* archiwizuje pliki większe niż 2 GBobsługuje automatyczne zmieniarki&lt;br /&gt;
* może wykonywać skrypty przed i po archiwizazcji&lt;br /&gt;
* scentralizowany system zarządzania kopiami dla całej sieci&lt;br /&gt;
&lt;br /&gt;
== Instalacja serwera bacula ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Potrzebne oprogramowanie do działania baculi zaznaczyłem w trakcie instalacji systemu &amp;quot;''[[LAMP]] Server''&amp;quot; , 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&lt;br /&gt;
* w systemie [[CentOS]]&lt;br /&gt;
 yum install bacula-client bacula-common bacula-console bacula-director-common bacula-director-mysql bacula-docs bacula-storage-common &lt;br /&gt;
 bacula-storage-mysql mysql mysql-devel mysql-server&lt;br /&gt;
* w systemie [[Ubuntu]] Server&lt;br /&gt;
  apt-get install bacula apache2 mysql php&lt;br /&gt;
i to tak na prawdę wszyst. Uwaga jeśli chcesz aby Twoja instalacja baculi współpracowała z np bazą danych mysql to musisz instalować pakiety np ''bacula-director-mysql'', ''bacula-common-mysql''  i tak dalej jeśli chcesz przeprowadzić  instalację do współpracy z odpowiednią bazą danych  to musisz jawnie o tym powiadomić instalator podczas instalacji oprogramowania.&lt;br /&gt;
Potrzebne pakiety do poprawnego działania to:&lt;br /&gt;
* bacula-common-mysql&lt;br /&gt;
* bacula-console&lt;br /&gt;
* bacula-director-common&lt;br /&gt;
* bacula-director-mysql&lt;br /&gt;
* bacula-fd (klient)&lt;br /&gt;
* bacula-sd-mysql&lt;br /&gt;
* bacula-server&lt;br /&gt;
* dbconfig-common&lt;br /&gt;
W trakcie instalacji na systemie '''Ubuntu Server''', powyższych pakietów system pyta nas o konfiguracje bazy danych dla '''baculi''' za pomocą oprogramowania '''dbconfig-common''', oczywiście się zgadzamy &amp;quot;''Configure database for bacula-director-mysql with dbconfig-common?''&amp;quot;, po zatwierdzeniu będziemy musieli podać hasło do użytkownika root bazy danych oraz nowe hasło dla '''bacula-director-mysql'''.  Do instalacji tego oprogramowania nie potrzebowałem żadnego dodatkowego repozytorium. Po poprawnej instalacji Twój serwer archiwizacji danych powinien być gotowy do konfiguracji.&amp;lt;br /&amp;gt;&lt;br /&gt;
* W systemie [[CentOS]] po instalacji pakietów musimy skonfigurować ręcznie bazę danych i tak na początku uruchamiamy serwer mysqla &lt;br /&gt;
 service mysqld start &lt;br /&gt;
następnie &lt;br /&gt;
 /usr/bin/mysql_secure_installation &lt;br /&gt;
i ustawiamy hasło do bazy danych i inne opcje (konfiguracja serwera MySQL dostępna jest [[MySQL|tutaj]]), następnie &lt;br /&gt;
 service mysqld restart &lt;br /&gt;
i  &lt;br /&gt;
 chkconfig mysqld on  &lt;br /&gt;
tworzymy bazę danych dla baculi &lt;br /&gt;
 cd /usr/libexec/bacula/ &lt;br /&gt;
a następnie &lt;br /&gt;
 ./create_mysql_database -u root -p &lt;br /&gt;
tworzymy tabele w bazie baculi &lt;br /&gt;
 ./make_mysql_tables -u root -p &lt;br /&gt;
nadanie przywilejów dla usera bacula &lt;br /&gt;
 ./grant_mysql_privileges -u root -p &lt;br /&gt;
następnie nadajemy użytkownikowi bazy danych bacula hasło (obecnie brak hasła), logujemy się do bazy danych &lt;br /&gt;
 mysql -u root -p &lt;br /&gt;
a następnie wydajemy polecenie &lt;br /&gt;
 UPDATE mysql.user set password=password('haslo_dla_usera_bacula') where user='bacula'; &lt;br /&gt;
restartujemy bazę danych &lt;br /&gt;
 service mysqld restart&lt;br /&gt;
&lt;br /&gt;
== Konfiguracja serwera Bacula ==&lt;br /&gt;
&lt;br /&gt;
Wszystkie pliki konfiguracyjne baculi powinny znajdować się w ścieżce ''/etc/bacula/'' usługę możesz restartować zatrzymywać oraz startować za pomocą polecenia&lt;br /&gt;
 /etc/init.d/bacula-dir start/stop/restart/status &lt;br /&gt;
 /etc/init.d/bacula-sd start/stop/restart/status&lt;br /&gt;
 /etc/init.d/bacula-fd start/stop/restart/status&lt;br /&gt;
&lt;br /&gt;
== Pliki konfiguracyjne ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Plik '''bacula-dir.conf'''&amp;lt;br /&amp;gt; '''Director''' – dane zarządcy uprawnionego do używania urządzeń demona magazynowania&lt;br /&gt;
# Plik '''bacula-fd.conf'''&amp;lt;br /&amp;gt;'''Device''' – definicja urządzenia archiwizującego&lt;br /&gt;
# Plik '''bacula-sd.conf'''&amp;lt;br /&amp;gt;'''StorageDaemon''' – główna konfiguracja demona magazynowania&lt;br /&gt;
# Plik '''bconsole.conf''' - plik konsoli bacula&lt;br /&gt;
#Plik konfiguracji każdego klienta np '''slawek-backup.conf'''&lt;br /&gt;
Poniżej przedstawie przykładowe pliki konfiguracyjne z działającego serwera i pokrótce  postaram się opisać najważniejsze opcje każdego z nich.&lt;br /&gt;
&lt;br /&gt;
== Plik bacula-dir.conf ==&lt;br /&gt;
Plik '''bacula-dir.conf''' zawiera sekcje&lt;br /&gt;
* Director – główna konfiguracja zarządcy,&lt;br /&gt;
* Catalog – parametry połączenia z bazą danych,&lt;br /&gt;
* Messages – sposób zapisywania dzienników (w tym powiadomienia na e-mail),&lt;br /&gt;
* Job – zadanie (backup, restore, weryfikacja, migracja, kopiowanie i inne),&lt;br /&gt;
* FileSet – opcje zadania (listy dołączeń, listy wykluczeń, sygnatury plików, kompresja programowa i inne),&lt;br /&gt;
* Storage – ustawienia dostępnych urządzeń archiwizujących,&lt;br /&gt;
* Client – definicja klientów,&lt;br /&gt;
* Pool – pula woluminów,&lt;br /&gt;
* Schedule – harmonogram zadań.&lt;br /&gt;
&lt;br /&gt;
Przykładowa konfiguracja&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Director {&lt;br /&gt;
	Name = ogrody-dir #nazwa zarzadcy&lt;br /&gt;
	Password = &amp;quot;qwerty123-dir&amp;quot; #haslo, uzywaja programy łączące się z zarządcą&lt;br /&gt;
	DIR Address = 192.168.2.15 #adres IP interfejsu sieciowego&lt;br /&gt;
	DIR Port = 9101 #port na którym ma nasłuchiwać zarządca&lt;br /&gt;
	QueryFile = &amp;quot;/usr/libexec/bacula/query.sql&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
        WorkingDirectory = &amp;quot;/var/spool/bacula&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
        PidDirectory = &amp;quot;/var/run&amp;quot; #kopiować z orginalnego pliku&lt;br /&gt;
	Messages = DirRaport #nazwa zasobu messages, uzyta ponizej&lt;br /&gt;
	Maximum Concurrent jobs = 5 #ilość zadań, które jednocześnie może wykonywać zarządca&lt;br /&gt;
 }&lt;br /&gt;
 Catalog {&lt;br /&gt;
	Name = &amp;quot;Baza-danych-bacula&amp;quot; #nazwa zasobu, używana w zasobach client&lt;br /&gt;
	DB Name = bacula #nazwa bazy danych&lt;br /&gt;
	DB Address = 127.0.0.1 # adres bazy danych&lt;br /&gt;
	DB Port = 3306 #port na którym nasłuchuje mysql&lt;br /&gt;
	User = bacula #użytkownik do bazy danych dla baculi&lt;br /&gt;
	Password = bacula1 #hasło użytkownika baculi&lt;br /&gt;
 } &lt;br /&gt;
 Messages {&lt;br /&gt;
	Name = DirRaport #nazwa zasobu, odpowiada ona nazwie w zasobie Director opcji messages&lt;br /&gt;
	Mailcommand = &amp;quot;/usr/sbin/bsmtp -h localhost -f \&amp;quot;\(Bacula\) \&amp;lt;%r\&amp;gt;\&amp;quot; -s \&amp;quot;Bacula: %t %e of %c %l\&amp;quot; %r&amp;quot; #komenda do wysłania maila z powiadomieniem&lt;br /&gt;
  	Operatorcommand = &amp;quot;/usr/sbin/bsmtp -h localhost -f \&amp;quot;\(Bacula\) \&amp;lt;%r\&amp;gt;\&amp;quot; -s \&amp;quot;Bacula: Intervention needed for %j\&amp;quot; %r&amp;quot; #mail z powiadomieniem&lt;br /&gt;
  	Mail = slawek@linux-user.eu = all, !skipped #mail od kogo&lt;br /&gt;
  	Operator = slawek@linux-user.eu = mount #mail od kogo&lt;br /&gt;
  	Console = all, !skipped, !saved #wyświetlanie statusów i zdarzeń wartość all wyświetla wszystko&lt;br /&gt;
    	Append = &amp;quot;/var/spool/bacula/log&amp;quot; = all, !skipped #ustawienie zapisywania statusów i raportów do pliku logów wartość all wszystko&lt;br /&gt;
 }&lt;br /&gt;
 Storage {&lt;br /&gt;
	Name = Dysk-Pendrive #nazwa zasobu, używana w zasobie jobs&lt;br /&gt;
	Address = 192.168.2.15 #adres IP z bacula-sd, &lt;br /&gt;
	SD Port = 9103 #port bacula-sd&lt;br /&gt;
	Password = qwerty123-sd #hasło do bacula-sd&lt;br /&gt;
	Device = &amp;quot;Urzadzenie pendrive&amp;quot; #nazwa urzadzenia, uzyte również w bacula-sd&lt;br /&gt;
	Media Type = Pliki-na-usb #nazwa typu obsługiwanych woluminów, uzywana w bacula-sd&lt;br /&gt;
	Maximum Concurrent Jobs = 1 #ilośc zadań, które jednocześnie może zrealizować urządzenie&lt;br /&gt;
 } &lt;br /&gt;
 Client {&lt;br /&gt;
	Name = backup_na_pendrive # nazwa klienta, użyta również w sekcji Job&lt;br /&gt;
	Address = 192.168.2.15 #adres IP komputera klienta, &lt;br /&gt;
	FD Port = 9102 #numer portu bacula-client, domyślnie 9102&lt;br /&gt;
	Catalog = &amp;quot;Baza-danych-bacula&amp;quot; #jakiej bazy danych użyć, nazwa z sekcji Catalog&lt;br /&gt;
	Password = &amp;quot;qwerty123-fd&amp;quot; #hasło do bacula-fd na kliencie&lt;br /&gt;
	AutoPrune = no # czyszczenie przestarzałych danych z bazy danych&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
	Name = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
	Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
	Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
	AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
	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&lt;br /&gt;
	Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
	 LabelFormat = &amp;quot;serwer-ogrody-plik-poniedzialek-&amp;quot; &lt;br /&gt;
	Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
        Name = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
        Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
        Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
        AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
        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&lt;br /&gt;
        Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
         LabelFormat = &amp;quot;serwer-ogrody-plik-wtorek-&amp;quot;&lt;br /&gt;
        Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
        Name = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa puli woluminów&lt;br /&gt;
        Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
        Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
        AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
        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&lt;br /&gt;
        Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
         LabelFormat = &amp;quot;serwer-ogrody-plik-sroda-&amp;quot;&lt;br /&gt;
        Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
        Name = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
        Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
        Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
        AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
        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&lt;br /&gt;
        Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
         LabelFormat = &amp;quot;serwer-ogrody-plik-czwartek-&amp;quot;&lt;br /&gt;
        Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
        Name = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa puli woluminów&lt;br /&gt;
        Pool Type = Backup #zawsze tak ma byc&lt;br /&gt;
        Recycle = yes #ponowne użycie dla każdego nowo utworzonego wolumenu&lt;br /&gt;
        AutoPrune = yes #czyszczenie przestarzałych plików, zadań i woluminów&lt;br /&gt;
        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&lt;br /&gt;
        Maximum Volume Bytes = 2000 MB # maksymalny rozmiar voluminu&lt;br /&gt;
         LabelFormat = &amp;quot;serwer-ogrody-plik-piatek-&amp;quot;&lt;br /&gt;
        Storage = Dysk-Pendrive #nazwa urzadzenia z sekcji Storage&lt;br /&gt;
 }&lt;br /&gt;
 FileSet {&lt;br /&gt;
	Name = &amp;quot;Baza-danych-postgresql&amp;quot; #nazwa akcji, użyta w sekcji job&lt;br /&gt;
	Include {&lt;br /&gt;
		Options {&lt;br /&gt;
			Signature = MD5 # sposób tworzenia sygnatur kopii zapasowych&lt;br /&gt;
			}&lt;br /&gt;
		File = /var/lib/pgsql/9.1/data/ #pliki do archiwizowania&lt;br /&gt;
		}&lt;br /&gt;
	Exclude { #nie archiwizuj poniższych plików&lt;br /&gt;
  	    File = /var/lib/pgsql/9.1/data/backup_test &lt;br /&gt;
	    File = /var/lib/pgsql/9.1/data/backup_test_pg&lt;br /&gt;
  }&lt;br /&gt;
 }&lt;br /&gt;
 FileSet {&lt;br /&gt;
	Name = &amp;quot;Pliki-samby&amp;quot;&lt;br /&gt;
	Include {&lt;br /&gt;
		Options {&lt;br /&gt;
                        Signature = MD5 # sposób tworzenia sygnatur kopii zapasowych&lt;br /&gt;
                        }&lt;br /&gt;
                File = /home/samba/&lt;br /&gt;
                }&lt;br /&gt;
	Exclude {&lt;br /&gt;
		File = /home/samba/.*&lt;br /&gt;
		}&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
	Name = &amp;quot;Cykl-codzienny-full-poniedzialek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
	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ę &lt;br /&gt;
 #wykonywać w dni od poniedziałku do piątku&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-wtorek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
        Run = Full tuesday at 00:04  &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-sroda&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
        Run = Full wednesday at 15:10 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-czwartek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
        Run = Full thursday at 15:10 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-piatek&amp;quot; #nazwa zadania, uzywana w zasobie Job&lt;br /&gt;
        Run = Full friday at 16:15 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-incremental-poniedzialek&amp;quot;&lt;br /&gt;
        Run = Incremental monday at 10:00 #kopia przyrostowa w poniedziałek o 10:00&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-incremental-wtorek&amp;quot;&lt;br /&gt;
        Run = Incremental tuesday at 00:23 &lt;br /&gt;
 }&lt;br /&gt;
Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-incremental-sroda&amp;quot;&lt;br /&gt;
        Run = Incremental wednesday at 15:13 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-incremental-czwartek&amp;quot;&lt;br /&gt;
        Run = Incremental thursday at 15:13 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-incremental-piatek&amp;quot;&lt;br /&gt;
        Run = Incremental friday at 16:17 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-samba-poniedzialek&amp;quot; &lt;br /&gt;
        Run = Full monday at 01:00 #backup powinien wykonać się w poniedziałek o godzinie 01:00&lt;br /&gt;
}&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-samba-wtorek&amp;quot; &lt;br /&gt;
        Run = Full tuesday at 00:06 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-samba-sroda&amp;quot; &lt;br /&gt;
        Run = Full wednesday at 00:06 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-samba-czwartek&amp;quot; &lt;br /&gt;
        Run = Full thursday at 15:11 &lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
        Name = &amp;quot;Cykl-codzienny-full-samba-piatek&amp;quot; &lt;br /&gt;
        Run = Full friday at 16:19 &lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-poniedzialek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-poniedzialek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-poniedzialek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-wtorek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-wtorek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-wtorek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-sroda&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-sroda&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-sroda&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-baza_danych-czwartek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-czwartek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-czwartek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-baza_danych-piatek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Baza-danych-postgresql&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-piatek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-piatek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-poniedzialek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-poniedzialek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-poniedzialek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-wtorek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-wtorek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-wtorek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-sroda&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-sroda&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-sroda&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-samby-czwartek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-czwartek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-czwartek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
 Name = &amp;quot;Przywracanie-plikow-z-samby-piatek&amp;quot;&lt;br /&gt;
 Type = Restore&lt;br /&gt;
 Client = backup_na_pendrive&lt;br /&gt;
 FileSet = Pliki-samby&lt;br /&gt;
 Storage = Dysk-Pendrive&lt;br /&gt;
 Pool = Backup-na-pendrive-piatek&lt;br /&gt;
 Messages = DirRaport&lt;br /&gt;
 Where = /root/bacula/restore-piatek&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
	Name = &amp;quot;Backup-bazy-danych-omeda-full-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
	Type = Backup&lt;br /&gt;
	Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
	Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
	Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
	Schedule = &amp;quot;Cykl-codzienny-full-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
	Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
	FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
	# skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
	Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
	# Usuwanie zbekapowanego backupu&lt;br /&gt;
	Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-full-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
	# Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-full-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
         }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-full-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-full-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
	# skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
	Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
	# Usuwanie zbekapowanego backupu&lt;br /&gt;
	Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot; &lt;br /&gt;
	 &lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }      &lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }       &lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-bazy-danych-omeda-incremental-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Incremental #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-incremental-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Baza-danych-postgresql&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
        # skrypt wykonywany przed zrobieniem backupa &lt;br /&gt;
        Client Run Before Job = &amp;quot;/var/lib/pgsql/9.1/data/pg_dump&amp;quot;&lt;br /&gt;
        # Usuwanie zbekapowanego backupu&lt;br /&gt;
        Client Run After Job  = &amp;quot;/var/lib/pgsql/9.1/data/delete_pg_dump&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-poniedzialek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-poniedzialek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-poniedzialek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-wtorek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-wtorek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-wtorek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-sroda&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-sroda&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-sroda&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-czwartek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-czwartek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-czwartek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
        Name = &amp;quot;Backup-pliki-samba-full-piatek&amp;quot; #nazwa zasobu&lt;br /&gt;
        Type = Backup&lt;br /&gt;
        Level = Full #poziom zadania - Full pełen, Incremental przyrostowy, Differental różnicowy&lt;br /&gt;
        Client = backup_na_pendrive #nazwa z sekcji Client&lt;br /&gt;
        Pool = &amp;quot;Backup-na-pendrive-piatek&amp;quot; #nazwa z sekcji Pool, jaki wolumin&lt;br /&gt;
        Schedule = &amp;quot;Cykl-codzienny-full-samba-piatek&amp;quot; #nazwa z sekcji schedule, określa kiedy ma się wykonywać backup&lt;br /&gt;
        Messages = DirRaport #raport wykonania zadania nazwa z sekcji Messagess&lt;br /&gt;
        FileSet = &amp;quot;Pliki-samby&amp;quot; #jakie zadanie mam wykonać nazwa z sekcji FileSet&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Konfiguracja pliku bacula-fd.conf - File Daemon ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Director {&lt;br /&gt;
 Name = backup-serwer-dir&lt;br /&gt;
 Password = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
 Name = backup-serwer-mon&lt;br /&gt;
 Password = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
 Monitor = yes&lt;br /&gt;
 }&lt;br /&gt;
 FileDaemon {&lt;br /&gt;
 Name = backup-serwer-fd&lt;br /&gt;
 FDport = 9102&lt;br /&gt;
 WorkingDirectory = /var/lib/bacula&lt;br /&gt;
 Pid Directory = /var/run/bacula&lt;br /&gt;
 Maximum Concurrent Jobs = 20&lt;br /&gt;
 FDAddress = 127.0.0.1&lt;br /&gt;
 }&lt;br /&gt;
 Messages {&lt;br /&gt;
 Name = Standard&lt;br /&gt;
 director = backup-serwer-dir = all, !skipped, !restored&lt;br /&gt;
 } &lt;br /&gt;
Konfiguracja Storage Daemona '''bacula-sd.conf'''&lt;br /&gt;
&lt;br /&gt;
 Storage {                           &lt;br /&gt;
  Name = backup-serwer-sd   # Name – nazwa demona magazynowania. &lt;br /&gt;
 Nie jest ona powiązana z żadną inną konfiguracją usług&lt;br /&gt;
  SDPort = 9103                  # Director's port      &lt;br /&gt;
  WorkingDirectory = &amp;quot;/var/lib/bacula&amp;quot;   #Working Directory – katalog w którym serwis &lt;br /&gt;
 będzie przechowywał pliki swoich statusów. Dobrą praktyką jest zdefiniować taki katalog, &lt;br /&gt;
 który przeznaczony będzie tylko do tego celu.&lt;br /&gt;
  Pid Directory = &amp;quot;/var/run/bacula&amp;quot;  #PID Directory – lokalizacja, w której demon &lt;br /&gt;
 magazynowania będzie zapisywał plik z identyfikatorem procesu, jaki otrzymał &lt;br /&gt;
 demon przy starcie&lt;br /&gt;
  Maximum Concurrent Jobs = 2&lt;br /&gt;
  SDAddress = 192.168.0.10   #SD Address – dyrektywa definiuje adres IP interfejsu, &lt;br /&gt;
 na którym będzie nasłuchiwał demon.&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
  Name = backup-serwer-dir   # Name – nazwa zarządcy uprawnionego do używania &lt;br /&gt;
 demona magazynowania. Nazwa zarządcy określanego w tej dyrektywie musi odpowiadać &lt;br /&gt;
 nazwie zarządcy zdefiniowanej w innych plikach konfiguracyjnych.&lt;br /&gt;
  Password = &amp;quot;s7s8,.zq&amp;quot;   # Password – hasło, którym zarządca będzie autoryzował się do &lt;br /&gt;
 demona magazynowania. Podane tu hasło definiowane jest również w pliku konfiguracyjnym zarządcy.&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
  Name = backup-serwer-mon&lt;br /&gt;
  Password = &amp;quot;s7s8,.zq&amp;quot;&lt;br /&gt;
  Monitor = yes&lt;br /&gt;
 }&lt;br /&gt;
 Device {&lt;br /&gt;
  Name = &amp;quot;serwer&amp;quot; # Name – nazwa urządzenia. Ta sama nazwa jest definiowana również w &lt;br /&gt;
 pliku konfiguracyjnym zarządcy&lt;br /&gt;
  Media Type = File #typ woluminu. Określa jakiego typu nośniki obsługuje dane urządzenie.&lt;br /&gt;
  Archive Device = /home/bacula/backup/serwer  # Archive Device – lokalizacja urządzenia. &lt;br /&gt;
 Jeśli urządzeniem jest dysk, to podawany jest tutaj punkt jego montowania&lt;br /&gt;
  Device Type = File # Device Type – określa typ urządzenia. Możliwe typy urządzeń to: File – &lt;br /&gt;
 dla dysków, Tape – dla urządzeń taśmowych, Fifo – dla kolejek FIFO, DVD – dla napędów DVD-ROM&lt;br /&gt;
  LabelMedia = yes;&lt;br /&gt;
  AutomaticMount = yes;&lt;br /&gt;
  RemovableMedia = no;     #mówi o tym, czy urządzenie obsługuje wymienne nośniki. Dla urządzeń &lt;br /&gt;
 taśmowych, napędów DVD jak i wyjmowalnych dysków (np. dyski zewnętrzne lub pendrive) dyrektywa &lt;br /&gt;
 powinna być ustawiona na &amp;quot;yes&amp;quot;. Dla stałych dysków dyrektywa powinna być ustawiona na &amp;quot;no&amp;quot;&lt;br /&gt;
  AlwaysOpen = no;&lt;br /&gt;
 }&lt;br /&gt;
 Device {&lt;br /&gt;
  Name = &amp;quot;slawek&amp;quot;&lt;br /&gt;
  Media Type = File&lt;br /&gt;
  Archive Device = /home/bacula/backup/slawek&lt;br /&gt;
  LabelMedia = yes;&lt;br /&gt;
  AutomaticMount = yes;&lt;br /&gt;
  RemovableMedia = no;&lt;br /&gt;
  AlwaysOpen = no;&lt;br /&gt;
 }&lt;br /&gt;
 Messages {&lt;br /&gt;
  Name = Standard   #nazwa zasobu. Używana jest na wewnętrzne potrzeby demona i nie zostaje &lt;br /&gt;
 przekazana nigdzie na zewnątrz&lt;br /&gt;
  director = backup-serwer-dir = all   # Określa się tu dwie wartości: nazwę zarządcy do którego &lt;br /&gt;
 dyrektywa się tyczy oraz poziom logowania. Wartość 'all' oznacza, że raportowane będą wszystkie &lt;br /&gt;
 zmiany i statusy podczas pracy demona magazynowania.&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
Uwaga hasło &amp;quot;''haslo123''&amp;quot;  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.&lt;br /&gt;
 &lt;br /&gt;
Więcej informacji znajdziesz na polskiej stronie na temat oprogramowania bacula [http://www.bacula.pl www.bacula.pl].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;google1 style=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/google1&amp;gt;&lt;/div&gt;</summary>
		<author><name>Slawek</name></author>	</entry>

	<entry>
		<id>http://wiki.linux-user.eu/index.php/Bacula_-_backup_danych</id>
		<title>Bacula - backup danych</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux-user.eu/index.php/Bacula_-_backup_danych"/>
				<updated>2012-09-16T12:41:10Z</updated>
		
		<summary type="html">&lt;p&gt;Slawek: /* Instalacja serwera bacula */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Serwer]]&lt;br /&gt;
== Backup danych - Bacula ==&lt;br /&gt;
'''Bacula''' jest profesjonalnym systemem archiwizacji danych typu klien-serwer. Jest to darmowe oprogramowanie, które odpowiada za tworzenie, przywracania oraz weryfikację danych. Sam serwer może działać na wielu platformach Linux, FreeBSD czy Solaris. Klient baculi archiwizuje dane z wilu platform łącznie z windowsami.&lt;br /&gt;
Bacula w skrócie:&lt;br /&gt;
* budowa modularna&lt;br /&gt;
* archiwizacja danych z platform Linux, Windows, Mac OS&lt;br /&gt;
* zaplecze bazo danowe w postaci MySQL, PostgreSQL czy SQLite&lt;br /&gt;
* dostęp do oprogramowania baculi na licencjo OpenSource&lt;br /&gt;
* kopia danych na woluminach wielotaśmowych&lt;br /&gt;
* umożliwia szyfrowanie danych przepływających przez sieć&lt;br /&gt;
* archiwizuje pliki większe niż 2 GBobsługuje automatyczne zmieniarki&lt;br /&gt;
* może wykonywać skrypty przed i po archiwizazcji&lt;br /&gt;
* scentralizowany system zarządzania kopiami dla całej sieci&lt;br /&gt;
&lt;br /&gt;
== Instalacja serwera bacula ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Potrzebne oprogramowanie do działania baculi zaznaczyłem w trakcie instalacji systemu &amp;quot;''[[LAMP]] Server''&amp;quot; , 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&lt;br /&gt;
* w systemie [[CentOS]]&lt;br /&gt;
 yum install bacula-client bacula-common bacula-console bacula-director-common bacula-director-mysql bacula-docs bacula-storage-common &lt;br /&gt;
 bacula-storage-mysql mysql mysql-devel mysql-server&lt;br /&gt;
* w systemie [[Ubuntu]] Server&lt;br /&gt;
  apt-get install bacula apache2 mysql php&lt;br /&gt;
i to tak na prawdę wszyst. Uwaga jeśli chcesz aby Twoja instalacja baculi współpracowała z np bazą danych mysql to musisz instalować pakiety np ''bacula-director-mysql'', ''bacula-common-mysql''  i tak dalej jeśli chcesz przeprowadzić  instalację do współpracy z odpowiednią bazą danych  to musisz jawnie o tym powiadomić instalator podczas instalacji oprogramowania.&lt;br /&gt;
Potrzebne pakiety do poprawnego działania to:&lt;br /&gt;
* bacula-common-mysql&lt;br /&gt;
* bacula-console&lt;br /&gt;
* bacula-director-common&lt;br /&gt;
* bacula-director-mysql&lt;br /&gt;
* bacula-fd (klient)&lt;br /&gt;
* bacula-sd-mysql&lt;br /&gt;
* bacula-server&lt;br /&gt;
* dbconfig-common&lt;br /&gt;
W trakcie instalacji na systemie '''Ubuntu Server''', powyższych pakietów system pyta nas o konfiguracje bazy danych dla '''baculi''' za pomocą oprogramowania '''dbconfig-common''', oczywiście się zgadzamy &amp;quot;''Configure database for bacula-director-mysql with dbconfig-common?''&amp;quot;, po zatwierdzeniu będziemy musieli podać hasło do użytkownika root bazy danych oraz nowe hasło dla '''bacula-director-mysql'''.  Do instalacji tego oprogramowania nie potrzebowałem żadnego dodatkowego repozytorium. Po poprawnej instalacji Twój serwer archiwizacji danych powinien być gotowy do konfiguracji.&amp;lt;br /&amp;gt;&lt;br /&gt;
* W systemie [[CentOS]] po instalacji pakietów musimy skonfigurować ręcznie bazę danych i tak na początku uruchamiamy serwer mysqla &lt;br /&gt;
 service mysqld start &lt;br /&gt;
następnie &lt;br /&gt;
 /usr/bin/mysql_secure_installation &lt;br /&gt;
i ustawiamy hasło do bazy danych i inne opcje (konfiguracja serwera MySQL dostępna jest [[MySQL|tutaj]]), następnie &lt;br /&gt;
 service mysqld restart &lt;br /&gt;
i  &lt;br /&gt;
 chkconfig mysqld on  &lt;br /&gt;
tworzymy bazę danych dla baculi &lt;br /&gt;
 cd /usr/libexec/bacula/ &lt;br /&gt;
a następnie &lt;br /&gt;
 ./create_mysql_database -u root -p &lt;br /&gt;
tworzymy tabele w bazie baculi &lt;br /&gt;
 ./make_mysql_tables -u root -p &lt;br /&gt;
nadanie przywilejów dla usera bacula &lt;br /&gt;
 ./grant_mysql_privileges -u root -p &lt;br /&gt;
następnie nadajemy użytkownikowi bazy danych bacula hasło (obecnie brak hasła), logujemy się do bazy danych &lt;br /&gt;
 mysql -u root -p &lt;br /&gt;
a następnie wydajemy polecenie &lt;br /&gt;
 UPDATE mysql.user set password=password('haslo_dla_usera_bacula') where user='bacula'; &lt;br /&gt;
restartujemy bazę danych &lt;br /&gt;
 service mysqld restart&lt;br /&gt;
&lt;br /&gt;
== Konfiguracja serwera Bacula ==&lt;br /&gt;
&lt;br /&gt;
Wszystkie pliki konfiguracyjne baculi powinny znajdować się w ścieżce ''/etc/bacula/'' usługę możesz restartować zatrzymywać oraz startować za pomocą polecenia&lt;br /&gt;
 /etc/init.d/bacula-dir start/stop/restart/status &lt;br /&gt;
 /etc/init.d/bacula-sd start/stop/restart/status&lt;br /&gt;
 /etc/init.d/bacula-fd start/stop/restart/status&lt;br /&gt;
&lt;br /&gt;
== Pliki konfiguracyjne ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Plik '''bacula-dir.conf'''&amp;lt;br /&amp;gt; '''Director''' – dane zarządcy uprawnionego do używania urządzeń demona magazynowania&lt;br /&gt;
# Plik '''bacula-fd.conf'''&amp;lt;br /&amp;gt;'''Device''' – definicja urządzenia archiwizującego&lt;br /&gt;
# Plik '''bacula-sd.conf'''&amp;lt;br /&amp;gt;'''StorageDaemon''' – główna konfiguracja demona magazynowania&lt;br /&gt;
# Plik '''bconsole.conf''' - plik konsoli bacula&lt;br /&gt;
#Plik konfiguracji każdego klienta np '''slawek-backup.conf'''&lt;br /&gt;
Poniżej przedstawie przykładowe pliki konfiguracyjne z działającego serwera i pokrótce  postaram się opisać najważniejsze opcje każdego z nich.&lt;br /&gt;
&lt;br /&gt;
Plik bacula-dir.conf&lt;br /&gt;
&lt;br /&gt;
 # Director – dane zarządcy uprawnionego do używania urządzeń demona magazynowania&lt;br /&gt;
 Director {                            # define myself&lt;br /&gt;
  Name = backup-serwer-dir&lt;br /&gt;
  DIRport = 9101                # where we listen for UA connections &lt;br /&gt;
  QueryFile = &amp;quot;/etc/bacula/scripts/query.sql&amp;quot;&lt;br /&gt;
  WorkingDirectory = &amp;quot;/var/lib/bacula&amp;quot;&lt;br /&gt;
  PidDirectory = &amp;quot;/var/run/bacula&amp;quot;&lt;br /&gt;
  Maximum Concurrent Jobs = 1&lt;br /&gt;
  Password = &amp;quot;haslo123&amp;quot;        # Console password &lt;br /&gt;
  Messages = Daemon&lt;br /&gt;
  DirAddress = 192.168.0.10&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
  Name = &amp;quot;serwer&amp;quot;&lt;br /&gt;
  Client = serwer-fd&lt;br /&gt;
  Type = Backup&lt;br /&gt;
  Level = Incremental&lt;br /&gt;
  Pool = &amp;quot;serwer&amp;quot;&lt;br /&gt;
  Schedule = &amp;quot;Dzienny&amp;quot;&lt;br /&gt;
  Messages = Daemon&lt;br /&gt;
  FileSet = &amp;quot;serwer&amp;quot;&lt;br /&gt;
  Storage = serwer&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
  Name = &amp;quot;RestoreFiles-serwer&amp;quot;&lt;br /&gt;
  Type = Restore&lt;br /&gt;
  Client = serwer-fd&lt;br /&gt;
  FileSet = serwer&lt;br /&gt;
  Storage = serwer&lt;br /&gt;
  Pool = serwer&lt;br /&gt;
  Messages = Daemon&lt;br /&gt;
  Where = /home/restore&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
  Name = &amp;quot;slawek&amp;quot;&lt;br /&gt;
  Client = slawek-fd&lt;br /&gt;
  Type = Backup&lt;br /&gt;
  Level = Full&lt;br /&gt;
  Pool = &amp;quot;slawek&amp;quot;&lt;br /&gt;
  Schedule = &amp;quot;Dzienny&amp;quot;&lt;br /&gt;
  Messages = Daemon&lt;br /&gt;
  FileSet = &amp;quot;slawek&amp;quot;&lt;br /&gt;
  Storage = slawek &lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
  Name = &amp;quot;RestoreFiles-slawek&amp;quot;&lt;br /&gt;
  Type = Restore&lt;br /&gt;
  Client = slawek-fd&lt;br /&gt;
  FileSet = slawek&lt;br /&gt;
  Storage = slawek&lt;br /&gt;
  Pool = slawek&lt;br /&gt;
  Messages = Daemon&lt;br /&gt;
  Where = /home/restore/&lt;br /&gt;
 }&lt;br /&gt;
 FileSet {&lt;br /&gt;
   Name = &amp;quot;serwer&amp;quot;&lt;br /&gt;
   Include {&lt;br /&gt;
   Options {&lt;br /&gt;
      signature = MD5&lt;br /&gt;
      compression = GZIP9&lt;br /&gt;
              }&lt;br /&gt;
     File = /home/anka/&lt;br /&gt;
     File = /var/lib/mysql/&lt;br /&gt;
     File = /etc/&lt;br /&gt;
              }&lt;br /&gt;
  Exclude {&lt;br /&gt;
   File = /proc&lt;br /&gt;
   File = /tmp&lt;br /&gt;
   File = /.journal&lt;br /&gt;
    File = /.fsck&lt;br /&gt;
           }&lt;br /&gt;
   }&lt;br /&gt;
 FileSet {&lt;br /&gt;
   Name = &amp;quot;slawek&amp;quot;&lt;br /&gt;
   Include {&lt;br /&gt;
    Options {&lt;br /&gt;
     signature = MD5&lt;br /&gt;
     compression = GZIP9&lt;br /&gt;
    }&lt;br /&gt;
    File = /etc/&lt;br /&gt;
    File = /home/slawek/Pobrane/&lt;br /&gt;
  }&lt;br /&gt;
  Exclude {&lt;br /&gt;
    File = /proc&lt;br /&gt;
    File = /tmp&lt;br /&gt;
    File = /.journal&lt;br /&gt;
    File = /.fsck&lt;br /&gt;
  }&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
  Name = &amp;quot;Dzienny&amp;quot;&lt;br /&gt;
  Run = Full sun at 12:16&lt;br /&gt;
 #Run = Differential  sun at 12:53&lt;br /&gt;
  Run = Incremental sun at 13:59&lt;br /&gt;
 }&lt;br /&gt;
 # This schedule does the catalog. It starts after the WeeklyCycle&lt;br /&gt;
 Schedule {&lt;br /&gt;
  Name = &amp;quot;WeeklyCycleAfterBackup&amp;quot;&lt;br /&gt;
  Run = Full sun-sat at 23:10&lt;br /&gt;
 }&lt;br /&gt;
 Client {&lt;br /&gt;
  Name = serwer-fd&lt;br /&gt;
  Address = 192.168.0.1&lt;br /&gt;
  FDPort = 9102&lt;br /&gt;
  Catalog = serwer-fd&lt;br /&gt;
  Password = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
  File Retention = 30 days&lt;br /&gt;
  Job Retention = 6 months&lt;br /&gt;
  AutoPrune = yes&lt;br /&gt;
 }&lt;br /&gt;
 Client {&lt;br /&gt;
  Name = slawek-fd&lt;br /&gt;
  Address = 192.168.0.12&lt;br /&gt;
  FDPort = 9102&lt;br /&gt;
  Catalog = slawek-fd&lt;br /&gt;
  Password = &amp;quot;haslo123&amp;quot;          # password for FileDaemon&lt;br /&gt;
  File Retention = 30 days            # 30 days&lt;br /&gt;
  Job Retention = 6 months            # six months&lt;br /&gt;
  AutoPrune = yes                     # Prune expired Jobs/File&lt;br /&gt;
 }&lt;br /&gt;
 Storage {&lt;br /&gt;
  Name = serwer&lt;br /&gt;
  Address = 192.168.0.10&lt;br /&gt;
  SDPort = 9103&lt;br /&gt;
  Password = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
  Device = serwer&lt;br /&gt;
  Media Type = File&lt;br /&gt;
 }&lt;br /&gt;
 Storage {&lt;br /&gt;
  Name = slawek&lt;br /&gt;
 # Do not use &amp;quot;localhost&amp;quot; here    &lt;br /&gt;
  Address = 192.168.0.10                 # N.B. Use a fully qualified name here&lt;br /&gt;
  SDPort = 9103&lt;br /&gt;
  Password = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
  Device = slawek&lt;br /&gt;
  Media Type = File&lt;br /&gt;
 }&lt;br /&gt;
 Catalog {&lt;br /&gt;
  Name = serwer-fd&lt;br /&gt;
  dbname = &amp;quot;bacula&amp;quot;; DB Address = &amp;quot;127.0.0.1&amp;quot;; dbuser = &amp;quot;bacula&amp;quot;; dbpassword = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Catalog {&lt;br /&gt;
  Name = slawek-fd&lt;br /&gt;
  dbname = &amp;quot;bacula&amp;quot;; DB Address = &amp;quot;127.0.0.1&amp;quot;; dbuser = &amp;quot;bacula&amp;quot;; dbpassword = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Messages {&lt;br /&gt;
  Name = Daemon&lt;br /&gt;
  mailcommand = &amp;quot;/usr/lib/bacula/bsmtp -h mail.linux-user.eu -f \&amp;quot;\(Bacula\) \&amp;lt;%r\&amp;gt;\&amp;quot; -s \&amp;quot;Bacula: %t %e of %c %l\&amp;quot; %r&amp;quot;&lt;br /&gt;
  operatorcommand = &amp;quot;/usr/lib/bacula/bsmtp -h mail.linux-user.eu -f \&amp;quot;\(Bacula\) \&amp;lt;%r\&amp;gt;\&amp;quot; -s \&amp;quot;Bacula: Intervention needed for %j\&amp;quot; %r&amp;quot;&lt;br /&gt;
  mail =  slawek@linux-user.eu = all, !skipped            &lt;br /&gt;
  operator =  slawek@linux-user.eu = mount&lt;br /&gt;
  console = all, !skipped, !saved&lt;br /&gt;
  append = &amp;quot;/var/lib/bacula/log&amp;quot; = all, !skipped&lt;br /&gt;
  catalog = all&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
  Name = serwer&lt;br /&gt;
  Pool Type = Backup&lt;br /&gt;
  Recycle = yes&lt;br /&gt;
  AutoPrune = yes&lt;br /&gt;
  LabelFormat = &amp;quot;serwer&amp;quot;&lt;br /&gt;
  Maximum Volume Bytes = 3000M&lt;br /&gt;
  Volume Retention = 365 days&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
  Name = slawek&lt;br /&gt;
  Pool Type = Backup&lt;br /&gt;
  Recycle = yes                       # Bacula can automatically recycle Volumes&lt;br /&gt;
  AutoPrune = yes                     # Prune expired volumes&lt;br /&gt;
  LabelFormat = &amp;quot;slawek&amp;quot;&lt;br /&gt;
  Maximum Volume Bytes = 900M&lt;br /&gt;
  Volume Retention = 365 days         # one year&lt;br /&gt;
  #Accept Any Volume = yes&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
  Name = File&lt;br /&gt;
  Pool Type = Backup&lt;br /&gt;
  Recycle = yes                       # Bacula can automatically recycle Volumes&lt;br /&gt;
  AutoPrune = yes                     # Prune expired volumes&lt;br /&gt;
  Volume Retention = 365 days         # one year&lt;br /&gt;
  Maximum Volume Bytes = 50G          # Limit Volume size to something reasonable&lt;br /&gt;
  Maximum Volumes = 100               # Limit number of Volumes in Pool&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
  Name = Scratch&lt;br /&gt;
  Pool Type = Backup&lt;br /&gt;
 }&lt;br /&gt;
 Console {&lt;br /&gt;
  Name = backup-serwer-dir&lt;br /&gt;
  Password = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
  CommandACL = status, .status&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Konfiguracja File Daemona w pliku '''bacula-fd.conf'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Director {&lt;br /&gt;
 Name = backup-serwer-dir&lt;br /&gt;
 Password = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
 Name = backup-serwer-mon&lt;br /&gt;
 Password = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
 Monitor = yes&lt;br /&gt;
 }&lt;br /&gt;
 FileDaemon {&lt;br /&gt;
 Name = backup-serwer-fd&lt;br /&gt;
 FDport = 9102&lt;br /&gt;
 WorkingDirectory = /var/lib/bacula&lt;br /&gt;
 Pid Directory = /var/run/bacula&lt;br /&gt;
 Maximum Concurrent Jobs = 20&lt;br /&gt;
 FDAddress = 127.0.0.1&lt;br /&gt;
 }&lt;br /&gt;
 Messages {&lt;br /&gt;
 Name = Standard&lt;br /&gt;
 director = backup-serwer-dir = all, !skipped, !restored&lt;br /&gt;
 } &lt;br /&gt;
Konfiguracja Storage Daemona '''bacula-sd.conf'''&lt;br /&gt;
&lt;br /&gt;
 Storage {                           &lt;br /&gt;
  Name = backup-serwer-sd   # Name – nazwa demona magazynowania. &lt;br /&gt;
 Nie jest ona powiązana z żadną inną konfiguracją usług&lt;br /&gt;
  SDPort = 9103                  # Director's port      &lt;br /&gt;
  WorkingDirectory = &amp;quot;/var/lib/bacula&amp;quot;   #Working Directory – katalog w którym serwis &lt;br /&gt;
 będzie przechowywał pliki swoich statusów. Dobrą praktyką jest zdefiniować taki katalog, &lt;br /&gt;
 który przeznaczony będzie tylko do tego celu.&lt;br /&gt;
  Pid Directory = &amp;quot;/var/run/bacula&amp;quot;  #PID Directory – lokalizacja, w której demon &lt;br /&gt;
 magazynowania będzie zapisywał plik z identyfikatorem procesu, jaki otrzymał &lt;br /&gt;
 demon przy starcie&lt;br /&gt;
  Maximum Concurrent Jobs = 2&lt;br /&gt;
  SDAddress = 192.168.0.10   #SD Address – dyrektywa definiuje adres IP interfejsu, &lt;br /&gt;
 na którym będzie nasłuchiwał demon.&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
  Name = backup-serwer-dir   # Name – nazwa zarządcy uprawnionego do używania &lt;br /&gt;
 demona magazynowania. Nazwa zarządcy określanego w tej dyrektywie musi odpowiadać &lt;br /&gt;
 nazwie zarządcy zdefiniowanej w innych plikach konfiguracyjnych.&lt;br /&gt;
  Password = &amp;quot;s7s8,.zq&amp;quot;   # Password – hasło, którym zarządca będzie autoryzował się do &lt;br /&gt;
 demona magazynowania. Podane tu hasło definiowane jest również w pliku konfiguracyjnym zarządcy.&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
  Name = backup-serwer-mon&lt;br /&gt;
  Password = &amp;quot;s7s8,.zq&amp;quot;&lt;br /&gt;
  Monitor = yes&lt;br /&gt;
 }&lt;br /&gt;
 Device {&lt;br /&gt;
  Name = &amp;quot;serwer&amp;quot; # Name – nazwa urządzenia. Ta sama nazwa jest definiowana również w &lt;br /&gt;
 pliku konfiguracyjnym zarządcy&lt;br /&gt;
  Media Type = File #typ woluminu. Określa jakiego typu nośniki obsługuje dane urządzenie.&lt;br /&gt;
  Archive Device = /home/bacula/backup/serwer  # Archive Device – lokalizacja urządzenia. &lt;br /&gt;
 Jeśli urządzeniem jest dysk, to podawany jest tutaj punkt jego montowania&lt;br /&gt;
  Device Type = File # Device Type – określa typ urządzenia. Możliwe typy urządzeń to: File – &lt;br /&gt;
 dla dysków, Tape – dla urządzeń taśmowych, Fifo – dla kolejek FIFO, DVD – dla napędów DVD-ROM&lt;br /&gt;
  LabelMedia = yes;&lt;br /&gt;
  AutomaticMount = yes;&lt;br /&gt;
  RemovableMedia = no;     #mówi o tym, czy urządzenie obsługuje wymienne nośniki. Dla urządzeń &lt;br /&gt;
 taśmowych, napędów DVD jak i wyjmowalnych dysków (np. dyski zewnętrzne lub pendrive) dyrektywa &lt;br /&gt;
 powinna być ustawiona na &amp;quot;yes&amp;quot;. Dla stałych dysków dyrektywa powinna być ustawiona na &amp;quot;no&amp;quot;&lt;br /&gt;
  AlwaysOpen = no;&lt;br /&gt;
 }&lt;br /&gt;
 Device {&lt;br /&gt;
  Name = &amp;quot;slawek&amp;quot;&lt;br /&gt;
  Media Type = File&lt;br /&gt;
  Archive Device = /home/bacula/backup/slawek&lt;br /&gt;
  LabelMedia = yes;&lt;br /&gt;
  AutomaticMount = yes;&lt;br /&gt;
  RemovableMedia = no;&lt;br /&gt;
  AlwaysOpen = no;&lt;br /&gt;
 }&lt;br /&gt;
 Messages {&lt;br /&gt;
  Name = Standard   #nazwa zasobu. Używana jest na wewnętrzne potrzeby demona i nie zostaje &lt;br /&gt;
 przekazana nigdzie na zewnątrz&lt;br /&gt;
  director = backup-serwer-dir = all   # Określa się tu dwie wartości: nazwę zarządcy do którego &lt;br /&gt;
 dyrektywa się tyczy oraz poziom logowania. Wartość 'all' oznacza, że raportowane będą wszystkie &lt;br /&gt;
 zmiany i statusy podczas pracy demona magazynowania.&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
Uwaga hasło &amp;quot;''haslo123''&amp;quot;  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.&lt;br /&gt;
 &lt;br /&gt;
Więcej informacji znajdziesz na polskiej stronie na temat oprogramowania bacula [http://www.bacula.pl www.bacula.pl].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;google1 style=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/google1&amp;gt;&lt;/div&gt;</summary>
		<author><name>Slawek</name></author>	</entry>

	<entry>
		<id>http://wiki.linux-user.eu/index.php/Bacula_-_backup_danych</id>
		<title>Bacula - backup danych</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux-user.eu/index.php/Bacula_-_backup_danych"/>
				<updated>2012-09-16T12:39:54Z</updated>
		
		<summary type="html">&lt;p&gt;Slawek: /* Instalacja serwera bacula */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Serwer]]&lt;br /&gt;
== Backup danych - Bacula ==&lt;br /&gt;
'''Bacula''' jest profesjonalnym systemem archiwizacji danych typu klien-serwer. Jest to darmowe oprogramowanie, które odpowiada za tworzenie, przywracania oraz weryfikację danych. Sam serwer może działać na wielu platformach Linux, FreeBSD czy Solaris. Klient baculi archiwizuje dane z wilu platform łącznie z windowsami.&lt;br /&gt;
Bacula w skrócie:&lt;br /&gt;
* budowa modularna&lt;br /&gt;
* archiwizacja danych z platform Linux, Windows, Mac OS&lt;br /&gt;
* zaplecze bazo danowe w postaci MySQL, PostgreSQL czy SQLite&lt;br /&gt;
* dostęp do oprogramowania baculi na licencjo OpenSource&lt;br /&gt;
* kopia danych na woluminach wielotaśmowych&lt;br /&gt;
* umożliwia szyfrowanie danych przepływających przez sieć&lt;br /&gt;
* archiwizuje pliki większe niż 2 GBobsługuje automatyczne zmieniarki&lt;br /&gt;
* może wykonywać skrypty przed i po archiwizazcji&lt;br /&gt;
* scentralizowany system zarządzania kopiami dla całej sieci&lt;br /&gt;
&lt;br /&gt;
== Instalacja serwera bacula ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Potrzebne oprogramowanie do działania baculi zaznaczyłem w trakcie instalacji systemu &amp;quot;''[[LAMP]] Server''&amp;quot; , 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&lt;br /&gt;
* w systemie [[CentOS]]&lt;br /&gt;
 yum install bacula-client bacula-common bacula-console bacula-director-common bacula-director-mysql bacula-docs bacula-storage-common &lt;br /&gt;
 bacula-storage-mysql mysql mysql-devel mysql-server&lt;br /&gt;
* w systemie [[Ubuntu]] Server&lt;br /&gt;
  apt-get install bacula apache2 mysql php&lt;br /&gt;
i to tak na prawdę wszyst. Uwaga jeśli chcesz aby Twoja instalacja baculi współpracowała z np bazą danych mysql to musisz instalować pakiety np ''bacula-director-mysql'', ''bacula-common-mysql''  i tak dalej jeśli chcesz przeprowadzić  instalację do współpracy z odpowiednią bazą danych  to musisz jawnie o tym powiadomić instalator podczas instalacji oprogramowania.&lt;br /&gt;
Potrzebne pakiety do poprawnego działania to:&lt;br /&gt;
* bacula-common-mysql&lt;br /&gt;
* bacula-console&lt;br /&gt;
* bacula-director-common&lt;br /&gt;
* bacula-director-mysql&lt;br /&gt;
* bacula-fd (klient)&lt;br /&gt;
* bacula-sd-mysql&lt;br /&gt;
* bacula-server&lt;br /&gt;
* dbconfig-common&lt;br /&gt;
W trakcie instalacji na systemie '''Ubuntu Server''', powyższych pakietów system pyta nas o konfiguracje bazy danych dla '''baculi''' za pomocą oprogramowania '''dbconfig-common''', oczywiście się zgadzamy &amp;quot;''Configure database for bacula-director-mysql with dbconfig-common?''&amp;quot;, po zatwierdzeniu będziemy musieli podać hasło do użytkownika root bazy danych oraz nowe hasło dla '''bacula-director-mysql'''.  Do instalacji tego oprogramowania nie potrzebowałem żadnego dodatkowego repozytorium. Po poprawnej instalacji Twój serwer archiwizacji danych powinien być gotowy do konfiguracji.&amp;lt;br /&amp;gt;&lt;br /&gt;
* W systemie [[CentOS]] po instalacji pakietów musimy skonfigurować ręcznie bazę danych i tak na początku uruchamiamy serwer mysqla &lt;br /&gt;
 service mysqld start &lt;br /&gt;
następnie &lt;br /&gt;
 /usr/bin/mysql_secure_installation &lt;br /&gt;
i ustawiamy hasło do bazy danych i inne opcje, następnie &lt;br /&gt;
 service mysqld restart &lt;br /&gt;
i  &lt;br /&gt;
 chkconfig mysqld on  &lt;br /&gt;
tworzymy bazę danych dla baculi &lt;br /&gt;
 cd /usr/libexec/bacula/ &lt;br /&gt;
a następnie &lt;br /&gt;
 ./create_mysql_database -u root -p &lt;br /&gt;
tworzymy tabele w bazie baculi &lt;br /&gt;
 ./make_mysql_tables -u root -p &lt;br /&gt;
nadanie przywilejów dla usera bacula &lt;br /&gt;
 ./grant_mysql_privileges -u root -p &lt;br /&gt;
następnie nadajemy użytkownikowi bazy danych bacula hasło (obecnie brak hasła), logujemy się do bazy danych &lt;br /&gt;
 mysql -u root -p &lt;br /&gt;
a następnie wydajemy polecenie &lt;br /&gt;
 UPDATE mysql.user set password=password('haslo_dla_usera_bacula') where user='bacula'; &lt;br /&gt;
restartujemy bazę danych &lt;br /&gt;
 service mysqld restart&lt;br /&gt;
&lt;br /&gt;
== Konfiguracja serwera Bacula ==&lt;br /&gt;
&lt;br /&gt;
Wszystkie pliki konfiguracyjne baculi powinny znajdować się w ścieżce ''/etc/bacula/'' usługę możesz restartować zatrzymywać oraz startować za pomocą polecenia&lt;br /&gt;
 /etc/init.d/bacula-dir start/stop/restart/status &lt;br /&gt;
 /etc/init.d/bacula-sd start/stop/restart/status&lt;br /&gt;
 /etc/init.d/bacula-fd start/stop/restart/status&lt;br /&gt;
&lt;br /&gt;
== Pliki konfiguracyjne ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Plik '''bacula-dir.conf'''&amp;lt;br /&amp;gt; '''Director''' – dane zarządcy uprawnionego do używania urządzeń demona magazynowania&lt;br /&gt;
# Plik '''bacula-fd.conf'''&amp;lt;br /&amp;gt;'''Device''' – definicja urządzenia archiwizującego&lt;br /&gt;
# Plik '''bacula-sd.conf'''&amp;lt;br /&amp;gt;'''StorageDaemon''' – główna konfiguracja demona magazynowania&lt;br /&gt;
# Plik '''bconsole.conf''' - plik konsoli bacula&lt;br /&gt;
#Plik konfiguracji każdego klienta np '''slawek-backup.conf'''&lt;br /&gt;
Poniżej przedstawie przykładowe pliki konfiguracyjne z działającego serwera i pokrótce  postaram się opisać najważniejsze opcje każdego z nich.&lt;br /&gt;
&lt;br /&gt;
Plik bacula-dir.conf&lt;br /&gt;
&lt;br /&gt;
 # Director – dane zarządcy uprawnionego do używania urządzeń demona magazynowania&lt;br /&gt;
 Director {                            # define myself&lt;br /&gt;
  Name = backup-serwer-dir&lt;br /&gt;
  DIRport = 9101                # where we listen for UA connections &lt;br /&gt;
  QueryFile = &amp;quot;/etc/bacula/scripts/query.sql&amp;quot;&lt;br /&gt;
  WorkingDirectory = &amp;quot;/var/lib/bacula&amp;quot;&lt;br /&gt;
  PidDirectory = &amp;quot;/var/run/bacula&amp;quot;&lt;br /&gt;
  Maximum Concurrent Jobs = 1&lt;br /&gt;
  Password = &amp;quot;haslo123&amp;quot;        # Console password &lt;br /&gt;
  Messages = Daemon&lt;br /&gt;
  DirAddress = 192.168.0.10&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
  Name = &amp;quot;serwer&amp;quot;&lt;br /&gt;
  Client = serwer-fd&lt;br /&gt;
  Type = Backup&lt;br /&gt;
  Level = Incremental&lt;br /&gt;
  Pool = &amp;quot;serwer&amp;quot;&lt;br /&gt;
  Schedule = &amp;quot;Dzienny&amp;quot;&lt;br /&gt;
  Messages = Daemon&lt;br /&gt;
  FileSet = &amp;quot;serwer&amp;quot;&lt;br /&gt;
  Storage = serwer&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
  Name = &amp;quot;RestoreFiles-serwer&amp;quot;&lt;br /&gt;
  Type = Restore&lt;br /&gt;
  Client = serwer-fd&lt;br /&gt;
  FileSet = serwer&lt;br /&gt;
  Storage = serwer&lt;br /&gt;
  Pool = serwer&lt;br /&gt;
  Messages = Daemon&lt;br /&gt;
  Where = /home/restore&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
  Name = &amp;quot;slawek&amp;quot;&lt;br /&gt;
  Client = slawek-fd&lt;br /&gt;
  Type = Backup&lt;br /&gt;
  Level = Full&lt;br /&gt;
  Pool = &amp;quot;slawek&amp;quot;&lt;br /&gt;
  Schedule = &amp;quot;Dzienny&amp;quot;&lt;br /&gt;
  Messages = Daemon&lt;br /&gt;
  FileSet = &amp;quot;slawek&amp;quot;&lt;br /&gt;
  Storage = slawek &lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
  Name = &amp;quot;RestoreFiles-slawek&amp;quot;&lt;br /&gt;
  Type = Restore&lt;br /&gt;
  Client = slawek-fd&lt;br /&gt;
  FileSet = slawek&lt;br /&gt;
  Storage = slawek&lt;br /&gt;
  Pool = slawek&lt;br /&gt;
  Messages = Daemon&lt;br /&gt;
  Where = /home/restore/&lt;br /&gt;
 }&lt;br /&gt;
 FileSet {&lt;br /&gt;
   Name = &amp;quot;serwer&amp;quot;&lt;br /&gt;
   Include {&lt;br /&gt;
   Options {&lt;br /&gt;
      signature = MD5&lt;br /&gt;
      compression = GZIP9&lt;br /&gt;
              }&lt;br /&gt;
     File = /home/anka/&lt;br /&gt;
     File = /var/lib/mysql/&lt;br /&gt;
     File = /etc/&lt;br /&gt;
              }&lt;br /&gt;
  Exclude {&lt;br /&gt;
   File = /proc&lt;br /&gt;
   File = /tmp&lt;br /&gt;
   File = /.journal&lt;br /&gt;
    File = /.fsck&lt;br /&gt;
           }&lt;br /&gt;
   }&lt;br /&gt;
 FileSet {&lt;br /&gt;
   Name = &amp;quot;slawek&amp;quot;&lt;br /&gt;
   Include {&lt;br /&gt;
    Options {&lt;br /&gt;
     signature = MD5&lt;br /&gt;
     compression = GZIP9&lt;br /&gt;
    }&lt;br /&gt;
    File = /etc/&lt;br /&gt;
    File = /home/slawek/Pobrane/&lt;br /&gt;
  }&lt;br /&gt;
  Exclude {&lt;br /&gt;
    File = /proc&lt;br /&gt;
    File = /tmp&lt;br /&gt;
    File = /.journal&lt;br /&gt;
    File = /.fsck&lt;br /&gt;
  }&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
  Name = &amp;quot;Dzienny&amp;quot;&lt;br /&gt;
  Run = Full sun at 12:16&lt;br /&gt;
 #Run = Differential  sun at 12:53&lt;br /&gt;
  Run = Incremental sun at 13:59&lt;br /&gt;
 }&lt;br /&gt;
 # This schedule does the catalog. It starts after the WeeklyCycle&lt;br /&gt;
 Schedule {&lt;br /&gt;
  Name = &amp;quot;WeeklyCycleAfterBackup&amp;quot;&lt;br /&gt;
  Run = Full sun-sat at 23:10&lt;br /&gt;
 }&lt;br /&gt;
 Client {&lt;br /&gt;
  Name = serwer-fd&lt;br /&gt;
  Address = 192.168.0.1&lt;br /&gt;
  FDPort = 9102&lt;br /&gt;
  Catalog = serwer-fd&lt;br /&gt;
  Password = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
  File Retention = 30 days&lt;br /&gt;
  Job Retention = 6 months&lt;br /&gt;
  AutoPrune = yes&lt;br /&gt;
 }&lt;br /&gt;
 Client {&lt;br /&gt;
  Name = slawek-fd&lt;br /&gt;
  Address = 192.168.0.12&lt;br /&gt;
  FDPort = 9102&lt;br /&gt;
  Catalog = slawek-fd&lt;br /&gt;
  Password = &amp;quot;haslo123&amp;quot;          # password for FileDaemon&lt;br /&gt;
  File Retention = 30 days            # 30 days&lt;br /&gt;
  Job Retention = 6 months            # six months&lt;br /&gt;
  AutoPrune = yes                     # Prune expired Jobs/File&lt;br /&gt;
 }&lt;br /&gt;
 Storage {&lt;br /&gt;
  Name = serwer&lt;br /&gt;
  Address = 192.168.0.10&lt;br /&gt;
  SDPort = 9103&lt;br /&gt;
  Password = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
  Device = serwer&lt;br /&gt;
  Media Type = File&lt;br /&gt;
 }&lt;br /&gt;
 Storage {&lt;br /&gt;
  Name = slawek&lt;br /&gt;
 # Do not use &amp;quot;localhost&amp;quot; here    &lt;br /&gt;
  Address = 192.168.0.10                 # N.B. Use a fully qualified name here&lt;br /&gt;
  SDPort = 9103&lt;br /&gt;
  Password = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
  Device = slawek&lt;br /&gt;
  Media Type = File&lt;br /&gt;
 }&lt;br /&gt;
 Catalog {&lt;br /&gt;
  Name = serwer-fd&lt;br /&gt;
  dbname = &amp;quot;bacula&amp;quot;; DB Address = &amp;quot;127.0.0.1&amp;quot;; dbuser = &amp;quot;bacula&amp;quot;; dbpassword = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Catalog {&lt;br /&gt;
  Name = slawek-fd&lt;br /&gt;
  dbname = &amp;quot;bacula&amp;quot;; DB Address = &amp;quot;127.0.0.1&amp;quot;; dbuser = &amp;quot;bacula&amp;quot;; dbpassword = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Messages {&lt;br /&gt;
  Name = Daemon&lt;br /&gt;
  mailcommand = &amp;quot;/usr/lib/bacula/bsmtp -h mail.linux-user.eu -f \&amp;quot;\(Bacula\) \&amp;lt;%r\&amp;gt;\&amp;quot; -s \&amp;quot;Bacula: %t %e of %c %l\&amp;quot; %r&amp;quot;&lt;br /&gt;
  operatorcommand = &amp;quot;/usr/lib/bacula/bsmtp -h mail.linux-user.eu -f \&amp;quot;\(Bacula\) \&amp;lt;%r\&amp;gt;\&amp;quot; -s \&amp;quot;Bacula: Intervention needed for %j\&amp;quot; %r&amp;quot;&lt;br /&gt;
  mail =  slawek@linux-user.eu = all, !skipped            &lt;br /&gt;
  operator =  slawek@linux-user.eu = mount&lt;br /&gt;
  console = all, !skipped, !saved&lt;br /&gt;
  append = &amp;quot;/var/lib/bacula/log&amp;quot; = all, !skipped&lt;br /&gt;
  catalog = all&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
  Name = serwer&lt;br /&gt;
  Pool Type = Backup&lt;br /&gt;
  Recycle = yes&lt;br /&gt;
  AutoPrune = yes&lt;br /&gt;
  LabelFormat = &amp;quot;serwer&amp;quot;&lt;br /&gt;
  Maximum Volume Bytes = 3000M&lt;br /&gt;
  Volume Retention = 365 days&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
  Name = slawek&lt;br /&gt;
  Pool Type = Backup&lt;br /&gt;
  Recycle = yes                       # Bacula can automatically recycle Volumes&lt;br /&gt;
  AutoPrune = yes                     # Prune expired volumes&lt;br /&gt;
  LabelFormat = &amp;quot;slawek&amp;quot;&lt;br /&gt;
  Maximum Volume Bytes = 900M&lt;br /&gt;
  Volume Retention = 365 days         # one year&lt;br /&gt;
  #Accept Any Volume = yes&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
  Name = File&lt;br /&gt;
  Pool Type = Backup&lt;br /&gt;
  Recycle = yes                       # Bacula can automatically recycle Volumes&lt;br /&gt;
  AutoPrune = yes                     # Prune expired volumes&lt;br /&gt;
  Volume Retention = 365 days         # one year&lt;br /&gt;
  Maximum Volume Bytes = 50G          # Limit Volume size to something reasonable&lt;br /&gt;
  Maximum Volumes = 100               # Limit number of Volumes in Pool&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
  Name = Scratch&lt;br /&gt;
  Pool Type = Backup&lt;br /&gt;
 }&lt;br /&gt;
 Console {&lt;br /&gt;
  Name = backup-serwer-dir&lt;br /&gt;
  Password = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
  CommandACL = status, .status&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Konfiguracja File Daemona w pliku '''bacula-fd.conf'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Director {&lt;br /&gt;
 Name = backup-serwer-dir&lt;br /&gt;
 Password = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
 Name = backup-serwer-mon&lt;br /&gt;
 Password = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
 Monitor = yes&lt;br /&gt;
 }&lt;br /&gt;
 FileDaemon {&lt;br /&gt;
 Name = backup-serwer-fd&lt;br /&gt;
 FDport = 9102&lt;br /&gt;
 WorkingDirectory = /var/lib/bacula&lt;br /&gt;
 Pid Directory = /var/run/bacula&lt;br /&gt;
 Maximum Concurrent Jobs = 20&lt;br /&gt;
 FDAddress = 127.0.0.1&lt;br /&gt;
 }&lt;br /&gt;
 Messages {&lt;br /&gt;
 Name = Standard&lt;br /&gt;
 director = backup-serwer-dir = all, !skipped, !restored&lt;br /&gt;
 } &lt;br /&gt;
Konfiguracja Storage Daemona '''bacula-sd.conf'''&lt;br /&gt;
&lt;br /&gt;
 Storage {                           &lt;br /&gt;
  Name = backup-serwer-sd   # Name – nazwa demona magazynowania. &lt;br /&gt;
 Nie jest ona powiązana z żadną inną konfiguracją usług&lt;br /&gt;
  SDPort = 9103                  # Director's port      &lt;br /&gt;
  WorkingDirectory = &amp;quot;/var/lib/bacula&amp;quot;   #Working Directory – katalog w którym serwis &lt;br /&gt;
 będzie przechowywał pliki swoich statusów. Dobrą praktyką jest zdefiniować taki katalog, &lt;br /&gt;
 który przeznaczony będzie tylko do tego celu.&lt;br /&gt;
  Pid Directory = &amp;quot;/var/run/bacula&amp;quot;  #PID Directory – lokalizacja, w której demon &lt;br /&gt;
 magazynowania będzie zapisywał plik z identyfikatorem procesu, jaki otrzymał &lt;br /&gt;
 demon przy starcie&lt;br /&gt;
  Maximum Concurrent Jobs = 2&lt;br /&gt;
  SDAddress = 192.168.0.10   #SD Address – dyrektywa definiuje adres IP interfejsu, &lt;br /&gt;
 na którym będzie nasłuchiwał demon.&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
  Name = backup-serwer-dir   # Name – nazwa zarządcy uprawnionego do używania &lt;br /&gt;
 demona magazynowania. Nazwa zarządcy określanego w tej dyrektywie musi odpowiadać &lt;br /&gt;
 nazwie zarządcy zdefiniowanej w innych plikach konfiguracyjnych.&lt;br /&gt;
  Password = &amp;quot;s7s8,.zq&amp;quot;   # Password – hasło, którym zarządca będzie autoryzował się do &lt;br /&gt;
 demona magazynowania. Podane tu hasło definiowane jest również w pliku konfiguracyjnym zarządcy.&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
  Name = backup-serwer-mon&lt;br /&gt;
  Password = &amp;quot;s7s8,.zq&amp;quot;&lt;br /&gt;
  Monitor = yes&lt;br /&gt;
 }&lt;br /&gt;
 Device {&lt;br /&gt;
  Name = &amp;quot;serwer&amp;quot; # Name – nazwa urządzenia. Ta sama nazwa jest definiowana również w &lt;br /&gt;
 pliku konfiguracyjnym zarządcy&lt;br /&gt;
  Media Type = File #typ woluminu. Określa jakiego typu nośniki obsługuje dane urządzenie.&lt;br /&gt;
  Archive Device = /home/bacula/backup/serwer  # Archive Device – lokalizacja urządzenia. &lt;br /&gt;
 Jeśli urządzeniem jest dysk, to podawany jest tutaj punkt jego montowania&lt;br /&gt;
  Device Type = File # Device Type – określa typ urządzenia. Możliwe typy urządzeń to: File – &lt;br /&gt;
 dla dysków, Tape – dla urządzeń taśmowych, Fifo – dla kolejek FIFO, DVD – dla napędów DVD-ROM&lt;br /&gt;
  LabelMedia = yes;&lt;br /&gt;
  AutomaticMount = yes;&lt;br /&gt;
  RemovableMedia = no;     #mówi o tym, czy urządzenie obsługuje wymienne nośniki. Dla urządzeń &lt;br /&gt;
 taśmowych, napędów DVD jak i wyjmowalnych dysków (np. dyski zewnętrzne lub pendrive) dyrektywa &lt;br /&gt;
 powinna być ustawiona na &amp;quot;yes&amp;quot;. Dla stałych dysków dyrektywa powinna być ustawiona na &amp;quot;no&amp;quot;&lt;br /&gt;
  AlwaysOpen = no;&lt;br /&gt;
 }&lt;br /&gt;
 Device {&lt;br /&gt;
  Name = &amp;quot;slawek&amp;quot;&lt;br /&gt;
  Media Type = File&lt;br /&gt;
  Archive Device = /home/bacula/backup/slawek&lt;br /&gt;
  LabelMedia = yes;&lt;br /&gt;
  AutomaticMount = yes;&lt;br /&gt;
  RemovableMedia = no;&lt;br /&gt;
  AlwaysOpen = no;&lt;br /&gt;
 }&lt;br /&gt;
 Messages {&lt;br /&gt;
  Name = Standard   #nazwa zasobu. Używana jest na wewnętrzne potrzeby demona i nie zostaje &lt;br /&gt;
 przekazana nigdzie na zewnątrz&lt;br /&gt;
  director = backup-serwer-dir = all   # Określa się tu dwie wartości: nazwę zarządcy do którego &lt;br /&gt;
 dyrektywa się tyczy oraz poziom logowania. Wartość 'all' oznacza, że raportowane będą wszystkie &lt;br /&gt;
 zmiany i statusy podczas pracy demona magazynowania.&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
Uwaga hasło &amp;quot;''haslo123''&amp;quot;  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.&lt;br /&gt;
 &lt;br /&gt;
Więcej informacji znajdziesz na polskiej stronie na temat oprogramowania bacula [http://www.bacula.pl www.bacula.pl].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;google1 style=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/google1&amp;gt;&lt;/div&gt;</summary>
		<author><name>Slawek</name></author>	</entry>

	<entry>
		<id>http://wiki.linux-user.eu/index.php/Bacula_-_backup_danych</id>
		<title>Bacula - backup danych</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux-user.eu/index.php/Bacula_-_backup_danych"/>
				<updated>2012-09-16T12:37:57Z</updated>
		
		<summary type="html">&lt;p&gt;Slawek: /* Instalacja serwera bacula */  Dopisanie instalacji na systemie CentOS&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Serwer]]&lt;br /&gt;
== Backup danych - Bacula ==&lt;br /&gt;
'''Bacula''' jest profesjonalnym systemem archiwizacji danych typu klien-serwer. Jest to darmowe oprogramowanie, które odpowiada za tworzenie, przywracania oraz weryfikację danych. Sam serwer może działać na wielu platformach Linux, FreeBSD czy Solaris. Klient baculi archiwizuje dane z wilu platform łącznie z windowsami.&lt;br /&gt;
Bacula w skrócie:&lt;br /&gt;
* budowa modularna&lt;br /&gt;
* archiwizacja danych z platform Linux, Windows, Mac OS&lt;br /&gt;
* zaplecze bazo danowe w postaci MySQL, PostgreSQL czy SQLite&lt;br /&gt;
* dostęp do oprogramowania baculi na licencjo OpenSource&lt;br /&gt;
* kopia danych na woluminach wielotaśmowych&lt;br /&gt;
* umożliwia szyfrowanie danych przepływających przez sieć&lt;br /&gt;
* archiwizuje pliki większe niż 2 GBobsługuje automatyczne zmieniarki&lt;br /&gt;
* może wykonywać skrypty przed i po archiwizazcji&lt;br /&gt;
* scentralizowany system zarządzania kopiami dla całej sieci&lt;br /&gt;
&lt;br /&gt;
== Instalacja serwera bacula ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Potrzebne oprogramowanie do działania baculi zaznaczyłem w trakcie instalacji systemu &amp;quot;''[[LAMP]] Server''&amp;quot; , 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&lt;br /&gt;
na [[CentOS]]&lt;br /&gt;
 yum install bacula-client bacula-common bacula-console bacula-director-common bacula-director-mysql bacula-docs bacula-storage-common &lt;br /&gt;
 bacula-storage-mysql mysql mysql-devel mysql-server&lt;br /&gt;
na [[Ubuntu]] Server&lt;br /&gt;
  apt-get install bacula apache2 mysql php&lt;br /&gt;
i to tak na prawdę wszyst. Uwaga jeśli chcesz aby Twoja instalacja baculi współpracowała z np bazą danych mysql to musisz instalować pakiety np ''bacula-director-mysql'', ''bacula-common-mysql''  i tak dalej jeśli chcesz przeprowadzić  instalację do współpracy z odpowiednią bazą danych  to musisz jawnie o tym powiadomić instalator podczas instalacji oprogramowania.&lt;br /&gt;
Potrzebne pakiety do poprawnego działania to:&lt;br /&gt;
* bacula-common-mysql&lt;br /&gt;
* bacula-console&lt;br /&gt;
* bacula-director-common&lt;br /&gt;
* bacula-director-mysql&lt;br /&gt;
* bacula-fd (klient)&lt;br /&gt;
* bacula-sd-mysql&lt;br /&gt;
* bacula-server&lt;br /&gt;
* dbconfig-common&lt;br /&gt;
W trakcie instalacji na systemie '''Ubuntu Server''', powyższych pakietów system pyta nas o konfiguracje bazy danych dla '''baculi''' za pomocą oprogramowania '''dbconfig-common''', oczywiście się zgadzamy &amp;quot;''Configure database for bacula-director-mysql with dbconfig-common?''&amp;quot;, po zatwierdzeniu będziemy musieli podać hasło do użytkownika root bazy danych oraz nowe hasło dla '''bacula-director-mysql'''.  Do instalacji tego oprogramowania nie potrzebowałem żadnego dodatkowego repozytorium. Po poprawnej instalacji Twój serwer archiwizacji danych powinien być gotowy do konfiguracji.&amp;lt;br /&amp;gt;&lt;br /&gt;
Na systemie [[CentOS]] po instalacji pakietów musimy skonfigurować ręcznie bazę danych i tak na początku uruchamiamy serwer mysqla &lt;br /&gt;
 service mysqld start &lt;br /&gt;
następnie &lt;br /&gt;
 /usr/bin/mysql_secure_installation &lt;br /&gt;
i ustawiamy hasło do bazy danych i inne opcje, następnie &lt;br /&gt;
 service mysqld restart &lt;br /&gt;
i  &lt;br /&gt;
 chkconfig mysqld on  &lt;br /&gt;
tworzymy bazę danych dla baculi &lt;br /&gt;
 cd /usr/libexec/bacula/ &lt;br /&gt;
a następnie &lt;br /&gt;
 ./create_mysql_database -u root -p &lt;br /&gt;
tworzymy tabele w bazie baculi &lt;br /&gt;
 ./make_mysql_tables -u root -p &lt;br /&gt;
nadanie przywilejów dla usera bacula &lt;br /&gt;
 ./grant_mysql_privileges -u root -p &lt;br /&gt;
następnie nadajemy użytkownikowi bazy danych bacula hasło (obecnie brak hasła), logujemy się do bazy danych &lt;br /&gt;
 mysql -u root -p &lt;br /&gt;
a następnie wydajemy polecenie &lt;br /&gt;
 UPDATE mysql.user set password=password('haslo_dla_usera_bacula') where user='bacula'; &lt;br /&gt;
restartujemy bazę danych &lt;br /&gt;
 service mysqld restart&lt;br /&gt;
&lt;br /&gt;
== Konfiguracja serwera Bacula ==&lt;br /&gt;
&lt;br /&gt;
Wszystkie pliki konfiguracyjne baculi powinny znajdować się w ścieżce ''/etc/bacula/'' usługę możesz restartować zatrzymywać oraz startować za pomocą polecenia&lt;br /&gt;
 /etc/init.d/bacula-dir start/stop/restart/status &lt;br /&gt;
 /etc/init.d/bacula-sd start/stop/restart/status&lt;br /&gt;
 /etc/init.d/bacula-fd start/stop/restart/status&lt;br /&gt;
&lt;br /&gt;
== Pliki konfiguracyjne ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Plik '''bacula-dir.conf'''&amp;lt;br /&amp;gt; '''Director''' – dane zarządcy uprawnionego do używania urządzeń demona magazynowania&lt;br /&gt;
# Plik '''bacula-fd.conf'''&amp;lt;br /&amp;gt;'''Device''' – definicja urządzenia archiwizującego&lt;br /&gt;
# Plik '''bacula-sd.conf'''&amp;lt;br /&amp;gt;'''StorageDaemon''' – główna konfiguracja demona magazynowania&lt;br /&gt;
# Plik '''bconsole.conf''' - plik konsoli bacula&lt;br /&gt;
#Plik konfiguracji każdego klienta np '''slawek-backup.conf'''&lt;br /&gt;
Poniżej przedstawie przykładowe pliki konfiguracyjne z działającego serwera i pokrótce  postaram się opisać najważniejsze opcje każdego z nich.&lt;br /&gt;
&lt;br /&gt;
Plik bacula-dir.conf&lt;br /&gt;
&lt;br /&gt;
 # Director – dane zarządcy uprawnionego do używania urządzeń demona magazynowania&lt;br /&gt;
 Director {                            # define myself&lt;br /&gt;
  Name = backup-serwer-dir&lt;br /&gt;
  DIRport = 9101                # where we listen for UA connections &lt;br /&gt;
  QueryFile = &amp;quot;/etc/bacula/scripts/query.sql&amp;quot;&lt;br /&gt;
  WorkingDirectory = &amp;quot;/var/lib/bacula&amp;quot;&lt;br /&gt;
  PidDirectory = &amp;quot;/var/run/bacula&amp;quot;&lt;br /&gt;
  Maximum Concurrent Jobs = 1&lt;br /&gt;
  Password = &amp;quot;haslo123&amp;quot;        # Console password &lt;br /&gt;
  Messages = Daemon&lt;br /&gt;
  DirAddress = 192.168.0.10&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
  Name = &amp;quot;serwer&amp;quot;&lt;br /&gt;
  Client = serwer-fd&lt;br /&gt;
  Type = Backup&lt;br /&gt;
  Level = Incremental&lt;br /&gt;
  Pool = &amp;quot;serwer&amp;quot;&lt;br /&gt;
  Schedule = &amp;quot;Dzienny&amp;quot;&lt;br /&gt;
  Messages = Daemon&lt;br /&gt;
  FileSet = &amp;quot;serwer&amp;quot;&lt;br /&gt;
  Storage = serwer&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
  Name = &amp;quot;RestoreFiles-serwer&amp;quot;&lt;br /&gt;
  Type = Restore&lt;br /&gt;
  Client = serwer-fd&lt;br /&gt;
  FileSet = serwer&lt;br /&gt;
  Storage = serwer&lt;br /&gt;
  Pool = serwer&lt;br /&gt;
  Messages = Daemon&lt;br /&gt;
  Where = /home/restore&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
  Name = &amp;quot;slawek&amp;quot;&lt;br /&gt;
  Client = slawek-fd&lt;br /&gt;
  Type = Backup&lt;br /&gt;
  Level = Full&lt;br /&gt;
  Pool = &amp;quot;slawek&amp;quot;&lt;br /&gt;
  Schedule = &amp;quot;Dzienny&amp;quot;&lt;br /&gt;
  Messages = Daemon&lt;br /&gt;
  FileSet = &amp;quot;slawek&amp;quot;&lt;br /&gt;
  Storage = slawek &lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
  Name = &amp;quot;RestoreFiles-slawek&amp;quot;&lt;br /&gt;
  Type = Restore&lt;br /&gt;
  Client = slawek-fd&lt;br /&gt;
  FileSet = slawek&lt;br /&gt;
  Storage = slawek&lt;br /&gt;
  Pool = slawek&lt;br /&gt;
  Messages = Daemon&lt;br /&gt;
  Where = /home/restore/&lt;br /&gt;
 }&lt;br /&gt;
 FileSet {&lt;br /&gt;
   Name = &amp;quot;serwer&amp;quot;&lt;br /&gt;
   Include {&lt;br /&gt;
   Options {&lt;br /&gt;
      signature = MD5&lt;br /&gt;
      compression = GZIP9&lt;br /&gt;
              }&lt;br /&gt;
     File = /home/anka/&lt;br /&gt;
     File = /var/lib/mysql/&lt;br /&gt;
     File = /etc/&lt;br /&gt;
              }&lt;br /&gt;
  Exclude {&lt;br /&gt;
   File = /proc&lt;br /&gt;
   File = /tmp&lt;br /&gt;
   File = /.journal&lt;br /&gt;
    File = /.fsck&lt;br /&gt;
           }&lt;br /&gt;
   }&lt;br /&gt;
 FileSet {&lt;br /&gt;
   Name = &amp;quot;slawek&amp;quot;&lt;br /&gt;
   Include {&lt;br /&gt;
    Options {&lt;br /&gt;
     signature = MD5&lt;br /&gt;
     compression = GZIP9&lt;br /&gt;
    }&lt;br /&gt;
    File = /etc/&lt;br /&gt;
    File = /home/slawek/Pobrane/&lt;br /&gt;
  }&lt;br /&gt;
  Exclude {&lt;br /&gt;
    File = /proc&lt;br /&gt;
    File = /tmp&lt;br /&gt;
    File = /.journal&lt;br /&gt;
    File = /.fsck&lt;br /&gt;
  }&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
  Name = &amp;quot;Dzienny&amp;quot;&lt;br /&gt;
  Run = Full sun at 12:16&lt;br /&gt;
 #Run = Differential  sun at 12:53&lt;br /&gt;
  Run = Incremental sun at 13:59&lt;br /&gt;
 }&lt;br /&gt;
 # This schedule does the catalog. It starts after the WeeklyCycle&lt;br /&gt;
 Schedule {&lt;br /&gt;
  Name = &amp;quot;WeeklyCycleAfterBackup&amp;quot;&lt;br /&gt;
  Run = Full sun-sat at 23:10&lt;br /&gt;
 }&lt;br /&gt;
 Client {&lt;br /&gt;
  Name = serwer-fd&lt;br /&gt;
  Address = 192.168.0.1&lt;br /&gt;
  FDPort = 9102&lt;br /&gt;
  Catalog = serwer-fd&lt;br /&gt;
  Password = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
  File Retention = 30 days&lt;br /&gt;
  Job Retention = 6 months&lt;br /&gt;
  AutoPrune = yes&lt;br /&gt;
 }&lt;br /&gt;
 Client {&lt;br /&gt;
  Name = slawek-fd&lt;br /&gt;
  Address = 192.168.0.12&lt;br /&gt;
  FDPort = 9102&lt;br /&gt;
  Catalog = slawek-fd&lt;br /&gt;
  Password = &amp;quot;haslo123&amp;quot;          # password for FileDaemon&lt;br /&gt;
  File Retention = 30 days            # 30 days&lt;br /&gt;
  Job Retention = 6 months            # six months&lt;br /&gt;
  AutoPrune = yes                     # Prune expired Jobs/File&lt;br /&gt;
 }&lt;br /&gt;
 Storage {&lt;br /&gt;
  Name = serwer&lt;br /&gt;
  Address = 192.168.0.10&lt;br /&gt;
  SDPort = 9103&lt;br /&gt;
  Password = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
  Device = serwer&lt;br /&gt;
  Media Type = File&lt;br /&gt;
 }&lt;br /&gt;
 Storage {&lt;br /&gt;
  Name = slawek&lt;br /&gt;
 # Do not use &amp;quot;localhost&amp;quot; here    &lt;br /&gt;
  Address = 192.168.0.10                 # N.B. Use a fully qualified name here&lt;br /&gt;
  SDPort = 9103&lt;br /&gt;
  Password = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
  Device = slawek&lt;br /&gt;
  Media Type = File&lt;br /&gt;
 }&lt;br /&gt;
 Catalog {&lt;br /&gt;
  Name = serwer-fd&lt;br /&gt;
  dbname = &amp;quot;bacula&amp;quot;; DB Address = &amp;quot;127.0.0.1&amp;quot;; dbuser = &amp;quot;bacula&amp;quot;; dbpassword = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Catalog {&lt;br /&gt;
  Name = slawek-fd&lt;br /&gt;
  dbname = &amp;quot;bacula&amp;quot;; DB Address = &amp;quot;127.0.0.1&amp;quot;; dbuser = &amp;quot;bacula&amp;quot;; dbpassword = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Messages {&lt;br /&gt;
  Name = Daemon&lt;br /&gt;
  mailcommand = &amp;quot;/usr/lib/bacula/bsmtp -h mail.linux-user.eu -f \&amp;quot;\(Bacula\) \&amp;lt;%r\&amp;gt;\&amp;quot; -s \&amp;quot;Bacula: %t %e of %c %l\&amp;quot; %r&amp;quot;&lt;br /&gt;
  operatorcommand = &amp;quot;/usr/lib/bacula/bsmtp -h mail.linux-user.eu -f \&amp;quot;\(Bacula\) \&amp;lt;%r\&amp;gt;\&amp;quot; -s \&amp;quot;Bacula: Intervention needed for %j\&amp;quot; %r&amp;quot;&lt;br /&gt;
  mail =  slawek@linux-user.eu = all, !skipped            &lt;br /&gt;
  operator =  slawek@linux-user.eu = mount&lt;br /&gt;
  console = all, !skipped, !saved&lt;br /&gt;
  append = &amp;quot;/var/lib/bacula/log&amp;quot; = all, !skipped&lt;br /&gt;
  catalog = all&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
  Name = serwer&lt;br /&gt;
  Pool Type = Backup&lt;br /&gt;
  Recycle = yes&lt;br /&gt;
  AutoPrune = yes&lt;br /&gt;
  LabelFormat = &amp;quot;serwer&amp;quot;&lt;br /&gt;
  Maximum Volume Bytes = 3000M&lt;br /&gt;
  Volume Retention = 365 days&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
  Name = slawek&lt;br /&gt;
  Pool Type = Backup&lt;br /&gt;
  Recycle = yes                       # Bacula can automatically recycle Volumes&lt;br /&gt;
  AutoPrune = yes                     # Prune expired volumes&lt;br /&gt;
  LabelFormat = &amp;quot;slawek&amp;quot;&lt;br /&gt;
  Maximum Volume Bytes = 900M&lt;br /&gt;
  Volume Retention = 365 days         # one year&lt;br /&gt;
  #Accept Any Volume = yes&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
  Name = File&lt;br /&gt;
  Pool Type = Backup&lt;br /&gt;
  Recycle = yes                       # Bacula can automatically recycle Volumes&lt;br /&gt;
  AutoPrune = yes                     # Prune expired volumes&lt;br /&gt;
  Volume Retention = 365 days         # one year&lt;br /&gt;
  Maximum Volume Bytes = 50G          # Limit Volume size to something reasonable&lt;br /&gt;
  Maximum Volumes = 100               # Limit number of Volumes in Pool&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
  Name = Scratch&lt;br /&gt;
  Pool Type = Backup&lt;br /&gt;
 }&lt;br /&gt;
 Console {&lt;br /&gt;
  Name = backup-serwer-dir&lt;br /&gt;
  Password = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
  CommandACL = status, .status&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Konfiguracja File Daemona w pliku '''bacula-fd.conf'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Director {&lt;br /&gt;
 Name = backup-serwer-dir&lt;br /&gt;
 Password = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
 Name = backup-serwer-mon&lt;br /&gt;
 Password = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
 Monitor = yes&lt;br /&gt;
 }&lt;br /&gt;
 FileDaemon {&lt;br /&gt;
 Name = backup-serwer-fd&lt;br /&gt;
 FDport = 9102&lt;br /&gt;
 WorkingDirectory = /var/lib/bacula&lt;br /&gt;
 Pid Directory = /var/run/bacula&lt;br /&gt;
 Maximum Concurrent Jobs = 20&lt;br /&gt;
 FDAddress = 127.0.0.1&lt;br /&gt;
 }&lt;br /&gt;
 Messages {&lt;br /&gt;
 Name = Standard&lt;br /&gt;
 director = backup-serwer-dir = all, !skipped, !restored&lt;br /&gt;
 } &lt;br /&gt;
Konfiguracja Storage Daemona '''bacula-sd.conf'''&lt;br /&gt;
&lt;br /&gt;
 Storage {                           &lt;br /&gt;
  Name = backup-serwer-sd   # Name – nazwa demona magazynowania. &lt;br /&gt;
 Nie jest ona powiązana z żadną inną konfiguracją usług&lt;br /&gt;
  SDPort = 9103                  # Director's port      &lt;br /&gt;
  WorkingDirectory = &amp;quot;/var/lib/bacula&amp;quot;   #Working Directory – katalog w którym serwis &lt;br /&gt;
 będzie przechowywał pliki swoich statusów. Dobrą praktyką jest zdefiniować taki katalog, &lt;br /&gt;
 który przeznaczony będzie tylko do tego celu.&lt;br /&gt;
  Pid Directory = &amp;quot;/var/run/bacula&amp;quot;  #PID Directory – lokalizacja, w której demon &lt;br /&gt;
 magazynowania będzie zapisywał plik z identyfikatorem procesu, jaki otrzymał &lt;br /&gt;
 demon przy starcie&lt;br /&gt;
  Maximum Concurrent Jobs = 2&lt;br /&gt;
  SDAddress = 192.168.0.10   #SD Address – dyrektywa definiuje adres IP interfejsu, &lt;br /&gt;
 na którym będzie nasłuchiwał demon.&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
  Name = backup-serwer-dir   # Name – nazwa zarządcy uprawnionego do używania &lt;br /&gt;
 demona magazynowania. Nazwa zarządcy określanego w tej dyrektywie musi odpowiadać &lt;br /&gt;
 nazwie zarządcy zdefiniowanej w innych plikach konfiguracyjnych.&lt;br /&gt;
  Password = &amp;quot;s7s8,.zq&amp;quot;   # Password – hasło, którym zarządca będzie autoryzował się do &lt;br /&gt;
 demona magazynowania. Podane tu hasło definiowane jest również w pliku konfiguracyjnym zarządcy.&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
  Name = backup-serwer-mon&lt;br /&gt;
  Password = &amp;quot;s7s8,.zq&amp;quot;&lt;br /&gt;
  Monitor = yes&lt;br /&gt;
 }&lt;br /&gt;
 Device {&lt;br /&gt;
  Name = &amp;quot;serwer&amp;quot; # Name – nazwa urządzenia. Ta sama nazwa jest definiowana również w &lt;br /&gt;
 pliku konfiguracyjnym zarządcy&lt;br /&gt;
  Media Type = File #typ woluminu. Określa jakiego typu nośniki obsługuje dane urządzenie.&lt;br /&gt;
  Archive Device = /home/bacula/backup/serwer  # Archive Device – lokalizacja urządzenia. &lt;br /&gt;
 Jeśli urządzeniem jest dysk, to podawany jest tutaj punkt jego montowania&lt;br /&gt;
  Device Type = File # Device Type – określa typ urządzenia. Możliwe typy urządzeń to: File – &lt;br /&gt;
 dla dysków, Tape – dla urządzeń taśmowych, Fifo – dla kolejek FIFO, DVD – dla napędów DVD-ROM&lt;br /&gt;
  LabelMedia = yes;&lt;br /&gt;
  AutomaticMount = yes;&lt;br /&gt;
  RemovableMedia = no;     #mówi o tym, czy urządzenie obsługuje wymienne nośniki. Dla urządzeń &lt;br /&gt;
 taśmowych, napędów DVD jak i wyjmowalnych dysków (np. dyski zewnętrzne lub pendrive) dyrektywa &lt;br /&gt;
 powinna być ustawiona na &amp;quot;yes&amp;quot;. Dla stałych dysków dyrektywa powinna być ustawiona na &amp;quot;no&amp;quot;&lt;br /&gt;
  AlwaysOpen = no;&lt;br /&gt;
 }&lt;br /&gt;
 Device {&lt;br /&gt;
  Name = &amp;quot;slawek&amp;quot;&lt;br /&gt;
  Media Type = File&lt;br /&gt;
  Archive Device = /home/bacula/backup/slawek&lt;br /&gt;
  LabelMedia = yes;&lt;br /&gt;
  AutomaticMount = yes;&lt;br /&gt;
  RemovableMedia = no;&lt;br /&gt;
  AlwaysOpen = no;&lt;br /&gt;
 }&lt;br /&gt;
 Messages {&lt;br /&gt;
  Name = Standard   #nazwa zasobu. Używana jest na wewnętrzne potrzeby demona i nie zostaje &lt;br /&gt;
 przekazana nigdzie na zewnątrz&lt;br /&gt;
  director = backup-serwer-dir = all   # Określa się tu dwie wartości: nazwę zarządcy do którego &lt;br /&gt;
 dyrektywa się tyczy oraz poziom logowania. Wartość 'all' oznacza, że raportowane będą wszystkie &lt;br /&gt;
 zmiany i statusy podczas pracy demona magazynowania.&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
Uwaga hasło &amp;quot;''haslo123''&amp;quot;  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.&lt;br /&gt;
 &lt;br /&gt;
Więcej informacji znajdziesz na polskiej stronie na temat oprogramowania bacula [http://www.bacula.pl www.bacula.pl].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;google1 style=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/google1&amp;gt;&lt;/div&gt;</summary>
		<author><name>Slawek</name></author>	</entry>

	<entry>
		<id>http://wiki.linux-user.eu/index.php/Bacula_-_backup_danych</id>
		<title>Bacula - backup danych</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux-user.eu/index.php/Bacula_-_backup_danych"/>
				<updated>2012-09-16T12:30:16Z</updated>
		
		<summary type="html">&lt;p&gt;Slawek: /* Instalacja serwera bacula */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Serwer]]&lt;br /&gt;
== Backup danych - Bacula ==&lt;br /&gt;
'''Bacula''' jest profesjonalnym systemem archiwizacji danych typu klien-serwer. Jest to darmowe oprogramowanie, które odpowiada za tworzenie, przywracania oraz weryfikację danych. Sam serwer może działać na wielu platformach Linux, FreeBSD czy Solaris. Klient baculi archiwizuje dane z wilu platform łącznie z windowsami.&lt;br /&gt;
Bacula w skrócie:&lt;br /&gt;
* budowa modularna&lt;br /&gt;
* archiwizacja danych z platform Linux, Windows, Mac OS&lt;br /&gt;
* zaplecze bazo danowe w postaci MySQL, PostgreSQL czy SQLite&lt;br /&gt;
* dostęp do oprogramowania baculi na licencjo OpenSource&lt;br /&gt;
* kopia danych na woluminach wielotaśmowych&lt;br /&gt;
* umożliwia szyfrowanie danych przepływających przez sieć&lt;br /&gt;
* archiwizuje pliki większe niż 2 GBobsługuje automatyczne zmieniarki&lt;br /&gt;
* może wykonywać skrypty przed i po archiwizazcji&lt;br /&gt;
* scentralizowany system zarządzania kopiami dla całej sieci&lt;br /&gt;
&lt;br /&gt;
== Instalacja serwera bacula ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Potrzebne oprogramowanie do działania baculi zaznaczyłem w trakcie instalacji systemu &amp;quot;''[[LAMP]] Server''&amp;quot; , 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&lt;br /&gt;
 yum install bacula-client bacula-common bacula-console bacula-director-common bacula-director-mysql bacula-docs bacula-storage-common &lt;br /&gt;
 bacula-storage-mysql mysql mysql-devel mysql-server&lt;br /&gt;
i to tak na prawdę wszyst. Uwaga jeśli chcesz aby Twoja instalacja baculi współpracowała z np bazą danych mysql to musisz instalować pakiety np bacula-director-mysql, bacula-common-mysql  i tak dalej jeśli chcesz przeprowadzić  instalację do współpracyz odpowiednią bazą danych  to musisz jawnie o tym powiadomić instalator podczas instalacji oprogramowania.&lt;br /&gt;
Potrzebne pakiety do poprawnego działania to:&lt;br /&gt;
* bacula-common-mysql&lt;br /&gt;
* bacula-console&lt;br /&gt;
* bacula-director-common&lt;br /&gt;
* bacula-director-mysql&lt;br /&gt;
* bacula-fd (klient)&lt;br /&gt;
* bacula-sd-mysql&lt;br /&gt;
* bacula-server&lt;br /&gt;
* dbconfig-common&lt;br /&gt;
W trakcie instalacji powyższych pakietów system pyta nas o konfiguracje bazy danych dla '''baculi''' za pomocą oprogramowania '''dbconfig-common''', oczywiście się zgadzamy &amp;quot;''Configure database for bacula-director-mysql with dbconfig-common?''&amp;quot;, po zatwierdzeniu będziemy musieli podać hasło do użytkownika root bazy danych oraz nowe hasło dla '''bacula-director-mysql'''.  Do instalacji tego oprogramowania nie potrzebowałem żadnego dodatkowego repozytorium. Po poprawnej instalacji Twój serwer archiwizacji danych powinien być gotowy do konfiguracji.&lt;br /&gt;
&lt;br /&gt;
== Konfiguracja serwera Bacula ==&lt;br /&gt;
&lt;br /&gt;
Wszystkie pliki konfiguracyjne baculi powinny znajdować się w ścieżce ''/etc/bacula/'' usługę możesz restartować zatrzymywać oraz startować za pomocą polecenia&lt;br /&gt;
 /etc/init.d/bacula-dir start/stop/restart/status &lt;br /&gt;
 /etc/init.d/bacula-sd start/stop/restart/status&lt;br /&gt;
 /etc/init.d/bacula-fd start/stop/restart/status&lt;br /&gt;
&lt;br /&gt;
== Pliki konfiguracyjne ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Plik '''bacula-dir.conf'''&amp;lt;br /&amp;gt; '''Director''' – dane zarządcy uprawnionego do używania urządzeń demona magazynowania&lt;br /&gt;
# Plik '''bacula-fd.conf'''&amp;lt;br /&amp;gt;'''Device''' – definicja urządzenia archiwizującego&lt;br /&gt;
# Plik '''bacula-sd.conf'''&amp;lt;br /&amp;gt;'''StorageDaemon''' – główna konfiguracja demona magazynowania&lt;br /&gt;
# Plik '''bconsole.conf''' - plik konsoli bacula&lt;br /&gt;
#Plik konfiguracji każdego klienta np '''slawek-backup.conf'''&lt;br /&gt;
Poniżej przedstawie przykładowe pliki konfiguracyjne z działającego serwera i pokrótce  postaram się opisać najważniejsze opcje każdego z nich.&lt;br /&gt;
&lt;br /&gt;
Plik bacula-dir.conf&lt;br /&gt;
&lt;br /&gt;
 # Director – dane zarządcy uprawnionego do używania urządzeń demona magazynowania&lt;br /&gt;
 Director {                            # define myself&lt;br /&gt;
  Name = backup-serwer-dir&lt;br /&gt;
  DIRport = 9101                # where we listen for UA connections &lt;br /&gt;
  QueryFile = &amp;quot;/etc/bacula/scripts/query.sql&amp;quot;&lt;br /&gt;
  WorkingDirectory = &amp;quot;/var/lib/bacula&amp;quot;&lt;br /&gt;
  PidDirectory = &amp;quot;/var/run/bacula&amp;quot;&lt;br /&gt;
  Maximum Concurrent Jobs = 1&lt;br /&gt;
  Password = &amp;quot;haslo123&amp;quot;        # Console password &lt;br /&gt;
  Messages = Daemon&lt;br /&gt;
  DirAddress = 192.168.0.10&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
  Name = &amp;quot;serwer&amp;quot;&lt;br /&gt;
  Client = serwer-fd&lt;br /&gt;
  Type = Backup&lt;br /&gt;
  Level = Incremental&lt;br /&gt;
  Pool = &amp;quot;serwer&amp;quot;&lt;br /&gt;
  Schedule = &amp;quot;Dzienny&amp;quot;&lt;br /&gt;
  Messages = Daemon&lt;br /&gt;
  FileSet = &amp;quot;serwer&amp;quot;&lt;br /&gt;
  Storage = serwer&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
  Name = &amp;quot;RestoreFiles-serwer&amp;quot;&lt;br /&gt;
  Type = Restore&lt;br /&gt;
  Client = serwer-fd&lt;br /&gt;
  FileSet = serwer&lt;br /&gt;
  Storage = serwer&lt;br /&gt;
  Pool = serwer&lt;br /&gt;
  Messages = Daemon&lt;br /&gt;
  Where = /home/restore&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
  Name = &amp;quot;slawek&amp;quot;&lt;br /&gt;
  Client = slawek-fd&lt;br /&gt;
  Type = Backup&lt;br /&gt;
  Level = Full&lt;br /&gt;
  Pool = &amp;quot;slawek&amp;quot;&lt;br /&gt;
  Schedule = &amp;quot;Dzienny&amp;quot;&lt;br /&gt;
  Messages = Daemon&lt;br /&gt;
  FileSet = &amp;quot;slawek&amp;quot;&lt;br /&gt;
  Storage = slawek &lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
  Name = &amp;quot;RestoreFiles-slawek&amp;quot;&lt;br /&gt;
  Type = Restore&lt;br /&gt;
  Client = slawek-fd&lt;br /&gt;
  FileSet = slawek&lt;br /&gt;
  Storage = slawek&lt;br /&gt;
  Pool = slawek&lt;br /&gt;
  Messages = Daemon&lt;br /&gt;
  Where = /home/restore/&lt;br /&gt;
 }&lt;br /&gt;
 FileSet {&lt;br /&gt;
   Name = &amp;quot;serwer&amp;quot;&lt;br /&gt;
   Include {&lt;br /&gt;
   Options {&lt;br /&gt;
      signature = MD5&lt;br /&gt;
      compression = GZIP9&lt;br /&gt;
              }&lt;br /&gt;
     File = /home/anka/&lt;br /&gt;
     File = /var/lib/mysql/&lt;br /&gt;
     File = /etc/&lt;br /&gt;
              }&lt;br /&gt;
  Exclude {&lt;br /&gt;
   File = /proc&lt;br /&gt;
   File = /tmp&lt;br /&gt;
   File = /.journal&lt;br /&gt;
    File = /.fsck&lt;br /&gt;
           }&lt;br /&gt;
   }&lt;br /&gt;
 FileSet {&lt;br /&gt;
   Name = &amp;quot;slawek&amp;quot;&lt;br /&gt;
   Include {&lt;br /&gt;
    Options {&lt;br /&gt;
     signature = MD5&lt;br /&gt;
     compression = GZIP9&lt;br /&gt;
    }&lt;br /&gt;
    File = /etc/&lt;br /&gt;
    File = /home/slawek/Pobrane/&lt;br /&gt;
  }&lt;br /&gt;
  Exclude {&lt;br /&gt;
    File = /proc&lt;br /&gt;
    File = /tmp&lt;br /&gt;
    File = /.journal&lt;br /&gt;
    File = /.fsck&lt;br /&gt;
  }&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
  Name = &amp;quot;Dzienny&amp;quot;&lt;br /&gt;
  Run = Full sun at 12:16&lt;br /&gt;
 #Run = Differential  sun at 12:53&lt;br /&gt;
  Run = Incremental sun at 13:59&lt;br /&gt;
 }&lt;br /&gt;
 # This schedule does the catalog. It starts after the WeeklyCycle&lt;br /&gt;
 Schedule {&lt;br /&gt;
  Name = &amp;quot;WeeklyCycleAfterBackup&amp;quot;&lt;br /&gt;
  Run = Full sun-sat at 23:10&lt;br /&gt;
 }&lt;br /&gt;
 Client {&lt;br /&gt;
  Name = serwer-fd&lt;br /&gt;
  Address = 192.168.0.1&lt;br /&gt;
  FDPort = 9102&lt;br /&gt;
  Catalog = serwer-fd&lt;br /&gt;
  Password = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
  File Retention = 30 days&lt;br /&gt;
  Job Retention = 6 months&lt;br /&gt;
  AutoPrune = yes&lt;br /&gt;
 }&lt;br /&gt;
 Client {&lt;br /&gt;
  Name = slawek-fd&lt;br /&gt;
  Address = 192.168.0.12&lt;br /&gt;
  FDPort = 9102&lt;br /&gt;
  Catalog = slawek-fd&lt;br /&gt;
  Password = &amp;quot;haslo123&amp;quot;          # password for FileDaemon&lt;br /&gt;
  File Retention = 30 days            # 30 days&lt;br /&gt;
  Job Retention = 6 months            # six months&lt;br /&gt;
  AutoPrune = yes                     # Prune expired Jobs/File&lt;br /&gt;
 }&lt;br /&gt;
 Storage {&lt;br /&gt;
  Name = serwer&lt;br /&gt;
  Address = 192.168.0.10&lt;br /&gt;
  SDPort = 9103&lt;br /&gt;
  Password = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
  Device = serwer&lt;br /&gt;
  Media Type = File&lt;br /&gt;
 }&lt;br /&gt;
 Storage {&lt;br /&gt;
  Name = slawek&lt;br /&gt;
 # Do not use &amp;quot;localhost&amp;quot; here    &lt;br /&gt;
  Address = 192.168.0.10                 # N.B. Use a fully qualified name here&lt;br /&gt;
  SDPort = 9103&lt;br /&gt;
  Password = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
  Device = slawek&lt;br /&gt;
  Media Type = File&lt;br /&gt;
 }&lt;br /&gt;
 Catalog {&lt;br /&gt;
  Name = serwer-fd&lt;br /&gt;
  dbname = &amp;quot;bacula&amp;quot;; DB Address = &amp;quot;127.0.0.1&amp;quot;; dbuser = &amp;quot;bacula&amp;quot;; dbpassword = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Catalog {&lt;br /&gt;
  Name = slawek-fd&lt;br /&gt;
  dbname = &amp;quot;bacula&amp;quot;; DB Address = &amp;quot;127.0.0.1&amp;quot;; dbuser = &amp;quot;bacula&amp;quot;; dbpassword = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Messages {&lt;br /&gt;
  Name = Daemon&lt;br /&gt;
  mailcommand = &amp;quot;/usr/lib/bacula/bsmtp -h mail.linux-user.eu -f \&amp;quot;\(Bacula\) \&amp;lt;%r\&amp;gt;\&amp;quot; -s \&amp;quot;Bacula: %t %e of %c %l\&amp;quot; %r&amp;quot;&lt;br /&gt;
  operatorcommand = &amp;quot;/usr/lib/bacula/bsmtp -h mail.linux-user.eu -f \&amp;quot;\(Bacula\) \&amp;lt;%r\&amp;gt;\&amp;quot; -s \&amp;quot;Bacula: Intervention needed for %j\&amp;quot; %r&amp;quot;&lt;br /&gt;
  mail =  slawek@linux-user.eu = all, !skipped            &lt;br /&gt;
  operator =  slawek@linux-user.eu = mount&lt;br /&gt;
  console = all, !skipped, !saved&lt;br /&gt;
  append = &amp;quot;/var/lib/bacula/log&amp;quot; = all, !skipped&lt;br /&gt;
  catalog = all&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
  Name = serwer&lt;br /&gt;
  Pool Type = Backup&lt;br /&gt;
  Recycle = yes&lt;br /&gt;
  AutoPrune = yes&lt;br /&gt;
  LabelFormat = &amp;quot;serwer&amp;quot;&lt;br /&gt;
  Maximum Volume Bytes = 3000M&lt;br /&gt;
  Volume Retention = 365 days&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
  Name = slawek&lt;br /&gt;
  Pool Type = Backup&lt;br /&gt;
  Recycle = yes                       # Bacula can automatically recycle Volumes&lt;br /&gt;
  AutoPrune = yes                     # Prune expired volumes&lt;br /&gt;
  LabelFormat = &amp;quot;slawek&amp;quot;&lt;br /&gt;
  Maximum Volume Bytes = 900M&lt;br /&gt;
  Volume Retention = 365 days         # one year&lt;br /&gt;
  #Accept Any Volume = yes&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
  Name = File&lt;br /&gt;
  Pool Type = Backup&lt;br /&gt;
  Recycle = yes                       # Bacula can automatically recycle Volumes&lt;br /&gt;
  AutoPrune = yes                     # Prune expired volumes&lt;br /&gt;
  Volume Retention = 365 days         # one year&lt;br /&gt;
  Maximum Volume Bytes = 50G          # Limit Volume size to something reasonable&lt;br /&gt;
  Maximum Volumes = 100               # Limit number of Volumes in Pool&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
  Name = Scratch&lt;br /&gt;
  Pool Type = Backup&lt;br /&gt;
 }&lt;br /&gt;
 Console {&lt;br /&gt;
  Name = backup-serwer-dir&lt;br /&gt;
  Password = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
  CommandACL = status, .status&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Konfiguracja File Daemona w pliku '''bacula-fd.conf'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Director {&lt;br /&gt;
 Name = backup-serwer-dir&lt;br /&gt;
 Password = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
 Name = backup-serwer-mon&lt;br /&gt;
 Password = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
 Monitor = yes&lt;br /&gt;
 }&lt;br /&gt;
 FileDaemon {&lt;br /&gt;
 Name = backup-serwer-fd&lt;br /&gt;
 FDport = 9102&lt;br /&gt;
 WorkingDirectory = /var/lib/bacula&lt;br /&gt;
 Pid Directory = /var/run/bacula&lt;br /&gt;
 Maximum Concurrent Jobs = 20&lt;br /&gt;
 FDAddress = 127.0.0.1&lt;br /&gt;
 }&lt;br /&gt;
 Messages {&lt;br /&gt;
 Name = Standard&lt;br /&gt;
 director = backup-serwer-dir = all, !skipped, !restored&lt;br /&gt;
 } &lt;br /&gt;
Konfiguracja Storage Daemona '''bacula-sd.conf'''&lt;br /&gt;
&lt;br /&gt;
 Storage {                           &lt;br /&gt;
  Name = backup-serwer-sd   # Name – nazwa demona magazynowania. &lt;br /&gt;
 Nie jest ona powiązana z żadną inną konfiguracją usług&lt;br /&gt;
  SDPort = 9103                  # Director's port      &lt;br /&gt;
  WorkingDirectory = &amp;quot;/var/lib/bacula&amp;quot;   #Working Directory – katalog w którym serwis &lt;br /&gt;
 będzie przechowywał pliki swoich statusów. Dobrą praktyką jest zdefiniować taki katalog, &lt;br /&gt;
 który przeznaczony będzie tylko do tego celu.&lt;br /&gt;
  Pid Directory = &amp;quot;/var/run/bacula&amp;quot;  #PID Directory – lokalizacja, w której demon &lt;br /&gt;
 magazynowania będzie zapisywał plik z identyfikatorem procesu, jaki otrzymał &lt;br /&gt;
 demon przy starcie&lt;br /&gt;
  Maximum Concurrent Jobs = 2&lt;br /&gt;
  SDAddress = 192.168.0.10   #SD Address – dyrektywa definiuje adres IP interfejsu, &lt;br /&gt;
 na którym będzie nasłuchiwał demon.&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
  Name = backup-serwer-dir   # Name – nazwa zarządcy uprawnionego do używania &lt;br /&gt;
 demona magazynowania. Nazwa zarządcy określanego w tej dyrektywie musi odpowiadać &lt;br /&gt;
 nazwie zarządcy zdefiniowanej w innych plikach konfiguracyjnych.&lt;br /&gt;
  Password = &amp;quot;s7s8,.zq&amp;quot;   # Password – hasło, którym zarządca będzie autoryzował się do &lt;br /&gt;
 demona magazynowania. Podane tu hasło definiowane jest również w pliku konfiguracyjnym zarządcy.&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
  Name = backup-serwer-mon&lt;br /&gt;
  Password = &amp;quot;s7s8,.zq&amp;quot;&lt;br /&gt;
  Monitor = yes&lt;br /&gt;
 }&lt;br /&gt;
 Device {&lt;br /&gt;
  Name = &amp;quot;serwer&amp;quot; # Name – nazwa urządzenia. Ta sama nazwa jest definiowana również w &lt;br /&gt;
 pliku konfiguracyjnym zarządcy&lt;br /&gt;
  Media Type = File #typ woluminu. Określa jakiego typu nośniki obsługuje dane urządzenie.&lt;br /&gt;
  Archive Device = /home/bacula/backup/serwer  # Archive Device – lokalizacja urządzenia. &lt;br /&gt;
 Jeśli urządzeniem jest dysk, to podawany jest tutaj punkt jego montowania&lt;br /&gt;
  Device Type = File # Device Type – określa typ urządzenia. Możliwe typy urządzeń to: File – &lt;br /&gt;
 dla dysków, Tape – dla urządzeń taśmowych, Fifo – dla kolejek FIFO, DVD – dla napędów DVD-ROM&lt;br /&gt;
  LabelMedia = yes;&lt;br /&gt;
  AutomaticMount = yes;&lt;br /&gt;
  RemovableMedia = no;     #mówi o tym, czy urządzenie obsługuje wymienne nośniki. Dla urządzeń &lt;br /&gt;
 taśmowych, napędów DVD jak i wyjmowalnych dysków (np. dyski zewnętrzne lub pendrive) dyrektywa &lt;br /&gt;
 powinna być ustawiona na &amp;quot;yes&amp;quot;. Dla stałych dysków dyrektywa powinna być ustawiona na &amp;quot;no&amp;quot;&lt;br /&gt;
  AlwaysOpen = no;&lt;br /&gt;
 }&lt;br /&gt;
 Device {&lt;br /&gt;
  Name = &amp;quot;slawek&amp;quot;&lt;br /&gt;
  Media Type = File&lt;br /&gt;
  Archive Device = /home/bacula/backup/slawek&lt;br /&gt;
  LabelMedia = yes;&lt;br /&gt;
  AutomaticMount = yes;&lt;br /&gt;
  RemovableMedia = no;&lt;br /&gt;
  AlwaysOpen = no;&lt;br /&gt;
 }&lt;br /&gt;
 Messages {&lt;br /&gt;
  Name = Standard   #nazwa zasobu. Używana jest na wewnętrzne potrzeby demona i nie zostaje &lt;br /&gt;
 przekazana nigdzie na zewnątrz&lt;br /&gt;
  director = backup-serwer-dir = all   # Określa się tu dwie wartości: nazwę zarządcy do którego &lt;br /&gt;
 dyrektywa się tyczy oraz poziom logowania. Wartość 'all' oznacza, że raportowane będą wszystkie &lt;br /&gt;
 zmiany i statusy podczas pracy demona magazynowania.&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
Uwaga hasło &amp;quot;''haslo123''&amp;quot;  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.&lt;br /&gt;
 &lt;br /&gt;
Więcej informacji znajdziesz na polskiej stronie na temat oprogramowania bacula [http://www.bacula.pl www.bacula.pl].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;google1 style=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/google1&amp;gt;&lt;/div&gt;</summary>
		<author><name>Slawek</name></author>	</entry>

	<entry>
		<id>http://wiki.linux-user.eu/index.php/Bacula_-_backup_danych</id>
		<title>Bacula - backup danych</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux-user.eu/index.php/Bacula_-_backup_danych"/>
				<updated>2012-09-16T12:29:47Z</updated>
		
		<summary type="html">&lt;p&gt;Slawek: /* Instalacja serwera bacula */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Serwer]]&lt;br /&gt;
== Backup danych - Bacula ==&lt;br /&gt;
'''Bacula''' jest profesjonalnym systemem archiwizacji danych typu klien-serwer. Jest to darmowe oprogramowanie, które odpowiada za tworzenie, przywracania oraz weryfikację danych. Sam serwer może działać na wielu platformach Linux, FreeBSD czy Solaris. Klient baculi archiwizuje dane z wilu platform łącznie z windowsami.&lt;br /&gt;
Bacula w skrócie:&lt;br /&gt;
* budowa modularna&lt;br /&gt;
* archiwizacja danych z platform Linux, Windows, Mac OS&lt;br /&gt;
* zaplecze bazo danowe w postaci MySQL, PostgreSQL czy SQLite&lt;br /&gt;
* dostęp do oprogramowania baculi na licencjo OpenSource&lt;br /&gt;
* kopia danych na woluminach wielotaśmowych&lt;br /&gt;
* umożliwia szyfrowanie danych przepływających przez sieć&lt;br /&gt;
* archiwizuje pliki większe niż 2 GBobsługuje automatyczne zmieniarki&lt;br /&gt;
* może wykonywać skrypty przed i po archiwizazcji&lt;br /&gt;
* scentralizowany system zarządzania kopiami dla całej sieci&lt;br /&gt;
&lt;br /&gt;
== Instalacja serwera bacula ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Potrzebne oprogramowanie do działania baculi zaznaczyłem w trakcie instalacji systemu &amp;quot;''[[LAMP]] Server''&amp;quot; , 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&lt;br /&gt;
  yum install bacula-client bacula-common bacula-console bacula-director-common bacula-director-mysql bacula-docs bacula-storage-common bacula-storage-mysql mysql mysql-devel mysql-server&lt;br /&gt;
i to tak na prawdę wszyst. Uwaga jeśli chcesz aby Twoja instalacja baculi współpracowała z np bazą danych mysql to musisz instalować pakiety np bacula-director-mysql, bacula-common-mysql  i tak dalej jeśli chcesz przeprowadzić  instalację do współpracyz odpowiednią bazą danych  to musisz jawnie o tym powiadomić instalator podczas instalacji oprogramowania.&lt;br /&gt;
Potrzebne pakiety do poprawnego działania to:&lt;br /&gt;
* bacula-common-mysql&lt;br /&gt;
* bacula-console&lt;br /&gt;
* bacula-director-common&lt;br /&gt;
* bacula-director-mysql&lt;br /&gt;
* bacula-fd (klient)&lt;br /&gt;
* bacula-sd-mysql&lt;br /&gt;
* bacula-server&lt;br /&gt;
* dbconfig-common&lt;br /&gt;
W trakcie instalacji powyższych pakietów system pyta nas o konfiguracje bazy danych dla '''baculi''' za pomocą oprogramowania '''dbconfig-common''', oczywiście się zgadzamy &amp;quot;''Configure database for bacula-director-mysql with dbconfig-common?''&amp;quot;, po zatwierdzeniu będziemy musieli podać hasło do użytkownika root bazy danych oraz nowe hasło dla '''bacula-director-mysql'''.  Do instalacji tego oprogramowania nie potrzebowałem żadnego dodatkowego repozytorium. Po poprawnej instalacji Twój serwer archiwizacji danych powinien być gotowy do konfiguracji.&lt;br /&gt;
&lt;br /&gt;
== Konfiguracja serwera Bacula ==&lt;br /&gt;
&lt;br /&gt;
Wszystkie pliki konfiguracyjne baculi powinny znajdować się w ścieżce ''/etc/bacula/'' usługę możesz restartować zatrzymywać oraz startować za pomocą polecenia&lt;br /&gt;
 /etc/init.d/bacula-dir start/stop/restart/status &lt;br /&gt;
 /etc/init.d/bacula-sd start/stop/restart/status&lt;br /&gt;
 /etc/init.d/bacula-fd start/stop/restart/status&lt;br /&gt;
&lt;br /&gt;
== Pliki konfiguracyjne ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Plik '''bacula-dir.conf'''&amp;lt;br /&amp;gt; '''Director''' – dane zarządcy uprawnionego do używania urządzeń demona magazynowania&lt;br /&gt;
# Plik '''bacula-fd.conf'''&amp;lt;br /&amp;gt;'''Device''' – definicja urządzenia archiwizującego&lt;br /&gt;
# Plik '''bacula-sd.conf'''&amp;lt;br /&amp;gt;'''StorageDaemon''' – główna konfiguracja demona magazynowania&lt;br /&gt;
# Plik '''bconsole.conf''' - plik konsoli bacula&lt;br /&gt;
#Plik konfiguracji każdego klienta np '''slawek-backup.conf'''&lt;br /&gt;
Poniżej przedstawie przykładowe pliki konfiguracyjne z działającego serwera i pokrótce  postaram się opisać najważniejsze opcje każdego z nich.&lt;br /&gt;
&lt;br /&gt;
Plik bacula-dir.conf&lt;br /&gt;
&lt;br /&gt;
 # Director – dane zarządcy uprawnionego do używania urządzeń demona magazynowania&lt;br /&gt;
 Director {                            # define myself&lt;br /&gt;
  Name = backup-serwer-dir&lt;br /&gt;
  DIRport = 9101                # where we listen for UA connections &lt;br /&gt;
  QueryFile = &amp;quot;/etc/bacula/scripts/query.sql&amp;quot;&lt;br /&gt;
  WorkingDirectory = &amp;quot;/var/lib/bacula&amp;quot;&lt;br /&gt;
  PidDirectory = &amp;quot;/var/run/bacula&amp;quot;&lt;br /&gt;
  Maximum Concurrent Jobs = 1&lt;br /&gt;
  Password = &amp;quot;haslo123&amp;quot;        # Console password &lt;br /&gt;
  Messages = Daemon&lt;br /&gt;
  DirAddress = 192.168.0.10&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
  Name = &amp;quot;serwer&amp;quot;&lt;br /&gt;
  Client = serwer-fd&lt;br /&gt;
  Type = Backup&lt;br /&gt;
  Level = Incremental&lt;br /&gt;
  Pool = &amp;quot;serwer&amp;quot;&lt;br /&gt;
  Schedule = &amp;quot;Dzienny&amp;quot;&lt;br /&gt;
  Messages = Daemon&lt;br /&gt;
  FileSet = &amp;quot;serwer&amp;quot;&lt;br /&gt;
  Storage = serwer&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
  Name = &amp;quot;RestoreFiles-serwer&amp;quot;&lt;br /&gt;
  Type = Restore&lt;br /&gt;
  Client = serwer-fd&lt;br /&gt;
  FileSet = serwer&lt;br /&gt;
  Storage = serwer&lt;br /&gt;
  Pool = serwer&lt;br /&gt;
  Messages = Daemon&lt;br /&gt;
  Where = /home/restore&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
  Name = &amp;quot;slawek&amp;quot;&lt;br /&gt;
  Client = slawek-fd&lt;br /&gt;
  Type = Backup&lt;br /&gt;
  Level = Full&lt;br /&gt;
  Pool = &amp;quot;slawek&amp;quot;&lt;br /&gt;
  Schedule = &amp;quot;Dzienny&amp;quot;&lt;br /&gt;
  Messages = Daemon&lt;br /&gt;
  FileSet = &amp;quot;slawek&amp;quot;&lt;br /&gt;
  Storage = slawek &lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
  Name = &amp;quot;RestoreFiles-slawek&amp;quot;&lt;br /&gt;
  Type = Restore&lt;br /&gt;
  Client = slawek-fd&lt;br /&gt;
  FileSet = slawek&lt;br /&gt;
  Storage = slawek&lt;br /&gt;
  Pool = slawek&lt;br /&gt;
  Messages = Daemon&lt;br /&gt;
  Where = /home/restore/&lt;br /&gt;
 }&lt;br /&gt;
 FileSet {&lt;br /&gt;
   Name = &amp;quot;serwer&amp;quot;&lt;br /&gt;
   Include {&lt;br /&gt;
   Options {&lt;br /&gt;
      signature = MD5&lt;br /&gt;
      compression = GZIP9&lt;br /&gt;
              }&lt;br /&gt;
     File = /home/anka/&lt;br /&gt;
     File = /var/lib/mysql/&lt;br /&gt;
     File = /etc/&lt;br /&gt;
              }&lt;br /&gt;
  Exclude {&lt;br /&gt;
   File = /proc&lt;br /&gt;
   File = /tmp&lt;br /&gt;
   File = /.journal&lt;br /&gt;
    File = /.fsck&lt;br /&gt;
           }&lt;br /&gt;
   }&lt;br /&gt;
 FileSet {&lt;br /&gt;
   Name = &amp;quot;slawek&amp;quot;&lt;br /&gt;
   Include {&lt;br /&gt;
    Options {&lt;br /&gt;
     signature = MD5&lt;br /&gt;
     compression = GZIP9&lt;br /&gt;
    }&lt;br /&gt;
    File = /etc/&lt;br /&gt;
    File = /home/slawek/Pobrane/&lt;br /&gt;
  }&lt;br /&gt;
  Exclude {&lt;br /&gt;
    File = /proc&lt;br /&gt;
    File = /tmp&lt;br /&gt;
    File = /.journal&lt;br /&gt;
    File = /.fsck&lt;br /&gt;
  }&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
  Name = &amp;quot;Dzienny&amp;quot;&lt;br /&gt;
  Run = Full sun at 12:16&lt;br /&gt;
 #Run = Differential  sun at 12:53&lt;br /&gt;
  Run = Incremental sun at 13:59&lt;br /&gt;
 }&lt;br /&gt;
 # This schedule does the catalog. It starts after the WeeklyCycle&lt;br /&gt;
 Schedule {&lt;br /&gt;
  Name = &amp;quot;WeeklyCycleAfterBackup&amp;quot;&lt;br /&gt;
  Run = Full sun-sat at 23:10&lt;br /&gt;
 }&lt;br /&gt;
 Client {&lt;br /&gt;
  Name = serwer-fd&lt;br /&gt;
  Address = 192.168.0.1&lt;br /&gt;
  FDPort = 9102&lt;br /&gt;
  Catalog = serwer-fd&lt;br /&gt;
  Password = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
  File Retention = 30 days&lt;br /&gt;
  Job Retention = 6 months&lt;br /&gt;
  AutoPrune = yes&lt;br /&gt;
 }&lt;br /&gt;
 Client {&lt;br /&gt;
  Name = slawek-fd&lt;br /&gt;
  Address = 192.168.0.12&lt;br /&gt;
  FDPort = 9102&lt;br /&gt;
  Catalog = slawek-fd&lt;br /&gt;
  Password = &amp;quot;haslo123&amp;quot;          # password for FileDaemon&lt;br /&gt;
  File Retention = 30 days            # 30 days&lt;br /&gt;
  Job Retention = 6 months            # six months&lt;br /&gt;
  AutoPrune = yes                     # Prune expired Jobs/File&lt;br /&gt;
 }&lt;br /&gt;
 Storage {&lt;br /&gt;
  Name = serwer&lt;br /&gt;
  Address = 192.168.0.10&lt;br /&gt;
  SDPort = 9103&lt;br /&gt;
  Password = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
  Device = serwer&lt;br /&gt;
  Media Type = File&lt;br /&gt;
 }&lt;br /&gt;
 Storage {&lt;br /&gt;
  Name = slawek&lt;br /&gt;
 # Do not use &amp;quot;localhost&amp;quot; here    &lt;br /&gt;
  Address = 192.168.0.10                 # N.B. Use a fully qualified name here&lt;br /&gt;
  SDPort = 9103&lt;br /&gt;
  Password = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
  Device = slawek&lt;br /&gt;
  Media Type = File&lt;br /&gt;
 }&lt;br /&gt;
 Catalog {&lt;br /&gt;
  Name = serwer-fd&lt;br /&gt;
  dbname = &amp;quot;bacula&amp;quot;; DB Address = &amp;quot;127.0.0.1&amp;quot;; dbuser = &amp;quot;bacula&amp;quot;; dbpassword = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Catalog {&lt;br /&gt;
  Name = slawek-fd&lt;br /&gt;
  dbname = &amp;quot;bacula&amp;quot;; DB Address = &amp;quot;127.0.0.1&amp;quot;; dbuser = &amp;quot;bacula&amp;quot;; dbpassword = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Messages {&lt;br /&gt;
  Name = Daemon&lt;br /&gt;
  mailcommand = &amp;quot;/usr/lib/bacula/bsmtp -h mail.linux-user.eu -f \&amp;quot;\(Bacula\) \&amp;lt;%r\&amp;gt;\&amp;quot; -s \&amp;quot;Bacula: %t %e of %c %l\&amp;quot; %r&amp;quot;&lt;br /&gt;
  operatorcommand = &amp;quot;/usr/lib/bacula/bsmtp -h mail.linux-user.eu -f \&amp;quot;\(Bacula\) \&amp;lt;%r\&amp;gt;\&amp;quot; -s \&amp;quot;Bacula: Intervention needed for %j\&amp;quot; %r&amp;quot;&lt;br /&gt;
  mail =  slawek@linux-user.eu = all, !skipped            &lt;br /&gt;
  operator =  slawek@linux-user.eu = mount&lt;br /&gt;
  console = all, !skipped, !saved&lt;br /&gt;
  append = &amp;quot;/var/lib/bacula/log&amp;quot; = all, !skipped&lt;br /&gt;
  catalog = all&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
  Name = serwer&lt;br /&gt;
  Pool Type = Backup&lt;br /&gt;
  Recycle = yes&lt;br /&gt;
  AutoPrune = yes&lt;br /&gt;
  LabelFormat = &amp;quot;serwer&amp;quot;&lt;br /&gt;
  Maximum Volume Bytes = 3000M&lt;br /&gt;
  Volume Retention = 365 days&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
  Name = slawek&lt;br /&gt;
  Pool Type = Backup&lt;br /&gt;
  Recycle = yes                       # Bacula can automatically recycle Volumes&lt;br /&gt;
  AutoPrune = yes                     # Prune expired volumes&lt;br /&gt;
  LabelFormat = &amp;quot;slawek&amp;quot;&lt;br /&gt;
  Maximum Volume Bytes = 900M&lt;br /&gt;
  Volume Retention = 365 days         # one year&lt;br /&gt;
  #Accept Any Volume = yes&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
  Name = File&lt;br /&gt;
  Pool Type = Backup&lt;br /&gt;
  Recycle = yes                       # Bacula can automatically recycle Volumes&lt;br /&gt;
  AutoPrune = yes                     # Prune expired volumes&lt;br /&gt;
  Volume Retention = 365 days         # one year&lt;br /&gt;
  Maximum Volume Bytes = 50G          # Limit Volume size to something reasonable&lt;br /&gt;
  Maximum Volumes = 100               # Limit number of Volumes in Pool&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
  Name = Scratch&lt;br /&gt;
  Pool Type = Backup&lt;br /&gt;
 }&lt;br /&gt;
 Console {&lt;br /&gt;
  Name = backup-serwer-dir&lt;br /&gt;
  Password = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
  CommandACL = status, .status&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Konfiguracja File Daemona w pliku '''bacula-fd.conf'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Director {&lt;br /&gt;
 Name = backup-serwer-dir&lt;br /&gt;
 Password = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
 Name = backup-serwer-mon&lt;br /&gt;
 Password = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
 Monitor = yes&lt;br /&gt;
 }&lt;br /&gt;
 FileDaemon {&lt;br /&gt;
 Name = backup-serwer-fd&lt;br /&gt;
 FDport = 9102&lt;br /&gt;
 WorkingDirectory = /var/lib/bacula&lt;br /&gt;
 Pid Directory = /var/run/bacula&lt;br /&gt;
 Maximum Concurrent Jobs = 20&lt;br /&gt;
 FDAddress = 127.0.0.1&lt;br /&gt;
 }&lt;br /&gt;
 Messages {&lt;br /&gt;
 Name = Standard&lt;br /&gt;
 director = backup-serwer-dir = all, !skipped, !restored&lt;br /&gt;
 } &lt;br /&gt;
Konfiguracja Storage Daemona '''bacula-sd.conf'''&lt;br /&gt;
&lt;br /&gt;
 Storage {                           &lt;br /&gt;
  Name = backup-serwer-sd   # Name – nazwa demona magazynowania. &lt;br /&gt;
 Nie jest ona powiązana z żadną inną konfiguracją usług&lt;br /&gt;
  SDPort = 9103                  # Director's port      &lt;br /&gt;
  WorkingDirectory = &amp;quot;/var/lib/bacula&amp;quot;   #Working Directory – katalog w którym serwis &lt;br /&gt;
 będzie przechowywał pliki swoich statusów. Dobrą praktyką jest zdefiniować taki katalog, &lt;br /&gt;
 który przeznaczony będzie tylko do tego celu.&lt;br /&gt;
  Pid Directory = &amp;quot;/var/run/bacula&amp;quot;  #PID Directory – lokalizacja, w której demon &lt;br /&gt;
 magazynowania będzie zapisywał plik z identyfikatorem procesu, jaki otrzymał &lt;br /&gt;
 demon przy starcie&lt;br /&gt;
  Maximum Concurrent Jobs = 2&lt;br /&gt;
  SDAddress = 192.168.0.10   #SD Address – dyrektywa definiuje adres IP interfejsu, &lt;br /&gt;
 na którym będzie nasłuchiwał demon.&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
  Name = backup-serwer-dir   # Name – nazwa zarządcy uprawnionego do używania &lt;br /&gt;
 demona magazynowania. Nazwa zarządcy określanego w tej dyrektywie musi odpowiadać &lt;br /&gt;
 nazwie zarządcy zdefiniowanej w innych plikach konfiguracyjnych.&lt;br /&gt;
  Password = &amp;quot;s7s8,.zq&amp;quot;   # Password – hasło, którym zarządca będzie autoryzował się do &lt;br /&gt;
 demona magazynowania. Podane tu hasło definiowane jest również w pliku konfiguracyjnym zarządcy.&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
  Name = backup-serwer-mon&lt;br /&gt;
  Password = &amp;quot;s7s8,.zq&amp;quot;&lt;br /&gt;
  Monitor = yes&lt;br /&gt;
 }&lt;br /&gt;
 Device {&lt;br /&gt;
  Name = &amp;quot;serwer&amp;quot; # Name – nazwa urządzenia. Ta sama nazwa jest definiowana również w &lt;br /&gt;
 pliku konfiguracyjnym zarządcy&lt;br /&gt;
  Media Type = File #typ woluminu. Określa jakiego typu nośniki obsługuje dane urządzenie.&lt;br /&gt;
  Archive Device = /home/bacula/backup/serwer  # Archive Device – lokalizacja urządzenia. &lt;br /&gt;
 Jeśli urządzeniem jest dysk, to podawany jest tutaj punkt jego montowania&lt;br /&gt;
  Device Type = File # Device Type – określa typ urządzenia. Możliwe typy urządzeń to: File – &lt;br /&gt;
 dla dysków, Tape – dla urządzeń taśmowych, Fifo – dla kolejek FIFO, DVD – dla napędów DVD-ROM&lt;br /&gt;
  LabelMedia = yes;&lt;br /&gt;
  AutomaticMount = yes;&lt;br /&gt;
  RemovableMedia = no;     #mówi o tym, czy urządzenie obsługuje wymienne nośniki. Dla urządzeń &lt;br /&gt;
 taśmowych, napędów DVD jak i wyjmowalnych dysków (np. dyski zewnętrzne lub pendrive) dyrektywa &lt;br /&gt;
 powinna być ustawiona na &amp;quot;yes&amp;quot;. Dla stałych dysków dyrektywa powinna być ustawiona na &amp;quot;no&amp;quot;&lt;br /&gt;
  AlwaysOpen = no;&lt;br /&gt;
 }&lt;br /&gt;
 Device {&lt;br /&gt;
  Name = &amp;quot;slawek&amp;quot;&lt;br /&gt;
  Media Type = File&lt;br /&gt;
  Archive Device = /home/bacula/backup/slawek&lt;br /&gt;
  LabelMedia = yes;&lt;br /&gt;
  AutomaticMount = yes;&lt;br /&gt;
  RemovableMedia = no;&lt;br /&gt;
  AlwaysOpen = no;&lt;br /&gt;
 }&lt;br /&gt;
 Messages {&lt;br /&gt;
  Name = Standard   #nazwa zasobu. Używana jest na wewnętrzne potrzeby demona i nie zostaje &lt;br /&gt;
 przekazana nigdzie na zewnątrz&lt;br /&gt;
  director = backup-serwer-dir = all   # Określa się tu dwie wartości: nazwę zarządcy do którego &lt;br /&gt;
 dyrektywa się tyczy oraz poziom logowania. Wartość 'all' oznacza, że raportowane będą wszystkie &lt;br /&gt;
 zmiany i statusy podczas pracy demona magazynowania.&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
Uwaga hasło &amp;quot;''haslo123''&amp;quot;  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.&lt;br /&gt;
 &lt;br /&gt;
Więcej informacji znajdziesz na polskiej stronie na temat oprogramowania bacula [http://www.bacula.pl www.bacula.pl].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;google1 style=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/google1&amp;gt;&lt;/div&gt;</summary>
		<author><name>Slawek</name></author>	</entry>

	<entry>
		<id>http://wiki.linux-user.eu/index.php/Bacula_-_backup_danych</id>
		<title>Bacula - backup danych</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux-user.eu/index.php/Bacula_-_backup_danych"/>
				<updated>2012-09-16T12:28:06Z</updated>
		
		<summary type="html">&lt;p&gt;Slawek: /* Konfiguracja serwera Bacula */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Serwer]]&lt;br /&gt;
== Backup danych - Bacula ==&lt;br /&gt;
'''Bacula''' jest profesjonalnym systemem archiwizacji danych typu klien-serwer. Jest to darmowe oprogramowanie, które odpowiada za tworzenie, przywracania oraz weryfikację danych. Sam serwer może działać na wielu platformach Linux, FreeBSD czy Solaris. Klient baculi archiwizuje dane z wilu platform łącznie z windowsami.&lt;br /&gt;
Bacula w skrócie:&lt;br /&gt;
* budowa modularna&lt;br /&gt;
* archiwizacja danych z platform Linux, Windows, Mac OS&lt;br /&gt;
* zaplecze bazo danowe w postaci MySQL, PostgreSQL czy SQLite&lt;br /&gt;
* dostęp do oprogramowania baculi na licencjo OpenSource&lt;br /&gt;
* kopia danych na woluminach wielotaśmowych&lt;br /&gt;
* umożliwia szyfrowanie danych przepływających przez sieć&lt;br /&gt;
* archiwizuje pliki większe niż 2 GBobsługuje automatyczne zmieniarki&lt;br /&gt;
* może wykonywać skrypty przed i po archiwizazcji&lt;br /&gt;
* scentralizowany system zarządzania kopiami dla całej sieci&lt;br /&gt;
&lt;br /&gt;
== Instalacja serwera bacula ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Potrzebne oprogramowanie do działania baculi zaznaczyłem w trakcie instalacji systemu &amp;quot;''[[LAMP]] Server''&amp;quot; , 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&lt;br /&gt;
  sudo apt-get install apache2 mysqld php&lt;br /&gt;
  sudo apt-get install bacula&lt;br /&gt;
i to tak na prawdę wszyst. Uwaga jeśli chcesz aby Twoja instalacja baculi współpracowała z np bazą danych mysql to musisz instalować pakiety np bacula-director-mysql, bacula-common-mysql  i tak dalej jeśli chcesz przeprowadzić  instalację do współpracyz odpowiednią bazą danych  to musisz jawnie o tym powiadomić instalator podczas instalacji oprogramowania.&lt;br /&gt;
Potrzebne pakiety do poprawnego działania to:&lt;br /&gt;
* bacula-common-mysql&lt;br /&gt;
* bacula-console&lt;br /&gt;
* bacula-director-common&lt;br /&gt;
* bacula-director-mysql&lt;br /&gt;
* bacula-fd&lt;br /&gt;
* bacula-sd-mysql&lt;br /&gt;
* bacula-server&lt;br /&gt;
* dbconfig-common&lt;br /&gt;
W trakcie instalacji powyższych pakietów system pyta nas o konfiguracje bazy danych dla '''baculi''' za pomocą oprogramowania '''dbconfig-common''', oczywiście się zgadzamy &amp;quot;''Configure database for bacula-director-mysql with dbconfig-common?''&amp;quot;, po zatwierdzeniu będziemy musieli podać hasło do użytkownika root bazy danych oraz nowe hasło dla '''bacula-director-mysql'''.  Do instalacji tego oprogramowania nie potrzebowałem żadnego dodatkowego repozytorium. Po poprawnej instalacji Twój serwer archiwizacji danych powinien być gotowy do konfiguracji.&lt;br /&gt;
&lt;br /&gt;
== Konfiguracja serwera Bacula ==&lt;br /&gt;
&lt;br /&gt;
Wszystkie pliki konfiguracyjne baculi powinny znajdować się w ścieżce ''/etc/bacula/'' usługę możesz restartować zatrzymywać oraz startować za pomocą polecenia&lt;br /&gt;
 /etc/init.d/bacula-dir start/stop/restart/status &lt;br /&gt;
 /etc/init.d/bacula-sd start/stop/restart/status&lt;br /&gt;
 /etc/init.d/bacula-fd start/stop/restart/status&lt;br /&gt;
&lt;br /&gt;
== Pliki konfiguracyjne ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Plik '''bacula-dir.conf'''&amp;lt;br /&amp;gt; '''Director''' – dane zarządcy uprawnionego do używania urządzeń demona magazynowania&lt;br /&gt;
# Plik '''bacula-fd.conf'''&amp;lt;br /&amp;gt;'''Device''' – definicja urządzenia archiwizującego&lt;br /&gt;
# Plik '''bacula-sd.conf'''&amp;lt;br /&amp;gt;'''StorageDaemon''' – główna konfiguracja demona magazynowania&lt;br /&gt;
# Plik '''bconsole.conf''' - plik konsoli bacula&lt;br /&gt;
#Plik konfiguracji każdego klienta np '''slawek-backup.conf'''&lt;br /&gt;
Poniżej przedstawie przykładowe pliki konfiguracyjne z działającego serwera i pokrótce  postaram się opisać najważniejsze opcje każdego z nich.&lt;br /&gt;
&lt;br /&gt;
Plik bacula-dir.conf&lt;br /&gt;
&lt;br /&gt;
 # Director – dane zarządcy uprawnionego do używania urządzeń demona magazynowania&lt;br /&gt;
 Director {                            # define myself&lt;br /&gt;
  Name = backup-serwer-dir&lt;br /&gt;
  DIRport = 9101                # where we listen for UA connections &lt;br /&gt;
  QueryFile = &amp;quot;/etc/bacula/scripts/query.sql&amp;quot;&lt;br /&gt;
  WorkingDirectory = &amp;quot;/var/lib/bacula&amp;quot;&lt;br /&gt;
  PidDirectory = &amp;quot;/var/run/bacula&amp;quot;&lt;br /&gt;
  Maximum Concurrent Jobs = 1&lt;br /&gt;
  Password = &amp;quot;haslo123&amp;quot;        # Console password &lt;br /&gt;
  Messages = Daemon&lt;br /&gt;
  DirAddress = 192.168.0.10&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
  Name = &amp;quot;serwer&amp;quot;&lt;br /&gt;
  Client = serwer-fd&lt;br /&gt;
  Type = Backup&lt;br /&gt;
  Level = Incremental&lt;br /&gt;
  Pool = &amp;quot;serwer&amp;quot;&lt;br /&gt;
  Schedule = &amp;quot;Dzienny&amp;quot;&lt;br /&gt;
  Messages = Daemon&lt;br /&gt;
  FileSet = &amp;quot;serwer&amp;quot;&lt;br /&gt;
  Storage = serwer&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
  Name = &amp;quot;RestoreFiles-serwer&amp;quot;&lt;br /&gt;
  Type = Restore&lt;br /&gt;
  Client = serwer-fd&lt;br /&gt;
  FileSet = serwer&lt;br /&gt;
  Storage = serwer&lt;br /&gt;
  Pool = serwer&lt;br /&gt;
  Messages = Daemon&lt;br /&gt;
  Where = /home/restore&lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
  Name = &amp;quot;slawek&amp;quot;&lt;br /&gt;
  Client = slawek-fd&lt;br /&gt;
  Type = Backup&lt;br /&gt;
  Level = Full&lt;br /&gt;
  Pool = &amp;quot;slawek&amp;quot;&lt;br /&gt;
  Schedule = &amp;quot;Dzienny&amp;quot;&lt;br /&gt;
  Messages = Daemon&lt;br /&gt;
  FileSet = &amp;quot;slawek&amp;quot;&lt;br /&gt;
  Storage = slawek &lt;br /&gt;
 }&lt;br /&gt;
 Job {&lt;br /&gt;
  Name = &amp;quot;RestoreFiles-slawek&amp;quot;&lt;br /&gt;
  Type = Restore&lt;br /&gt;
  Client = slawek-fd&lt;br /&gt;
  FileSet = slawek&lt;br /&gt;
  Storage = slawek&lt;br /&gt;
  Pool = slawek&lt;br /&gt;
  Messages = Daemon&lt;br /&gt;
  Where = /home/restore/&lt;br /&gt;
 }&lt;br /&gt;
 FileSet {&lt;br /&gt;
   Name = &amp;quot;serwer&amp;quot;&lt;br /&gt;
   Include {&lt;br /&gt;
   Options {&lt;br /&gt;
      signature = MD5&lt;br /&gt;
      compression = GZIP9&lt;br /&gt;
              }&lt;br /&gt;
     File = /home/anka/&lt;br /&gt;
     File = /var/lib/mysql/&lt;br /&gt;
     File = /etc/&lt;br /&gt;
              }&lt;br /&gt;
  Exclude {&lt;br /&gt;
   File = /proc&lt;br /&gt;
   File = /tmp&lt;br /&gt;
   File = /.journal&lt;br /&gt;
    File = /.fsck&lt;br /&gt;
           }&lt;br /&gt;
   }&lt;br /&gt;
 FileSet {&lt;br /&gt;
   Name = &amp;quot;slawek&amp;quot;&lt;br /&gt;
   Include {&lt;br /&gt;
    Options {&lt;br /&gt;
     signature = MD5&lt;br /&gt;
     compression = GZIP9&lt;br /&gt;
    }&lt;br /&gt;
    File = /etc/&lt;br /&gt;
    File = /home/slawek/Pobrane/&lt;br /&gt;
  }&lt;br /&gt;
  Exclude {&lt;br /&gt;
    File = /proc&lt;br /&gt;
    File = /tmp&lt;br /&gt;
    File = /.journal&lt;br /&gt;
    File = /.fsck&lt;br /&gt;
  }&lt;br /&gt;
 }&lt;br /&gt;
 Schedule {&lt;br /&gt;
  Name = &amp;quot;Dzienny&amp;quot;&lt;br /&gt;
  Run = Full sun at 12:16&lt;br /&gt;
 #Run = Differential  sun at 12:53&lt;br /&gt;
  Run = Incremental sun at 13:59&lt;br /&gt;
 }&lt;br /&gt;
 # This schedule does the catalog. It starts after the WeeklyCycle&lt;br /&gt;
 Schedule {&lt;br /&gt;
  Name = &amp;quot;WeeklyCycleAfterBackup&amp;quot;&lt;br /&gt;
  Run = Full sun-sat at 23:10&lt;br /&gt;
 }&lt;br /&gt;
 Client {&lt;br /&gt;
  Name = serwer-fd&lt;br /&gt;
  Address = 192.168.0.1&lt;br /&gt;
  FDPort = 9102&lt;br /&gt;
  Catalog = serwer-fd&lt;br /&gt;
  Password = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
  File Retention = 30 days&lt;br /&gt;
  Job Retention = 6 months&lt;br /&gt;
  AutoPrune = yes&lt;br /&gt;
 }&lt;br /&gt;
 Client {&lt;br /&gt;
  Name = slawek-fd&lt;br /&gt;
  Address = 192.168.0.12&lt;br /&gt;
  FDPort = 9102&lt;br /&gt;
  Catalog = slawek-fd&lt;br /&gt;
  Password = &amp;quot;haslo123&amp;quot;          # password for FileDaemon&lt;br /&gt;
  File Retention = 30 days            # 30 days&lt;br /&gt;
  Job Retention = 6 months            # six months&lt;br /&gt;
  AutoPrune = yes                     # Prune expired Jobs/File&lt;br /&gt;
 }&lt;br /&gt;
 Storage {&lt;br /&gt;
  Name = serwer&lt;br /&gt;
  Address = 192.168.0.10&lt;br /&gt;
  SDPort = 9103&lt;br /&gt;
  Password = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
  Device = serwer&lt;br /&gt;
  Media Type = File&lt;br /&gt;
 }&lt;br /&gt;
 Storage {&lt;br /&gt;
  Name = slawek&lt;br /&gt;
 # Do not use &amp;quot;localhost&amp;quot; here    &lt;br /&gt;
  Address = 192.168.0.10                 # N.B. Use a fully qualified name here&lt;br /&gt;
  SDPort = 9103&lt;br /&gt;
  Password = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
  Device = slawek&lt;br /&gt;
  Media Type = File&lt;br /&gt;
 }&lt;br /&gt;
 Catalog {&lt;br /&gt;
  Name = serwer-fd&lt;br /&gt;
  dbname = &amp;quot;bacula&amp;quot;; DB Address = &amp;quot;127.0.0.1&amp;quot;; dbuser = &amp;quot;bacula&amp;quot;; dbpassword = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Catalog {&lt;br /&gt;
  Name = slawek-fd&lt;br /&gt;
  dbname = &amp;quot;bacula&amp;quot;; DB Address = &amp;quot;127.0.0.1&amp;quot;; dbuser = &amp;quot;bacula&amp;quot;; dbpassword = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Messages {&lt;br /&gt;
  Name = Daemon&lt;br /&gt;
  mailcommand = &amp;quot;/usr/lib/bacula/bsmtp -h mail.linux-user.eu -f \&amp;quot;\(Bacula\) \&amp;lt;%r\&amp;gt;\&amp;quot; -s \&amp;quot;Bacula: %t %e of %c %l\&amp;quot; %r&amp;quot;&lt;br /&gt;
  operatorcommand = &amp;quot;/usr/lib/bacula/bsmtp -h mail.linux-user.eu -f \&amp;quot;\(Bacula\) \&amp;lt;%r\&amp;gt;\&amp;quot; -s \&amp;quot;Bacula: Intervention needed for %j\&amp;quot; %r&amp;quot;&lt;br /&gt;
  mail =  slawek@linux-user.eu = all, !skipped            &lt;br /&gt;
  operator =  slawek@linux-user.eu = mount&lt;br /&gt;
  console = all, !skipped, !saved&lt;br /&gt;
  append = &amp;quot;/var/lib/bacula/log&amp;quot; = all, !skipped&lt;br /&gt;
  catalog = all&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
  Name = serwer&lt;br /&gt;
  Pool Type = Backup&lt;br /&gt;
  Recycle = yes&lt;br /&gt;
  AutoPrune = yes&lt;br /&gt;
  LabelFormat = &amp;quot;serwer&amp;quot;&lt;br /&gt;
  Maximum Volume Bytes = 3000M&lt;br /&gt;
  Volume Retention = 365 days&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
  Name = slawek&lt;br /&gt;
  Pool Type = Backup&lt;br /&gt;
  Recycle = yes                       # Bacula can automatically recycle Volumes&lt;br /&gt;
  AutoPrune = yes                     # Prune expired volumes&lt;br /&gt;
  LabelFormat = &amp;quot;slawek&amp;quot;&lt;br /&gt;
  Maximum Volume Bytes = 900M&lt;br /&gt;
  Volume Retention = 365 days         # one year&lt;br /&gt;
  #Accept Any Volume = yes&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
  Name = File&lt;br /&gt;
  Pool Type = Backup&lt;br /&gt;
  Recycle = yes                       # Bacula can automatically recycle Volumes&lt;br /&gt;
  AutoPrune = yes                     # Prune expired volumes&lt;br /&gt;
  Volume Retention = 365 days         # one year&lt;br /&gt;
  Maximum Volume Bytes = 50G          # Limit Volume size to something reasonable&lt;br /&gt;
  Maximum Volumes = 100               # Limit number of Volumes in Pool&lt;br /&gt;
 }&lt;br /&gt;
 Pool {&lt;br /&gt;
  Name = Scratch&lt;br /&gt;
  Pool Type = Backup&lt;br /&gt;
 }&lt;br /&gt;
 Console {&lt;br /&gt;
  Name = backup-serwer-dir&lt;br /&gt;
  Password = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
  CommandACL = status, .status&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Konfiguracja File Daemona w pliku '''bacula-fd.conf'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Director {&lt;br /&gt;
 Name = backup-serwer-dir&lt;br /&gt;
 Password = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
 Name = backup-serwer-mon&lt;br /&gt;
 Password = &amp;quot;haslo123&amp;quot;&lt;br /&gt;
 Monitor = yes&lt;br /&gt;
 }&lt;br /&gt;
 FileDaemon {&lt;br /&gt;
 Name = backup-serwer-fd&lt;br /&gt;
 FDport = 9102&lt;br /&gt;
 WorkingDirectory = /var/lib/bacula&lt;br /&gt;
 Pid Directory = /var/run/bacula&lt;br /&gt;
 Maximum Concurrent Jobs = 20&lt;br /&gt;
 FDAddress = 127.0.0.1&lt;br /&gt;
 }&lt;br /&gt;
 Messages {&lt;br /&gt;
 Name = Standard&lt;br /&gt;
 director = backup-serwer-dir = all, !skipped, !restored&lt;br /&gt;
 } &lt;br /&gt;
Konfiguracja Storage Daemona '''bacula-sd.conf'''&lt;br /&gt;
&lt;br /&gt;
 Storage {                           &lt;br /&gt;
  Name = backup-serwer-sd   # Name – nazwa demona magazynowania. &lt;br /&gt;
 Nie jest ona powiązana z żadną inną konfiguracją usług&lt;br /&gt;
  SDPort = 9103                  # Director's port      &lt;br /&gt;
  WorkingDirectory = &amp;quot;/var/lib/bacula&amp;quot;   #Working Directory – katalog w którym serwis &lt;br /&gt;
 będzie przechowywał pliki swoich statusów. Dobrą praktyką jest zdefiniować taki katalog, &lt;br /&gt;
 który przeznaczony będzie tylko do tego celu.&lt;br /&gt;
  Pid Directory = &amp;quot;/var/run/bacula&amp;quot;  #PID Directory – lokalizacja, w której demon &lt;br /&gt;
 magazynowania będzie zapisywał plik z identyfikatorem procesu, jaki otrzymał &lt;br /&gt;
 demon przy starcie&lt;br /&gt;
  Maximum Concurrent Jobs = 2&lt;br /&gt;
  SDAddress = 192.168.0.10   #SD Address – dyrektywa definiuje adres IP interfejsu, &lt;br /&gt;
 na którym będzie nasłuchiwał demon.&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
  Name = backup-serwer-dir   # Name – nazwa zarządcy uprawnionego do używania &lt;br /&gt;
 demona magazynowania. Nazwa zarządcy określanego w tej dyrektywie musi odpowiadać &lt;br /&gt;
 nazwie zarządcy zdefiniowanej w innych plikach konfiguracyjnych.&lt;br /&gt;
  Password = &amp;quot;s7s8,.zq&amp;quot;   # Password – hasło, którym zarządca będzie autoryzował się do &lt;br /&gt;
 demona magazynowania. Podane tu hasło definiowane jest również w pliku konfiguracyjnym zarządcy.&lt;br /&gt;
 }&lt;br /&gt;
 Director {&lt;br /&gt;
  Name = backup-serwer-mon&lt;br /&gt;
  Password = &amp;quot;s7s8,.zq&amp;quot;&lt;br /&gt;
  Monitor = yes&lt;br /&gt;
 }&lt;br /&gt;
 Device {&lt;br /&gt;
  Name = &amp;quot;serwer&amp;quot; # Name – nazwa urządzenia. Ta sama nazwa jest definiowana również w &lt;br /&gt;
 pliku konfiguracyjnym zarządcy&lt;br /&gt;
  Media Type = File #typ woluminu. Określa jakiego typu nośniki obsługuje dane urządzenie.&lt;br /&gt;
  Archive Device = /home/bacula/backup/serwer  # Archive Device – lokalizacja urządzenia. &lt;br /&gt;
 Jeśli urządzeniem jest dysk, to podawany jest tutaj punkt jego montowania&lt;br /&gt;
  Device Type = File # Device Type – określa typ urządzenia. Możliwe typy urządzeń to: File – &lt;br /&gt;
 dla dysków, Tape – dla urządzeń taśmowych, Fifo – dla kolejek FIFO, DVD – dla napędów DVD-ROM&lt;br /&gt;
  LabelMedia = yes;&lt;br /&gt;
  AutomaticMount = yes;&lt;br /&gt;
  RemovableMedia = no;     #mówi o tym, czy urządzenie obsługuje wymienne nośniki. Dla urządzeń &lt;br /&gt;
 taśmowych, napędów DVD jak i wyjmowalnych dysków (np. dyski zewnętrzne lub pendrive) dyrektywa &lt;br /&gt;
 powinna być ustawiona na &amp;quot;yes&amp;quot;. Dla stałych dysków dyrektywa powinna być ustawiona na &amp;quot;no&amp;quot;&lt;br /&gt;
  AlwaysOpen = no;&lt;br /&gt;
 }&lt;br /&gt;
 Device {&lt;br /&gt;
  Name = &amp;quot;slawek&amp;quot;&lt;br /&gt;
  Media Type = File&lt;br /&gt;
  Archive Device = /home/bacula/backup/slawek&lt;br /&gt;
  LabelMedia = yes;&lt;br /&gt;
  AutomaticMount = yes;&lt;br /&gt;
  RemovableMedia = no;&lt;br /&gt;
  AlwaysOpen = no;&lt;br /&gt;
 }&lt;br /&gt;
 Messages {&lt;br /&gt;
  Name = Standard   #nazwa zasobu. Używana jest na wewnętrzne potrzeby demona i nie zostaje &lt;br /&gt;
 przekazana nigdzie na zewnątrz&lt;br /&gt;
  director = backup-serwer-dir = all   # Określa się tu dwie wartości: nazwę zarządcy do którego &lt;br /&gt;
 dyrektywa się tyczy oraz poziom logowania. Wartość 'all' oznacza, że raportowane będą wszystkie &lt;br /&gt;
 zmiany i statusy podczas pracy demona magazynowania.&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
Uwaga hasło &amp;quot;''haslo123''&amp;quot;  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.&lt;br /&gt;
 &lt;br /&gt;
Więcej informacji znajdziesz na polskiej stronie na temat oprogramowania bacula [http://www.bacula.pl www.bacula.pl].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;google1 style=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/google1&amp;gt;&lt;/div&gt;</summary>
		<author><name>Slawek</name></author>	</entry>

	<entry>
		<id>http://wiki.linux-user.eu/index.php/NTP</id>
		<title>NTP</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux-user.eu/index.php/NTP"/>
				<updated>2012-09-16T12:23:35Z</updated>
		
		<summary type="html">&lt;p&gt;Slawek: /* Konfiguracja klienta NTP */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Serwer]]&lt;br /&gt;
== NTP ==&lt;br /&gt;
&lt;br /&gt;
'''NTP''' (''Network Time Protocol'') - jest to protokół za pomocą, którego możemy synchronizować czas systemowy. Utrzymywanie odpowiedniego czasu jest o tyle ważne w serwerach, gdyż wiele usług przeprowadza pewne działania wraz z wyznaczonym czasem np cron czy at. Serwer czasu jest o tyle pomocnym narzędziem w sieci, gdyż pozwala za jednym zamachem ustawić czas na wielu systemach np w sieci lokalnej. '''NTP''' można wykorzystywać w 4 warstwach (tzw poziomy zaufania). W pierwszej z nich mamy do czynienia z serwerami, które mają bezpośredni dostęp do zegarów atomowych, warstwę drugą tworzą komputery mające dostęp do poprzednich z warstwy pierwszej. Warstwe trzecią tworzą komputery, które powinny przydzielać czas w sieciach lokalnych, tworząc przy tym warstwę czwartą.&lt;br /&gt;
&lt;br /&gt;
Usługa '''NTP''' działa na porcie '''123''' protokołu [[UDP]].&lt;br /&gt;
&lt;br /&gt;
Polskie serwery czasu to:&lt;br /&gt;
 server 0.pl.pool.ntp.org&lt;br /&gt;
 server 1.pl.pool.ntp.org&lt;br /&gt;
 server 2.pl.pool.ntp.org&lt;br /&gt;
 server 3.pl.pool.ntp.org&lt;br /&gt;
&lt;br /&gt;
Jeżeli chcesz aby czas Twojego systemu synchronizował się z wybranym serwerem czasu musisz podjąć następujące kroki: Konfiguracja klienta&lt;br /&gt;
&lt;br /&gt;
=== Instalacja pakietu NTP ===&lt;br /&gt;
&lt;br /&gt;
 yum install ntp&lt;br /&gt;
&lt;br /&gt;
Konfiguracja pliku ''/etc/ntp.conf'', dodajemy odpowiednio zmienione do własnych potrzeb linijki&lt;br /&gt;
&lt;br /&gt;
 restrict mask 255.255.255.255 nomodify notrap noquery&lt;br /&gt;
 server &lt;br /&gt;
&lt;br /&gt;
Włączanie '''ntp''' przy uruchamianiu komputera, ustawianie odpowiedniego serwera z którego będzie czerpany czas, wystartowanie usługi '''ntp'''&lt;br /&gt;
&lt;br /&gt;
 chkconfig --levels 235 ntpd on&lt;br /&gt;
 ntpdate 0.pool.ntp.org&lt;br /&gt;
 /etc/init.d/ntpd start&lt;br /&gt;
&lt;br /&gt;
== Inne metody ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Do ustawień czasu możemy urzyć również narządzia graficznego '''system-config-date'''. Jeżeli nie mamy zainstalowanego pakietu to wydajemy następujące polecenie&lt;br /&gt;
&lt;br /&gt;
 yum install system-config-date&lt;br /&gt;
&lt;br /&gt;
następnie wydajemy polecenie&lt;br /&gt;
&lt;br /&gt;
 system-config-date&lt;br /&gt;
&lt;br /&gt;
i powinniśmy się cieszyć graficznym interfejsem do ustawienia czasu w naszym systemie w tym również możemy zdefiniować serwery ntp. &lt;br /&gt;
&lt;br /&gt;
== Konfiguracja serwera NTP ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Jako że sam serwer musi również pobierać datę z innego serwera czasu na początku musisz skonfigurować swój system jako klienta (patrz wyżej). Oczywiście paczka '''NTP''' również jest wymagana. Jeżeli masz już to zrobione możesz przystąpić do konfiguracji własnego serwera czasu. Serwer musi być tak skonfigurowany aby umożliwić dostęp na porcie 123 klientom czy to za sprawą adresu IP czy nazwy hosta (nie ma różnicy). Serwer może być skonfigurowany również jako tzw multicast mode, tak aby była możliwość znalezienia adresu serwera przez stacje klienckie. Domyślne ustawienia pliku ''/etc/ntp.conf'' powinny zawierać następującą linijkę&lt;br /&gt;
 restrict default nomodify notrap noquery&lt;br /&gt;
&lt;br /&gt;
Te opcje ustawiają domyślne restrykcje co do wszystkich połączeń. Domyślne ustawienia powinny zostać dostosowane do polityki bezpieczeństwa danej sieci. Opcje '''nomodify''', '''notrap''' oraz '''noquery''' access mowią nam że, serwer nie może być modyfikowany, kontrolne wiadomości są zablokowane, wszystkie pytania o synchronizację są również zablokowane. Jeżeli sprecyzowana jest sieć oraz pominięta została opcja noquery, serwer będzie akceptować połączenia z ustawionej sieci np:&lt;br /&gt;
&lt;br /&gt;
 restrict ntp.nask.pl mask 255.255.255.255 nomodify notrap&lt;br /&gt;
 server ntp.nask.pl&lt;br /&gt;
&lt;br /&gt;
Jeżeli chcesz skonfigurować swój '''serwer NTP''', aby działał w trybie multicast (''multicast mode''), tak aby klienci mogli pobierać czas sieciowy bez wiedzy na temat adresu ip ani nazwy hosta danego serwera czasu, musisz dodać następującą opcję w pliku ''/etc/ntpd.conf'':&lt;br /&gt;
&lt;br /&gt;
 broadcast 224.0.1.1 ttl 4&lt;br /&gt;
&lt;br /&gt;
Po konfiguracji serwera aby zmiany zaczzeły być widoczne musisz zrestartować serwer&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/ntpd restart&lt;br /&gt;
&lt;br /&gt;
lub&lt;br /&gt;
&lt;br /&gt;
 service ntpd restart&lt;br /&gt;
&lt;br /&gt;
Aby włączyć wyłączyć usługę&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/ntpd start/stop&lt;br /&gt;
&lt;br /&gt;
lub&lt;br /&gt;
&lt;br /&gt;
 service ntpd start/stop&lt;br /&gt;
&lt;br /&gt;
== Konfiguracja klienta NTP ==&lt;br /&gt;
Jeśli nie mamy zainstalowanego ntp'a to oczywiście&lt;br /&gt;
 yum install ntp     &lt;br /&gt;
jeśli mamy ustawioną złą strefę czasową to możemy ją zienić za pomocą poniższego działania &lt;br /&gt;
 rm /etc/localtime&lt;br /&gt;
 ln -s /usr/share/zoneinfo/Poland /etc/localtime&lt;br /&gt;
następnie  edytujemy plik ''/etc/ntp.conf''&lt;br /&gt;
 serestrict default ignore&lt;br /&gt;
 restrict ntp.nask.pl mask 255.255.255.255 nomodify notrap noquery&lt;br /&gt;
 restrict ntp.task.gda.pl mask 255.255.255.255 nomodify notrap noquery&lt;br /&gt;
 restrict vega.cbk.poznan.pl mask 255.255.255.255 nomodify notrap noquery&lt;br /&gt;
 server ntp.nask.pl&lt;br /&gt;
 server ntp.task.gda.pl&lt;br /&gt;
 server vega.cbk.poznan.pl&lt;br /&gt;
żeby data się zsynchronizowała musimy trochę poczekać około 3 -5 minut&lt;br /&gt;
aby zobaczyć jakie serwery czasu się ustawiły możemy wydać polecenie &lt;br /&gt;
 ntpq -p&lt;br /&gt;
powinniśmy zobaczyć coś w stylu&lt;br /&gt;
 # ntpq -p&lt;br /&gt;
      remote           refid      st t when poll reach   delay   offset  jitter&lt;br /&gt;
 ==============================================================================&lt;br /&gt;
  goblin.nask.net 194.29.130.252   2 u   63   64    7   25.801  -295059   2.032&lt;br /&gt;
  ntp.task.gda.pl .INIT.          16 u    -   64    0    0.000    0.000   0.000&lt;br /&gt;
  vega.cbk.poznan 213.222.193.35   2 u   59   64    7    9.765  -295059   0.549&lt;br /&gt;
&lt;br /&gt;
na koniec pamiętajmy aby uruchamiać usługę ntp za każdym razem gdy włączamy nasz komputer&lt;br /&gt;
 service ntpd start&lt;br /&gt;
oraz&lt;br /&gt;
 chkconfig ntpd on&lt;br /&gt;
&lt;br /&gt;
== Logi ==&lt;br /&gt;
&lt;br /&gt;
Logi usługi '''NTP''' odkładane są w pliku ''/var/log/messages''&lt;br /&gt;
&lt;br /&gt;
Przydatne polecenia &lt;br /&gt;
&lt;br /&gt;
*'''ntpd''' demon ntpd&lt;br /&gt;
*'''ntpq''' standardowy program do zapytań ntp&lt;br /&gt;
*'''ntpdc''' inny program do zapytań ntp&lt;br /&gt;
*'''ntpdate''' polecenie do ustawienia daty i czasu poprzez protokół ntp&lt;br /&gt;
*'''ntptrace''' śledzenie trasy serwerów ntp aż do źródła&lt;br /&gt;
*'''tickadj''' ustawienia zmiennych jądra związanych z czasem&lt;br /&gt;
*'''ntptime''' odczyt zmiennych kernela związanych z czasem&lt;br /&gt;
*'''ntp-genkeys''' program do generowania kluczy publicznych i prywatnych dla ntp&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;google1 style=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/google1&amp;gt;&lt;/div&gt;</summary>
		<author><name>Slawek</name></author>	</entry>

	<entry>
		<id>http://wiki.linux-user.eu/index.php/NTP</id>
		<title>NTP</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux-user.eu/index.php/NTP"/>
				<updated>2012-09-16T12:23:00Z</updated>
		
		<summary type="html">&lt;p&gt;Slawek: /* Konfiguracja klienta NTP */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Serwer]]&lt;br /&gt;
== NTP ==&lt;br /&gt;
&lt;br /&gt;
'''NTP''' (''Network Time Protocol'') - jest to protokół za pomocą, którego możemy synchronizować czas systemowy. Utrzymywanie odpowiedniego czasu jest o tyle ważne w serwerach, gdyż wiele usług przeprowadza pewne działania wraz z wyznaczonym czasem np cron czy at. Serwer czasu jest o tyle pomocnym narzędziem w sieci, gdyż pozwala za jednym zamachem ustawić czas na wielu systemach np w sieci lokalnej. '''NTP''' można wykorzystywać w 4 warstwach (tzw poziomy zaufania). W pierwszej z nich mamy do czynienia z serwerami, które mają bezpośredni dostęp do zegarów atomowych, warstwę drugą tworzą komputery mające dostęp do poprzednich z warstwy pierwszej. Warstwe trzecią tworzą komputery, które powinny przydzielać czas w sieciach lokalnych, tworząc przy tym warstwę czwartą.&lt;br /&gt;
&lt;br /&gt;
Usługa '''NTP''' działa na porcie '''123''' protokołu [[UDP]].&lt;br /&gt;
&lt;br /&gt;
Polskie serwery czasu to:&lt;br /&gt;
 server 0.pl.pool.ntp.org&lt;br /&gt;
 server 1.pl.pool.ntp.org&lt;br /&gt;
 server 2.pl.pool.ntp.org&lt;br /&gt;
 server 3.pl.pool.ntp.org&lt;br /&gt;
&lt;br /&gt;
Jeżeli chcesz aby czas Twojego systemu synchronizował się z wybranym serwerem czasu musisz podjąć następujące kroki: Konfiguracja klienta&lt;br /&gt;
&lt;br /&gt;
=== Instalacja pakietu NTP ===&lt;br /&gt;
&lt;br /&gt;
 yum install ntp&lt;br /&gt;
&lt;br /&gt;
Konfiguracja pliku ''/etc/ntp.conf'', dodajemy odpowiednio zmienione do własnych potrzeb linijki&lt;br /&gt;
&lt;br /&gt;
 restrict mask 255.255.255.255 nomodify notrap noquery&lt;br /&gt;
 server &lt;br /&gt;
&lt;br /&gt;
Włączanie '''ntp''' przy uruchamianiu komputera, ustawianie odpowiedniego serwera z którego będzie czerpany czas, wystartowanie usługi '''ntp'''&lt;br /&gt;
&lt;br /&gt;
 chkconfig --levels 235 ntpd on&lt;br /&gt;
 ntpdate 0.pool.ntp.org&lt;br /&gt;
 /etc/init.d/ntpd start&lt;br /&gt;
&lt;br /&gt;
== Inne metody ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Do ustawień czasu możemy urzyć również narządzia graficznego '''system-config-date'''. Jeżeli nie mamy zainstalowanego pakietu to wydajemy następujące polecenie&lt;br /&gt;
&lt;br /&gt;
 yum install system-config-date&lt;br /&gt;
&lt;br /&gt;
następnie wydajemy polecenie&lt;br /&gt;
&lt;br /&gt;
 system-config-date&lt;br /&gt;
&lt;br /&gt;
i powinniśmy się cieszyć graficznym interfejsem do ustawienia czasu w naszym systemie w tym również możemy zdefiniować serwery ntp. &lt;br /&gt;
&lt;br /&gt;
== Konfiguracja serwera NTP ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Jako że sam serwer musi również pobierać datę z innego serwera czasu na początku musisz skonfigurować swój system jako klienta (patrz wyżej). Oczywiście paczka '''NTP''' również jest wymagana. Jeżeli masz już to zrobione możesz przystąpić do konfiguracji własnego serwera czasu. Serwer musi być tak skonfigurowany aby umożliwić dostęp na porcie 123 klientom czy to za sprawą adresu IP czy nazwy hosta (nie ma różnicy). Serwer może być skonfigurowany również jako tzw multicast mode, tak aby była możliwość znalezienia adresu serwera przez stacje klienckie. Domyślne ustawienia pliku ''/etc/ntp.conf'' powinny zawierać następującą linijkę&lt;br /&gt;
 restrict default nomodify notrap noquery&lt;br /&gt;
&lt;br /&gt;
Te opcje ustawiają domyślne restrykcje co do wszystkich połączeń. Domyślne ustawienia powinny zostać dostosowane do polityki bezpieczeństwa danej sieci. Opcje '''nomodify''', '''notrap''' oraz '''noquery''' access mowią nam że, serwer nie może być modyfikowany, kontrolne wiadomości są zablokowane, wszystkie pytania o synchronizację są również zablokowane. Jeżeli sprecyzowana jest sieć oraz pominięta została opcja noquery, serwer będzie akceptować połączenia z ustawionej sieci np:&lt;br /&gt;
&lt;br /&gt;
 restrict ntp.nask.pl mask 255.255.255.255 nomodify notrap&lt;br /&gt;
 server ntp.nask.pl&lt;br /&gt;
&lt;br /&gt;
Jeżeli chcesz skonfigurować swój '''serwer NTP''', aby działał w trybie multicast (''multicast mode''), tak aby klienci mogli pobierać czas sieciowy bez wiedzy na temat adresu ip ani nazwy hosta danego serwera czasu, musisz dodać następującą opcję w pliku ''/etc/ntpd.conf'':&lt;br /&gt;
&lt;br /&gt;
 broadcast 224.0.1.1 ttl 4&lt;br /&gt;
&lt;br /&gt;
Po konfiguracji serwera aby zmiany zaczzeły być widoczne musisz zrestartować serwer&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/ntpd restart&lt;br /&gt;
&lt;br /&gt;
lub&lt;br /&gt;
&lt;br /&gt;
 service ntpd restart&lt;br /&gt;
&lt;br /&gt;
Aby włączyć wyłączyć usługę&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/ntpd start/stop&lt;br /&gt;
&lt;br /&gt;
lub&lt;br /&gt;
&lt;br /&gt;
 service ntpd start/stop&lt;br /&gt;
&lt;br /&gt;
== Konfiguracja klienta NTP ==&lt;br /&gt;
Jeśli nie mamy zainstalowanego ntp'a to oczywiście&lt;br /&gt;
 yum install ntp     &lt;br /&gt;
jeśli mamy ustawioną złą strefę czasową to możemy ją zienić za pomocą poniższego działania &lt;br /&gt;
 rm /etc/localtime&lt;br /&gt;
 ln -s /usr/share/zoneinfo/Poland /etc/localtime&lt;br /&gt;
następnie  edytujemy plik ''/etc/ntp.conf''&lt;br /&gt;
 serestrict default ignore&lt;br /&gt;
 restrict ntp.nask.pl mask 255.255.255.255 nomodify notrap noquery&lt;br /&gt;
 restrict ntp.task.gda.pl mask 255.255.255.255 nomodify notrap noquery&lt;br /&gt;
 restrict vega.cbk.poznan.pl mask 255.255.255.255 nomodify notrap noquery&lt;br /&gt;
 server ntp.nask.pl&lt;br /&gt;
 server ntp.task.gda.pl&lt;br /&gt;
 server vega.cbk.poznan.pl&lt;br /&gt;
żeby data się zsynchronizowała musimy trochę poczekać około 3 -5 minut&lt;br /&gt;
aby zobaczyć jakie serwery czasu się ustawiły możemy wydać polecenie &lt;br /&gt;
 ntpq -p&lt;br /&gt;
powinniśmy zobaczyć coś w stylu&lt;br /&gt;
 # ntpq -p&lt;br /&gt;
      remote           refid      st t when poll reach   delay   offset  jitter&lt;br /&gt;
 ==============================================================================&lt;br /&gt;
  goblin.nask.net 194.29.130.252   2 u   63   64    7   25.801  -295059   2.032&lt;br /&gt;
  ntp.task.gda.pl .INIT.          16 u    -   64    0    0.000    0.000   0.000&lt;br /&gt;
  vega.cbk.poznan 213.222.193.35   2 u   59   64    7    9.765  -295059   0.549&lt;br /&gt;
 [root@ogrody ~]# date&lt;br /&gt;
 Sun Sep 16 14:09:07 CEST 2012&lt;br /&gt;
&lt;br /&gt;
na koniec pamiętajmy aby uruchamiać usługę ntp za każdym razem gdy włączamy nasz komputer&lt;br /&gt;
 service ntpd start&lt;br /&gt;
 chkconfig ntpd on&lt;br /&gt;
&lt;br /&gt;
== Logi ==&lt;br /&gt;
&lt;br /&gt;
Logi usługi '''NTP''' odkładane są w pliku ''/var/log/messages''&lt;br /&gt;
&lt;br /&gt;
Przydatne polecenia &lt;br /&gt;
&lt;br /&gt;
*'''ntpd''' demon ntpd&lt;br /&gt;
*'''ntpq''' standardowy program do zapytań ntp&lt;br /&gt;
*'''ntpdc''' inny program do zapytań ntp&lt;br /&gt;
*'''ntpdate''' polecenie do ustawienia daty i czasu poprzez protokół ntp&lt;br /&gt;
*'''ntptrace''' śledzenie trasy serwerów ntp aż do źródła&lt;br /&gt;
*'''tickadj''' ustawienia zmiennych jądra związanych z czasem&lt;br /&gt;
*'''ntptime''' odczyt zmiennych kernela związanych z czasem&lt;br /&gt;
*'''ntp-genkeys''' program do generowania kluczy publicznych i prywatnych dla ntp&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;google1 style=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/google1&amp;gt;&lt;/div&gt;</summary>
		<author><name>Slawek</name></author>	</entry>

	<entry>
		<id>http://wiki.linux-user.eu/index.php/NTP</id>
		<title>NTP</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux-user.eu/index.php/NTP"/>
				<updated>2012-09-16T12:22:13Z</updated>
		
		<summary type="html">&lt;p&gt;Slawek: konfiguracja klienta NTP&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Serwer]]&lt;br /&gt;
== NTP ==&lt;br /&gt;
&lt;br /&gt;
'''NTP''' (''Network Time Protocol'') - jest to protokół za pomocą, którego możemy synchronizować czas systemowy. Utrzymywanie odpowiedniego czasu jest o tyle ważne w serwerach, gdyż wiele usług przeprowadza pewne działania wraz z wyznaczonym czasem np cron czy at. Serwer czasu jest o tyle pomocnym narzędziem w sieci, gdyż pozwala za jednym zamachem ustawić czas na wielu systemach np w sieci lokalnej. '''NTP''' można wykorzystywać w 4 warstwach (tzw poziomy zaufania). W pierwszej z nich mamy do czynienia z serwerami, które mają bezpośredni dostęp do zegarów atomowych, warstwę drugą tworzą komputery mające dostęp do poprzednich z warstwy pierwszej. Warstwe trzecią tworzą komputery, które powinny przydzielać czas w sieciach lokalnych, tworząc przy tym warstwę czwartą.&lt;br /&gt;
&lt;br /&gt;
Usługa '''NTP''' działa na porcie '''123''' protokołu [[UDP]].&lt;br /&gt;
&lt;br /&gt;
Polskie serwery czasu to:&lt;br /&gt;
 server 0.pl.pool.ntp.org&lt;br /&gt;
 server 1.pl.pool.ntp.org&lt;br /&gt;
 server 2.pl.pool.ntp.org&lt;br /&gt;
 server 3.pl.pool.ntp.org&lt;br /&gt;
&lt;br /&gt;
Jeżeli chcesz aby czas Twojego systemu synchronizował się z wybranym serwerem czasu musisz podjąć następujące kroki: Konfiguracja klienta&lt;br /&gt;
&lt;br /&gt;
=== Instalacja pakietu NTP ===&lt;br /&gt;
&lt;br /&gt;
 yum install ntp&lt;br /&gt;
&lt;br /&gt;
Konfiguracja pliku ''/etc/ntp.conf'', dodajemy odpowiednio zmienione do własnych potrzeb linijki&lt;br /&gt;
&lt;br /&gt;
 restrict mask 255.255.255.255 nomodify notrap noquery&lt;br /&gt;
 server &lt;br /&gt;
&lt;br /&gt;
Włączanie '''ntp''' przy uruchamianiu komputera, ustawianie odpowiedniego serwera z którego będzie czerpany czas, wystartowanie usługi '''ntp'''&lt;br /&gt;
&lt;br /&gt;
 chkconfig --levels 235 ntpd on&lt;br /&gt;
 ntpdate 0.pool.ntp.org&lt;br /&gt;
 /etc/init.d/ntpd start&lt;br /&gt;
&lt;br /&gt;
== Inne metody ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Do ustawień czasu możemy urzyć również narządzia graficznego '''system-config-date'''. Jeżeli nie mamy zainstalowanego pakietu to wydajemy następujące polecenie&lt;br /&gt;
&lt;br /&gt;
 yum install system-config-date&lt;br /&gt;
&lt;br /&gt;
następnie wydajemy polecenie&lt;br /&gt;
&lt;br /&gt;
 system-config-date&lt;br /&gt;
&lt;br /&gt;
i powinniśmy się cieszyć graficznym interfejsem do ustawienia czasu w naszym systemie w tym również możemy zdefiniować serwery ntp. &lt;br /&gt;
&lt;br /&gt;
== Konfiguracja serwera NTP ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Jako że sam serwer musi również pobierać datę z innego serwera czasu na początku musisz skonfigurować swój system jako klienta (patrz wyżej). Oczywiście paczka '''NTP''' również jest wymagana. Jeżeli masz już to zrobione możesz przystąpić do konfiguracji własnego serwera czasu. Serwer musi być tak skonfigurowany aby umożliwić dostęp na porcie 123 klientom czy to za sprawą adresu IP czy nazwy hosta (nie ma różnicy). Serwer może być skonfigurowany również jako tzw multicast mode, tak aby była możliwość znalezienia adresu serwera przez stacje klienckie. Domyślne ustawienia pliku ''/etc/ntp.conf'' powinny zawierać następującą linijkę&lt;br /&gt;
 restrict default nomodify notrap noquery&lt;br /&gt;
&lt;br /&gt;
Te opcje ustawiają domyślne restrykcje co do wszystkich połączeń. Domyślne ustawienia powinny zostać dostosowane do polityki bezpieczeństwa danej sieci. Opcje '''nomodify''', '''notrap''' oraz '''noquery''' access mowią nam że, serwer nie może być modyfikowany, kontrolne wiadomości są zablokowane, wszystkie pytania o synchronizację są również zablokowane. Jeżeli sprecyzowana jest sieć oraz pominięta została opcja noquery, serwer będzie akceptować połączenia z ustawionej sieci np:&lt;br /&gt;
&lt;br /&gt;
 restrict ntp.nask.pl mask 255.255.255.255 nomodify notrap&lt;br /&gt;
 server ntp.nask.pl&lt;br /&gt;
&lt;br /&gt;
Jeżeli chcesz skonfigurować swój '''serwer NTP''', aby działał w trybie multicast (''multicast mode''), tak aby klienci mogli pobierać czas sieciowy bez wiedzy na temat adresu ip ani nazwy hosta danego serwera czasu, musisz dodać następującą opcję w pliku ''/etc/ntpd.conf'':&lt;br /&gt;
&lt;br /&gt;
 broadcast 224.0.1.1 ttl 4&lt;br /&gt;
&lt;br /&gt;
Po konfiguracji serwera aby zmiany zaczzeły być widoczne musisz zrestartować serwer&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/ntpd restart&lt;br /&gt;
&lt;br /&gt;
lub&lt;br /&gt;
&lt;br /&gt;
 service ntpd restart&lt;br /&gt;
&lt;br /&gt;
Aby włączyć wyłączyć usługę&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/ntpd start/stop&lt;br /&gt;
&lt;br /&gt;
lub&lt;br /&gt;
&lt;br /&gt;
 service ntpd start/stop&lt;br /&gt;
&lt;br /&gt;
== Konfiguracja klienta NTP ==&lt;br /&gt;
Jeśli nie mamy zainstalowanego ntp'a to oczywiście&lt;br /&gt;
 yum install ntp     &lt;br /&gt;
jeśli mamy ustawioną złą strefę czasową to możemy ją zienić za pomocą poniższego działania &lt;br /&gt;
 rm /etc/localtime&lt;br /&gt;
 ln -s /usr/share/zoneinfo/Poland /etc/localtime&lt;br /&gt;
następnie  edytujemy plik /etc/ntp.conf&lt;br /&gt;
 vim /etc/ntp.conf&lt;br /&gt;
 serestrict default ignore&lt;br /&gt;
 restrict ntp.nask.pl mask 255.255.255.255 nomodify notrap noquery&lt;br /&gt;
 restrict ntp.task.gda.pl mask 255.255.255.255 nomodify notrap noquery&lt;br /&gt;
 restrict vega.cbk.poznan.pl mask 255.255.255.255 nomodify notrap noquery&lt;br /&gt;
 server ntp.nask.pl&lt;br /&gt;
 server ntp.task.gda.pl&lt;br /&gt;
 server vega.cbk.poznan.pl&lt;br /&gt;
żeby data się zsynchronizowała musimy trochę poczekać około 3 -5 minut&lt;br /&gt;
aby zobaczyć jakie serwery czasu się ustawiły możemy wydać polecenie &lt;br /&gt;
 ntpq -p&lt;br /&gt;
powinniśmy zobaczyć coś w stylu&lt;br /&gt;
 # ntpq -p&lt;br /&gt;
      remote           refid      st t when poll reach   delay   offset  jitter&lt;br /&gt;
 ==============================================================================&lt;br /&gt;
  goblin.nask.net 194.29.130.252   2 u   63   64    7   25.801  -295059   2.032&lt;br /&gt;
  ntp.task.gda.pl .INIT.          16 u    -   64    0    0.000    0.000   0.000&lt;br /&gt;
  vega.cbk.poznan 213.222.193.35   2 u   59   64    7    9.765  -295059   0.549&lt;br /&gt;
 [root@ogrody ~]# date&lt;br /&gt;
 Sun Sep 16 14:09:07 CEST 2012&lt;br /&gt;
&lt;br /&gt;
na koniec pamiętajmy aby uruchamiać usługę ntp za każdym razem gdy włączamy nasz komputer&lt;br /&gt;
 service ntpd start&lt;br /&gt;
 chkconfig ntpd on&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Logi ==&lt;br /&gt;
&lt;br /&gt;
Logi usługi '''NTP''' odkładane są w pliku ''/var/log/messages''&lt;br /&gt;
&lt;br /&gt;
Przydatne polecenia &lt;br /&gt;
&lt;br /&gt;
*'''ntpd''' demon ntpd&lt;br /&gt;
*'''ntpq''' standardowy program do zapytań ntp&lt;br /&gt;
*'''ntpdc''' inny program do zapytań ntp&lt;br /&gt;
*'''ntpdate''' polecenie do ustawienia daty i czasu poprzez protokół ntp&lt;br /&gt;
*'''ntptrace''' śledzenie trasy serwerów ntp aż do źródła&lt;br /&gt;
*'''tickadj''' ustawienia zmiennych jądra związanych z czasem&lt;br /&gt;
*'''ntptime''' odczyt zmiennych kernela związanych z czasem&lt;br /&gt;
*'''ntp-genkeys''' program do generowania kluczy publicznych i prywatnych dla ntp&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;google1 style=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/google1&amp;gt;&lt;/div&gt;</summary>
		<author><name>Slawek</name></author>	</entry>

	<entry>
		<id>http://wiki.linux-user.eu/index.php/NTP</id>
		<title>NTP</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux-user.eu/index.php/NTP"/>
				<updated>2012-09-16T12:15:09Z</updated>
		
		<summary type="html">&lt;p&gt;Slawek: /* Konfiguracja serwera NTP */  dopisanie dodatkowej konfiguracji&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Serwer]]&lt;br /&gt;
== NTP ==&lt;br /&gt;
&lt;br /&gt;
'''NTP''' (''Network Time Protocol'') - jest to protokół za pomocą, którego możemy synchronizować czas systemowy. Utrzymywanie odpowiedniego czasu jest o tyle ważne w serwerach, gdyż wiele usług przeprowadza pewne działania wraz z wyznaczonym czasem np cron czy at. Serwer czasu jest o tyle pomocnym narzędziem w sieci, gdyż pozwala za jednym zamachem ustawić czas na wielu systemach np w sieci lokalnej. '''NTP''' można wykorzystywać w 4 warstwach (tzw poziomy zaufania). W pierwszej z nich mamy do czynienia z serwerami, które mają bezpośredni dostęp do zegarów atomowych, warstwę drugą tworzą komputery mające dostęp do poprzednich z warstwy pierwszej. Warstwe trzecią tworzą komputery, które powinny przydzielać czas w sieciach lokalnych, tworząc przy tym warstwę czwartą.&lt;br /&gt;
&lt;br /&gt;
Usługa '''NTP''' działa na porcie '''123''' protokołu [[UDP]].&lt;br /&gt;
&lt;br /&gt;
Polskie serwery czasu to:&lt;br /&gt;
 server 0.pl.pool.ntp.org&lt;br /&gt;
 server 1.pl.pool.ntp.org&lt;br /&gt;
 server 2.pl.pool.ntp.org&lt;br /&gt;
 server 3.pl.pool.ntp.org&lt;br /&gt;
&lt;br /&gt;
Jeżeli chcesz aby czas Twojego systemu synchronizował się z wybranym serwerem czasu musisz podjąć następujące kroki: Konfiguracja klienta&lt;br /&gt;
&lt;br /&gt;
=== Instalacja pakietu NTP ===&lt;br /&gt;
&lt;br /&gt;
 yum install ntp&lt;br /&gt;
&lt;br /&gt;
Konfiguracja pliku ''/etc/ntp.conf'', dodajemy odpowiednio zmienione do własnych potrzeb linijki&lt;br /&gt;
&lt;br /&gt;
 restrict mask 255.255.255.255 nomodify notrap noquery&lt;br /&gt;
 server &lt;br /&gt;
&lt;br /&gt;
Włączanie '''ntp''' przy uruchamianiu komputera, ustawianie odpowiedniego serwera z którego będzie czerpany czas, wystartowanie usługi '''ntp'''&lt;br /&gt;
&lt;br /&gt;
 chkconfig --levels 235 ntpd on&lt;br /&gt;
 ntpdate 0.pool.ntp.org&lt;br /&gt;
 /etc/init.d/ntpd start&lt;br /&gt;
&lt;br /&gt;
== Inne metody ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Do ustawień czasu możemy urzyć również narządzia graficznego '''system-config-date'''. Jeżeli nie mamy zainstalowanego pakietu to wydajemy następujące polecenie&lt;br /&gt;
&lt;br /&gt;
 yum install system-config-date&lt;br /&gt;
&lt;br /&gt;
następnie wydajemy polecenie&lt;br /&gt;
&lt;br /&gt;
 system-config-date&lt;br /&gt;
&lt;br /&gt;
i powinniśmy się cieszyć graficznym interfejsem do ustawienia czasu w naszym systemie&lt;br /&gt;
&lt;br /&gt;
== Konfiguracja serwera NTP ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Jako że sam serwer musi również pobierać datę z innego serwera czasu na początku musisz skonfigurować swój system jako klienta (patrz wyżej). Oczywiście paczka '''NTP''' również jest wymagana. Jeżeli masz już to zrobione możesz przystąpić do konfiguracji własnego serwera czasu. Serwer musi być tak skonfigurowany aby umożliwić dostęp na porcie 123 klientom czy to za sprawą adresu IP czy nazwy hosta (nie ma różnicy). Serwer może być skonfigurowany również jako tzw multicast mode, tak aby była możliwość znalezienia adresu serwera przez stacje klienckie. Domyślne ustawienia pliku ''/etc/ntp.conf'' powinny zawierać następującą linijkę&lt;br /&gt;
 restrict default nomodify notrap noquery&lt;br /&gt;
&lt;br /&gt;
Te opcje ustawiają domyślne restrykcje co do wszystkich połączeń. Domyślne ustawienia powinny zostać dostosowane do polityki bezpieczeństwa danej sieci. Opcje '''nomodify''', '''notrap''' oraz '''noquery''' access mowią nam że, serwer nie może być modyfikowany, kontrolne wiadomości są zablokowane, wszystkie pytania o synchronizację są również zablokowane. Jeżeli sprecyzowana jest sieć oraz pominięta została opcja noquery, serwer będzie akceptować połączenia z ustawionej sieci np:&lt;br /&gt;
&lt;br /&gt;
 restrict ntp.nask.pl mask 255.255.255.255 nomodify notrap&lt;br /&gt;
 server ntp.nask.pl&lt;br /&gt;
&lt;br /&gt;
Jeżeli chcesz skonfigurować swój '''serwer NTP''', aby działał w trybie multicast (''multicast mode''), tak aby klienci mogli pobierać czas sieciowy bez wiedzy na temat adresu ip ani nazwy hosta danego serwera czasu, musisz dodać następującą opcję w pliku ''/etc/ntpd.conf'':&lt;br /&gt;
&lt;br /&gt;
 broadcast 224.0.1.1 ttl 4&lt;br /&gt;
&lt;br /&gt;
Po konfiguracji serwera aby zmiany zaczzeły być widoczne musisz zrestartować serwer&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/ntpd restart&lt;br /&gt;
&lt;br /&gt;
lub&lt;br /&gt;
&lt;br /&gt;
 service ntpd restart&lt;br /&gt;
&lt;br /&gt;
Aby włączyć wyłączyć usługę&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/ntpd start/stop&lt;br /&gt;
&lt;br /&gt;
lub&lt;br /&gt;
&lt;br /&gt;
 service ntpd start/stop&lt;br /&gt;
&lt;br /&gt;
== Logi ==&lt;br /&gt;
&lt;br /&gt;
Logi usługi '''NTP''' odkładane są w pliku ''/var/log/messages''&lt;br /&gt;
&lt;br /&gt;
Przydatne polecenia &lt;br /&gt;
&lt;br /&gt;
*'''ntpd''' demon ntpd&lt;br /&gt;
*'''ntpq''' standardowy program do zapytań ntp&lt;br /&gt;
*'''ntpdc''' inny program do zapytań ntp&lt;br /&gt;
*'''ntpdate''' polecenie do ustawienia daty i czasu poprzez protokół ntp&lt;br /&gt;
*'''ntptrace''' śledzenie trasy serwerów ntp aż do źródła&lt;br /&gt;
*'''tickadj''' ustawienia zmiennych jądra związanych z czasem&lt;br /&gt;
*'''ntptime''' odczyt zmiennych kernela związanych z czasem&lt;br /&gt;
*'''ntp-genkeys''' program do generowania kluczy publicznych i prywatnych dla ntp&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;google1 style=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/google1&amp;gt;&lt;/div&gt;</summary>
		<author><name>Slawek</name></author>	</entry>

	<entry>
		<id>http://wiki.linux-user.eu/index.php/Samba_jako_PDC</id>
		<title>Samba jako PDC</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux-user.eu/index.php/Samba_jako_PDC"/>
				<updated>2012-09-14T14:18:27Z</updated>
		
		<summary type="html">&lt;p&gt;Slawek: /* Konfiguracja */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[category:Serwer]]&lt;br /&gt;
Samba '''PDC''' czyli Samba '''Primary Domain Controller''' w tym how to zostanie przedstawiona jedna z możliwych konfiguracji oprogramowania '''Samba''' do działania w roli kontrolera domeny. Samba korzysta z protokołu '''SMB''' (''Server Message Block'') i wykorzystuje porty 137/UDP, 138/UDP, 139/TCP, opcjonalnie 445/TCP. Więcej na temat samej Samby możesz dowiedzieć się [[Samba|tutaj]].&lt;br /&gt;
Poniższa konfiguracja została przetestowana na systemie [[Ubuntu]] 12.04 LTS 64 bit.&lt;br /&gt;
=== Cele ===&lt;br /&gt;
* podpięcie stacji roboczych do domeny&lt;br /&gt;
* udostępnianie dysków sieciowych&lt;br /&gt;
* tworzenie profili lokalnych&lt;br /&gt;
* wymuszanie zmiany haseł dla użytkowników końcowych&lt;br /&gt;
&lt;br /&gt;
=== Instalacja ===&lt;br /&gt;
W moim przypadku pakiet '''Samba''' wraz z oprogramowaniem takim jak '''smbclient''' czy '''samba-common''' został zainstalowany wraz z instalacją systemu w wersji 3.6.3. Jeśli jednak jesteś zmuszony do instalacji własnoręcznie wydaj polecenie&lt;br /&gt;
 sudo apt-get install samba*&lt;br /&gt;
po wydaniu powyższego polecenia powinieneś mieć zainstalowane wszystkie potrzebne pakiety samby.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguracja ===&lt;br /&gt;
Główny plik konfiguracyjny samby znajduje się w ścieżce &lt;br /&gt;
 /etc/samba/&lt;br /&gt;
i jest nim plik o nazwie '''smb.conf'''. Plik ''smb.conf'' świeżo po instalacji zawiera już wstępnie skonfigurowany serwer oraz wiele linijek komentarzy, które warto poczytać, jednak my przeprowadzimy własną konfigurację dlatego orginalny plik samby kopiujemy w bezpieczne miejsce i tworzymy nowy plik ''smb.conf''&lt;br /&gt;
 sudo mv /etc/samba/smb.conf /etc/samba/smb.conf-org&lt;br /&gt;
 sudo touch /etc/samba/smb.conf&lt;br /&gt;
Przykładowa konfiguracja pliku ''smb.conf''&lt;br /&gt;
 [global]&lt;br /&gt;
        workgroup = LINUX&lt;br /&gt;
        server string = %h server (fs Samba)&lt;br /&gt;
        security = domain&lt;br /&gt;
        hide dot files = yes&lt;br /&gt;
        hosts allow = 127.0.0.1 127.0.1.1 192.168.2.&lt;br /&gt;
        passdb backend = tdbsam&lt;br /&gt;
        add machine script = /usr/sbin/useradd -d /dev/null -g samba-machines -c 'konto maszyny %I' -s /bin/false %u&lt;br /&gt;
        username map = /etc/samba/smbusers&lt;br /&gt;
        unix password sync = Yes&lt;br /&gt;
        log level = 3&lt;br /&gt;
        name resolve order = wins bcast hosts&lt;br /&gt;
        domain logons = Yes&lt;br /&gt;
        domain master = Yes&lt;br /&gt;
        local master = Yes&lt;br /&gt;
        wins support = Yes&lt;br /&gt;
        dos file times = yes&lt;br /&gt;
        announce as =  NT server&lt;br /&gt;
        idmap uid = 15000-20000&lt;br /&gt;
        idmap gid = 15000-20000&lt;br /&gt;
        admin users = root&lt;br /&gt;
        encrypt passwords = yes  #szyfrowanie haseł&lt;br /&gt;
        logon home = %L%UNetlogon&lt;br /&gt;
        logon path =&lt;br /&gt;
        logon script = logon.bat&lt;br /&gt;
        logon drive = N:&lt;br /&gt;
        nt pipe support = yes&lt;br /&gt;
        nt acl support = no&lt;br /&gt;
        unix password sync = Yes&lt;br /&gt;
        pam password change = Yes&lt;br /&gt;
        lanman auth = Yes&lt;br /&gt;
        #ntlm auth = no&lt;br /&gt;
        read raw = yes&lt;br /&gt;
        write raw = yes&lt;br /&gt;
 #      buforowanie katalogów&lt;br /&gt;
        getwd cache = yes&lt;br /&gt;
 # buforowanie zapisu plików zdecydownaie poprawia predkosc&lt;br /&gt;
         time server = yes&lt;br /&gt;
 [home]&lt;br /&gt;
        comment = Home&lt;br /&gt;
        path = /home/samba/users/%U&lt;br /&gt;
        read only = No&lt;br /&gt;
        browsable = yes&lt;br /&gt;
        guest ok = no&lt;br /&gt;
        create mask = 0600&lt;br /&gt;
        directory mask = 0700&lt;br /&gt;
 [netlogon]&lt;br /&gt;
        comment = Network Logon Service&lt;br /&gt;
        path = /home/samba/netlogon&lt;br /&gt;
        browsable = no&lt;br /&gt;
        read only = yes&lt;br /&gt;
        public = no&lt;br /&gt;
 [profile]&lt;br /&gt;
        comment = User profiles&lt;br /&gt;
        path = /home/samba/profiles&lt;br /&gt;
        browsable = yes&lt;br /&gt;
        writable = yes&lt;br /&gt;
        create mask = 0600&lt;br /&gt;
        directory mask = 0700&lt;br /&gt;
 [Wspolny]&lt;br /&gt;
        comment = Wspolny&lt;br /&gt;
        path = /home/samba/allusers&lt;br /&gt;
        browsable = yes&lt;br /&gt;
        guest ok = yes&lt;br /&gt;
        read only = No&lt;br /&gt;
        public = yes&lt;br /&gt;
 [Muzyka]&lt;br /&gt;
        comment = Katalog z muzyka #komentarz&lt;br /&gt;
        path = /home/samba/muzyka  #ścieżka na serwerze do katalogu&lt;br /&gt;
        browsable = yes #możliwy do przeszukiwania&lt;br /&gt;
        writable = yes #zapisywalny&lt;br /&gt;
        read only = no #tylko do odczytu&lt;br /&gt;
        force create mode = 0770 #wymuszamy tworzenie plików z odpowiednimi prawami&lt;br /&gt;
        force group = smbusers #wszystkie dodane pliki będą w grupie&lt;br /&gt;
&lt;br /&gt;
 [kowalski]&lt;br /&gt;
        path = /home/kowalski/&lt;br /&gt;
        valid users = root, kowalski&lt;br /&gt;
        guest ok = no&lt;br /&gt;
        read only = No&lt;br /&gt;
&lt;br /&gt;
Pamiętaj, że wszystkie katalogi w opcjach ''path'' muszą istnieć. &lt;br /&gt;
 sudo mkdir /home/samba&lt;br /&gt;
 sudo mkdir /home/samba/netlogon&lt;br /&gt;
 sudo mkdir /home/samba/profiles&lt;br /&gt;
 sudo mkdir /home/samba/allusers&lt;br /&gt;
 sudo mkdir /home/samba/muzyka&lt;br /&gt;
 sudo mkdir /home/slawek/users/kowalski&lt;br /&gt;
ostatnia sekcja ''[kowalski]'' jest przeznaczona tylko dla użytkownika kowalski i taki również użytkownik musi istnieć w systemie z katalogiem domowym znajdującym się w ścieżce ''/home/kowalski''.&amp;lt;br /&amp;gt;&lt;br /&gt;
Następnie tworzymy grupę dla użytkowników, którzy będą korzystać z serwera Samba, dajemy odpowiednie uprawnienia do katalogów oraz tworzymy użytkowników i maszyny.&amp;lt;br /&amp;gt;&lt;br /&gt;
Dodajemy grupę o nazwie ''samba''&lt;br /&gt;
 sudo groupadd smbusers&lt;br /&gt;
zmieniamy prawa do katalogów &lt;br /&gt;
 sudo chown -R root:smbusers /home/samba/&lt;br /&gt;
 sudo chmod 774 /home/samba/allusers/&lt;br /&gt;
 sudo chmod 770 /home/samba/profiles/&lt;br /&gt;
 sudo chmod 750 /home/samba/netlogon/&lt;br /&gt;
 sudo chmod 770 /home/samba/muzyka/&lt;br /&gt;
 sudo chown root:smbusers /home/samba/muzyka/&lt;br /&gt;
 sudo chmod 700 /home/samba/users/kowalski&lt;br /&gt;
 sudo chown kowalski:smbusers /home/samba/users/kowalski&lt;br /&gt;
 sudo chown root:smbusers /home/samba/netlogon #pamiętać aby dać prawa do wykonania grupie dla pliku logon.bat&lt;br /&gt;
Katalogi musimy tworzyć dla każdego użytkownika z ręki lub podczas dodawania użytkownika do systemu za pomocą polecenia [[useradd]] z opcją  '''-d /katalog/usera'''. Katalogi jak i nazwy grup powinieneś dostosować do własnych preferencji. Do konfigurowania samby możesz również użyć opcji, które zostały przedstawione na stronie [[samba]]. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Profil lokalny a mobilny ===&lt;br /&gt;
Profil lokalny czyli wszystkie ustawienia oraz pliki z profilów użytkowników samby są przechowywane na lokalnej maszynie każdego użytkownika, natomiast z profilami mobilnymi jest dokładnie odwrotnie. Sprawę związaną z profilami rozwiązujemy poleceniem&lt;br /&gt;
 logon path =&lt;br /&gt;
w pliku konfiguracyjnym samby. Jeśli zostawimy tą opcję pustą to będziemy mieli sambę z domeną i profilami lokalnymi. Jeśli powyższa obcja będzie wyglądać następująco&lt;br /&gt;
 logon path =  %L%UProfile&lt;br /&gt;
utworzymy dla naszej domeny profile mobilne (dynamiczna ścieżka dla profili, systemu Windows NT/XP/2000/2003), pamiętaj, że musi istnieć zasób samby ''[Profile]''.&lt;br /&gt;
=== Użytkownicy ===&lt;br /&gt;
Na początku zakładamy konto dla użytkownika [[root]] będziemy go potrzebowali jedynie do kontaktowania się z serwerem samby na początku zakładania domeny np w systemie Windows.&lt;br /&gt;
 smbpasswd -a root&lt;br /&gt;
Dla każdego użytkownika musimy dodać tzw maszyne zaufania czyli komputer + użytkownika bez dostępu do powłoki&lt;br /&gt;
zakładamy grupę dla maszyn&lt;br /&gt;
 sudo groupadd samba-machines&lt;br /&gt;
dodajemy zwykłego użytkownika systemu &lt;br /&gt;
 useradd kowalski&lt;br /&gt;
nadajemy mu hasło&lt;br /&gt;
 passwd kowalski&lt;br /&gt;
dodajemy komputer użytkownika do samby &lt;br /&gt;
 smbpasswd -a -m kowalski&lt;br /&gt;
dodajemy użytkownika do samby&lt;br /&gt;
 smbpasswd -a kowalski&lt;br /&gt;
taką samą czynność musimy przeprowadzić dla każdego użytkownika, który ma mieć jakiś dostęp do zasobów samby oczywiście bez  zakładania nowych grup.&lt;br /&gt;
&lt;br /&gt;
restartujemy sambę&lt;br /&gt;
 sudo service smbd restart&lt;br /&gt;
to samo robimy z demonem nmbd&lt;br /&gt;
 sudo service nmbd restart&lt;br /&gt;
i uruchamiamy winbinda&lt;br /&gt;
 sudo service winbind start&lt;br /&gt;
uruchamiamy sambę przy wstawaniu systemu&lt;br /&gt;
 chkconfig smbd on&lt;br /&gt;
oraz &lt;br /&gt;
 chkconfig nmbd on&lt;br /&gt;
i&lt;br /&gt;
 chkconfig winbind on&lt;br /&gt;
Uwaga domyślnie możesz nie mieć zainstalowanego programu [[chkconfig]], dlatego przed wydaniem powyższych komend musisz zainstalować ten pakiet poleceniem&lt;br /&gt;
 sudo apt-get install chkconfig&lt;br /&gt;
&lt;br /&gt;
=== Inne ===&lt;br /&gt;
Ciekawym rozwiązaniem jest polecenie '''pdbedit''', którym możemy np wymuszać czas po jakim musi zostać zmienione hasło dla użytkownika, co jaki czas może powtarzać się ostatnio skonfigurowane hasło i wiele innych najciekawsze z nich to &lt;br /&gt;
*wymuszenie zmiany hasła dla użytkowników samby co 60 dni&lt;br /&gt;
 pdbedit -P &amp;quot;maximum password age&amp;quot; -C 518400 #(60dni)&lt;br /&gt;
*wypisanie danych o użytkowniku&lt;br /&gt;
 pdbedit -Lv kowalski&lt;br /&gt;
 WARNING: The &amp;quot;idmap uid&amp;quot; option is deprecated&lt;br /&gt;
 WARNING: The &amp;quot;idmap gid&amp;quot; option is deprecated&lt;br /&gt;
 Server's Role (logon server) NOT ADVISED with domain-level security&lt;br /&gt;
 Forcing Primary Group to 'Domain Users' for kowalski&lt;br /&gt;
 Unix username:        kowalski&lt;br /&gt;
 NT username:          &lt;br /&gt;
 Account Flags:        [U          ]&lt;br /&gt;
 User SID:             S-1-5-21-1251109636-2657097270-4275611531-1003&lt;br /&gt;
 Primary Group SID:    S-1-5-21-1251109636-2657097270-4275611531-513&lt;br /&gt;
 Full Name:            Uzytkownik samba&lt;br /&gt;
 Home Directory:       fs-ubuntukowalskiprofile&lt;br /&gt;
 HomeDir Drive:        H:&lt;br /&gt;
 Logon Script:         &lt;br /&gt;
 Profile Path:         &lt;br /&gt;
 Domain:               LINUX&lt;br /&gt;
 Account desc:         &lt;br /&gt;
 Workstations:         &lt;br /&gt;
 Munged dial:          &lt;br /&gt;
 Logon time:           0&lt;br /&gt;
 Logoff time:          śro, 06 lut 2036 16:06:39 CET&lt;br /&gt;
 Kickoff time:         śro, 06 lut 2036 16:06:39 CET&lt;br /&gt;
 Password last set:    wto, 26 cze 2012 17:32:57 CEST&lt;br /&gt;
 Password can change:  wto, 26 cze 2012 17:32:57 CEST&lt;br /&gt;
 Password must change: never&lt;br /&gt;
 Last bad password   : 0&lt;br /&gt;
 Bad password count  : 0&lt;br /&gt;
 Logon hours         : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF&lt;br /&gt;
*minimalna długość hasła&lt;br /&gt;
 pdbedit -P &amp;quot;min password length&amp;quot; -C 8&lt;br /&gt;
*co ile zmian haseł, hasło może się powtórzyć&lt;br /&gt;
 pdbedit -P &amp;quot;password history&amp;quot; -C 4&lt;br /&gt;
*maksymalna ilość błędnych logowań&lt;br /&gt;
 pdbedit -P &amp;quot;bad lockout attempt&amp;quot; -C 8&lt;br /&gt;
i wiele innych, dla wyjaśnienia&lt;br /&gt;
&lt;br /&gt;
'''Samba Policy Controls'''&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! NT4 policy Name !! Samba Policy Name !! NT4 Range !! Samba Range !! Samba Default&lt;br /&gt;
|-&lt;br /&gt;
| Maximum Password Age || maximum password age || 0 - 999 (days) || 0 - 4294967295 (sec) || 4294967295&lt;br /&gt;
|-&lt;br /&gt;
| Minimum Password Age || minimum password age || 0 - 999 (days) || 0 - 4294967295 (sec) || 0&lt;br /&gt;
|-&lt;br /&gt;
| Mimimum Password Length || min password length || 1 - 14 (Chars) || 0 - 4294967295 (Chars) || 5&lt;br /&gt;
|-&lt;br /&gt;
| Password Uniqueness || password history || 0 - 23 (#) || 0 - 4294967295 (#) || 0&lt;br /&gt;
|-&lt;br /&gt;
| Account Lockout - Reset count after || reset count minutes || 1 - 99998 (min) || 0 - 4294967295 (min) || 30&lt;br /&gt;
|-&lt;br /&gt;
| Lockout after bad logon attempts || bad lockout attempt || 0 - 998 (#) || 0 - 4294967295 (#) || 0&lt;br /&gt;
|-&lt;br /&gt;
| Lockout Duration || lockout duration || 1 - 99998 (min) || 0 - 4294967295 (min) || 30&lt;br /&gt;
|-&lt;br /&gt;
| Users must log on in order to change password || user must logon to change password || 0/1 || 0 - 4294967295 || 0&lt;br /&gt;
|-&lt;br /&gt;
| *** Registry Setting *** || refuse machine password change || 0/1 || 0 - 4294967295 || 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Skrypt logon.bat ==&lt;br /&gt;
Pamiętajmy aby skrypt najlepiej pisać w systemie Windows w związku z tym, że Linux nie używa tzw &amp;quot;powrotu karetki&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
 #  Reset the current time to that shown by the server.&lt;br /&gt;
 #  We must have the &amp;quot;time server = yes&amp;quot; option in the&lt;br /&gt;
 #  smb.conf for this to work.&lt;br /&gt;
 echo Setting Current Time...&lt;br /&gt;
 net time \\linux /set /yes&lt;br /&gt;
 #  Here we map network drives to shares on the Samba&lt;br /&gt;
 #  server&lt;br /&gt;
 echo Mapping Network Drives to Samba Server Hydra...&lt;br /&gt;
 net use h: \\linux\netlogon&lt;br /&gt;
 net use p: \\linux\profile&lt;br /&gt;
 net use f: \\linux\home&lt;br /&gt;
 net use x: \\linux\wspolny&lt;br /&gt;
&lt;br /&gt;
w naszym przypadku skrypt umieszczamy w ścieżce ''/home/samba/netlogon'', nadajemy mu odpowiednie uprawnienia&lt;br /&gt;
 chown root:smbusers logon.bat&lt;br /&gt;
oraz&lt;br /&gt;
 chmod 750 logon.bat&lt;br /&gt;
i to powinno wystarczyć, oczywiście plik ''logon.bat'' musimy dostosować do własnego konfiga samby.&lt;br /&gt;
&lt;br /&gt;
== Podłączanie do domeny systemu Windows ==&lt;br /&gt;
=== Windows XP ===&lt;br /&gt;
Możliwość podłączenia komputera z systemem Windows zaczyna się od wersji &amp;lt;u&amp;gt;professional&amp;lt;/u&amp;gt;.&lt;br /&gt;
Aby podłączyć kompuetr z systemem Windows do domeny należy wykonać poniższe kroki:&lt;br /&gt;
* Wejść do Panelu sterowania&lt;br /&gt;
* Wybrać ikonkę ''System''&lt;br /&gt;
* Wejść w zakładkę ''Nazwa komputera''&lt;br /&gt;
* Nacisnąć na przycisk ''Zmień''&lt;br /&gt;
* Zaznaczyć opcję ''Domena'' oraz wpisać nazwę domeny zatwierdzić przyciskając ''OK''&lt;br /&gt;
* podajemy nazwę oraz hasło użytkownika root samby i zatwierdzamy&lt;br /&gt;
* restartujemy komputer&lt;br /&gt;
* logujemy się jeszcze raz na konto administratora do naszego komputera&lt;br /&gt;
* wchodzimy do Panelu sterowania&lt;br /&gt;
* wybieramy ''Konta użytkowników''&lt;br /&gt;
* dodajemy użytkownika wpisując nazwe użytkownika oraz domenę&lt;br /&gt;
* restartujemy komputer&lt;br /&gt;
* przy logowaniu wybieramy domenę oraz wpisujemy nazwę użytkownika i hasło założonego w sambie&lt;br /&gt;
&lt;br /&gt;
== Linki ==&lt;br /&gt;
Na temat Samby można poczytać również&lt;br /&gt;
* Konfiguracja samby na naszej wiki - [[Samba]]&lt;br /&gt;
* Wikipedia strona na temat serwera plików - [http://pl.wikipedia.org/wiki/Samba_(program) Wikipedia]&lt;br /&gt;
* Oficjalna wiki samby - [http://wiki.samba.org/index.php/Main_Page oficjalna wiki]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;google1 style=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/google1&amp;gt;&lt;/div&gt;</summary>
		<author><name>Slawek</name></author>	</entry>

	<entry>
		<id>http://wiki.linux-user.eu/index.php/Samba_jako_PDC</id>
		<title>Samba jako PDC</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux-user.eu/index.php/Samba_jako_PDC"/>
				<updated>2012-09-14T14:12:48Z</updated>
		
		<summary type="html">&lt;p&gt;Slawek: /* Konfiguracja */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[category:Serwer]]&lt;br /&gt;
Samba '''PDC''' czyli Samba '''Primary Domain Controller''' w tym how to zostanie przedstawiona jedna z możliwych konfiguracji oprogramowania '''Samba''' do działania w roli kontrolera domeny. Samba korzysta z protokołu '''SMB''' (''Server Message Block'') i wykorzystuje porty 137/UDP, 138/UDP, 139/TCP, opcjonalnie 445/TCP. Więcej na temat samej Samby możesz dowiedzieć się [[Samba|tutaj]].&lt;br /&gt;
Poniższa konfiguracja została przetestowana na systemie [[Ubuntu]] 12.04 LTS 64 bit.&lt;br /&gt;
=== Cele ===&lt;br /&gt;
* podpięcie stacji roboczych do domeny&lt;br /&gt;
* udostępnianie dysków sieciowych&lt;br /&gt;
* tworzenie profili lokalnych&lt;br /&gt;
* wymuszanie zmiany haseł dla użytkowników końcowych&lt;br /&gt;
&lt;br /&gt;
=== Instalacja ===&lt;br /&gt;
W moim przypadku pakiet '''Samba''' wraz z oprogramowaniem takim jak '''smbclient''' czy '''samba-common''' został zainstalowany wraz z instalacją systemu w wersji 3.6.3. Jeśli jednak jesteś zmuszony do instalacji własnoręcznie wydaj polecenie&lt;br /&gt;
 sudo apt-get install samba*&lt;br /&gt;
po wydaniu powyższego polecenia powinieneś mieć zainstalowane wszystkie potrzebne pakiety samby.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguracja ===&lt;br /&gt;
Główny plik konfiguracyjny samby znajduje się w ścieżce &lt;br /&gt;
 /etc/samba/&lt;br /&gt;
i jest nim plik o nazwie '''smb.conf'''. Plik ''smb.conf'' świeżo po instalacji zawiera już wstępnie skonfigurowany serwer oraz wiele linijek komentarzy, które warto poczytać, jednak my przeprowadzimy własną konfigurację dlatego orginalny plik samby kopiujemy w bezpieczne miejsce i tworzymy nowy plik ''smb.conf''&lt;br /&gt;
 sudo mv /etc/samba/smb.conf /etc/samba/smb.conf-org&lt;br /&gt;
 sudo touch /etc/samba/smb.conf&lt;br /&gt;
Przykładowa konfiguracja pliku ''smb.conf''&lt;br /&gt;
 [global]&lt;br /&gt;
        workgroup = LINUX&lt;br /&gt;
        server string = %h server (fs Samba)&lt;br /&gt;
        security = domain&lt;br /&gt;
        hide dot files = yes&lt;br /&gt;
        hosts allow = 127.0.0.1 127.0.1.1 192.168.2.&lt;br /&gt;
        passdb backend = tdbsam&lt;br /&gt;
        add machine script = /usr/sbin/useradd -d /dev/null -g samba-machines -c 'konto maszyny %I' -s /bin/false %u&lt;br /&gt;
        username map = /etc/samba/smbusers&lt;br /&gt;
        unix password sync = Yes&lt;br /&gt;
        log level = 3&lt;br /&gt;
        name resolve order = wins bcast hosts&lt;br /&gt;
        domain logons = Yes&lt;br /&gt;
        domain master = Yes&lt;br /&gt;
        local master = Yes&lt;br /&gt;
        wins support = Yes&lt;br /&gt;
        dos file times = yes&lt;br /&gt;
        announce as =  NT server&lt;br /&gt;
        idmap uid = 15000-20000&lt;br /&gt;
        idmap gid = 15000-20000&lt;br /&gt;
        admin users = root&lt;br /&gt;
        encrypt passwords = yes  #szyfrowanie haseł&lt;br /&gt;
        logon home = %L%UNetlogon&lt;br /&gt;
        logon path =&lt;br /&gt;
        logon script = logon.bat&lt;br /&gt;
        logon drive = N:&lt;br /&gt;
        nt pipe support = yes&lt;br /&gt;
        nt acl support = no&lt;br /&gt;
        unix password sync = Yes&lt;br /&gt;
        pam password change = Yes&lt;br /&gt;
        lanman auth = Yes&lt;br /&gt;
        #ntlm auth = no&lt;br /&gt;
        read raw = yes&lt;br /&gt;
        write raw = yes&lt;br /&gt;
 #      buforowanie katalogów&lt;br /&gt;
        getwd cache = yes&lt;br /&gt;
 # buforowanie zapisu plików zdecydownaie poprawia predkosc&lt;br /&gt;
         time server = yes&lt;br /&gt;
 [home]&lt;br /&gt;
        comment = Home&lt;br /&gt;
        path = /home/samba/users/%U&lt;br /&gt;
        read only = No&lt;br /&gt;
        browsable = yes&lt;br /&gt;
        guest ok = no&lt;br /&gt;
        create mask = 0600&lt;br /&gt;
        directory mask = 0700&lt;br /&gt;
 [netlogon]&lt;br /&gt;
        comment = Network Logon Service&lt;br /&gt;
        path = /home/samba/netlogon&lt;br /&gt;
        browsable = no&lt;br /&gt;
        read only = yes&lt;br /&gt;
        public = no&lt;br /&gt;
 [profile]&lt;br /&gt;
        comment = User profiles&lt;br /&gt;
        path = /home/samba/profiles&lt;br /&gt;
        browsable = yes&lt;br /&gt;
        writable = yes&lt;br /&gt;
        create mask = 0600&lt;br /&gt;
        directory mask = 0700&lt;br /&gt;
 [Wspolny]&lt;br /&gt;
        comment = Wspolny&lt;br /&gt;
        path = /home/samba/allusers&lt;br /&gt;
        browsable = yes&lt;br /&gt;
        guest ok = yes&lt;br /&gt;
        read only = No&lt;br /&gt;
        public = yes&lt;br /&gt;
 [Muzyka]&lt;br /&gt;
        comment = Katalog z muzyka #komentarz&lt;br /&gt;
        path = /home/samba/muzyka  #ścieżka na serwerze do katalogu&lt;br /&gt;
        browsable = yes #możliwy do przeszukiwania&lt;br /&gt;
        writable = yes #zapisywalny&lt;br /&gt;
        read only = no #tylko do odczytu&lt;br /&gt;
        force create mode = 0770 #wymuszamy tworzenie plików z odpowiednimi prawami&lt;br /&gt;
        force group = smbusers #wszystkie dodane pliki będą w grupie&lt;br /&gt;
&lt;br /&gt;
 [kowalski]&lt;br /&gt;
        path = /home/kowalski/&lt;br /&gt;
        valid users = root, kowalski&lt;br /&gt;
        guest ok = no&lt;br /&gt;
        read only = No&lt;br /&gt;
&lt;br /&gt;
Pamiętaj, że wszystkie katalogi w opcjach ''path'' muszą istnieć. &lt;br /&gt;
 sudo mkdir /home/samba&lt;br /&gt;
 sudo mkdir /home/samba/netlogon&lt;br /&gt;
 sudo mkdir /home/samba/profiles&lt;br /&gt;
 sudo mkdir /home/samba/allusers&lt;br /&gt;
 sudo mkdir /home/samba/muzyka&lt;br /&gt;
 sudo mkdir /home/slawek/users/kowalski&lt;br /&gt;
ostatnia sekcja ''[kowalski]'' jest przeznaczona tylko dla użytkownika kowalski i taki również użytkownik musi istnieć w systemie z katalogiem domowym znajdującym się w ścieżce ''/home/kowalski''.&amp;lt;br /&amp;gt;&lt;br /&gt;
Następnie tworzymy grupę dla użytkowników, którzy będą korzystać z serwera Samba, dajemy odpowiednie uprawnienia do katalogów oraz tworzymy użytkowników i maszyny.&amp;lt;br /&amp;gt;&lt;br /&gt;
Dodajemy grupę o nazwie ''samba''&lt;br /&gt;
 sudo groupadd smbusers&lt;br /&gt;
zmieniamy prawa do katalogów &lt;br /&gt;
 sudo chown -R root:smbusers /home/samba/&lt;br /&gt;
 sudo chmod 774 /home/samba/allusers/&lt;br /&gt;
 sudo chmod 770 /home/samba/profiles/&lt;br /&gt;
 sudo chmod 750 /home/samba/netlogon/&lt;br /&gt;
 sudo chmod 770 /home/samba/muzyka/&lt;br /&gt;
 sudo chown root:smbusers /home/samba/muzyka/&lt;br /&gt;
 sudo chmod 700 /home/samba/users/kowalski&lt;br /&gt;
 sudo chown kowalski:smbusers /home/samba/users/kowalski&lt;br /&gt;
Katalogi musimy tworzyć dla każdego użytkownika z ręki lub podczas dodawania użytkownika do systemu za pomocą polecenia [[useradd]] z opcją  '''-d /katalog/usera'''. Katalogi jak i nazwy grup powinieneś dostosować do własnych preferencji. Do konfigurowania samby możesz również użyć opcji, które zostały przedstawione na stronie [[samba]]. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Profil lokalny a mobilny ===&lt;br /&gt;
Profil lokalny czyli wszystkie ustawienia oraz pliki z profilów użytkowników samby są przechowywane na lokalnej maszynie każdego użytkownika, natomiast z profilami mobilnymi jest dokładnie odwrotnie. Sprawę związaną z profilami rozwiązujemy poleceniem&lt;br /&gt;
 logon path =&lt;br /&gt;
w pliku konfiguracyjnym samby. Jeśli zostawimy tą opcję pustą to będziemy mieli sambę z domeną i profilami lokalnymi. Jeśli powyższa obcja będzie wyglądać następująco&lt;br /&gt;
 logon path =  %L%UProfile&lt;br /&gt;
utworzymy dla naszej domeny profile mobilne (dynamiczna ścieżka dla profili, systemu Windows NT/XP/2000/2003), pamiętaj, że musi istnieć zasób samby ''[Profile]''.&lt;br /&gt;
=== Użytkownicy ===&lt;br /&gt;
Na początku zakładamy konto dla użytkownika [[root]] będziemy go potrzebowali jedynie do kontaktowania się z serwerem samby na początku zakładania domeny np w systemie Windows.&lt;br /&gt;
 smbpasswd -a root&lt;br /&gt;
Dla każdego użytkownika musimy dodać tzw maszyne zaufania czyli komputer + użytkownika bez dostępu do powłoki&lt;br /&gt;
zakładamy grupę dla maszyn&lt;br /&gt;
 sudo groupadd samba-machines&lt;br /&gt;
dodajemy zwykłego użytkownika systemu &lt;br /&gt;
 useradd kowalski&lt;br /&gt;
nadajemy mu hasło&lt;br /&gt;
 passwd kowalski&lt;br /&gt;
dodajemy komputer użytkownika do samby &lt;br /&gt;
 smbpasswd -a -m kowalski&lt;br /&gt;
dodajemy użytkownika do samby&lt;br /&gt;
 smbpasswd -a kowalski&lt;br /&gt;
taką samą czynność musimy przeprowadzić dla każdego użytkownika, który ma mieć jakiś dostęp do zasobów samby oczywiście bez  zakładania nowych grup.&lt;br /&gt;
&lt;br /&gt;
restartujemy sambę&lt;br /&gt;
 sudo service smbd restart&lt;br /&gt;
to samo robimy z demonem nmbd&lt;br /&gt;
 sudo service nmbd restart&lt;br /&gt;
i uruchamiamy winbinda&lt;br /&gt;
 sudo service winbind start&lt;br /&gt;
uruchamiamy sambę przy wstawaniu systemu&lt;br /&gt;
 chkconfig smbd on&lt;br /&gt;
oraz &lt;br /&gt;
 chkconfig nmbd on&lt;br /&gt;
i&lt;br /&gt;
 chkconfig winbind on&lt;br /&gt;
Uwaga domyślnie możesz nie mieć zainstalowanego programu [[chkconfig]], dlatego przed wydaniem powyższych komend musisz zainstalować ten pakiet poleceniem&lt;br /&gt;
 sudo apt-get install chkconfig&lt;br /&gt;
&lt;br /&gt;
=== Inne ===&lt;br /&gt;
Ciekawym rozwiązaniem jest polecenie '''pdbedit''', którym możemy np wymuszać czas po jakim musi zostać zmienione hasło dla użytkownika, co jaki czas może powtarzać się ostatnio skonfigurowane hasło i wiele innych najciekawsze z nich to &lt;br /&gt;
*wymuszenie zmiany hasła dla użytkowników samby co 60 dni&lt;br /&gt;
 pdbedit -P &amp;quot;maximum password age&amp;quot; -C 518400 #(60dni)&lt;br /&gt;
*wypisanie danych o użytkowniku&lt;br /&gt;
 pdbedit -Lv kowalski&lt;br /&gt;
 WARNING: The &amp;quot;idmap uid&amp;quot; option is deprecated&lt;br /&gt;
 WARNING: The &amp;quot;idmap gid&amp;quot; option is deprecated&lt;br /&gt;
 Server's Role (logon server) NOT ADVISED with domain-level security&lt;br /&gt;
 Forcing Primary Group to 'Domain Users' for kowalski&lt;br /&gt;
 Unix username:        kowalski&lt;br /&gt;
 NT username:          &lt;br /&gt;
 Account Flags:        [U          ]&lt;br /&gt;
 User SID:             S-1-5-21-1251109636-2657097270-4275611531-1003&lt;br /&gt;
 Primary Group SID:    S-1-5-21-1251109636-2657097270-4275611531-513&lt;br /&gt;
 Full Name:            Uzytkownik samba&lt;br /&gt;
 Home Directory:       fs-ubuntukowalskiprofile&lt;br /&gt;
 HomeDir Drive:        H:&lt;br /&gt;
 Logon Script:         &lt;br /&gt;
 Profile Path:         &lt;br /&gt;
 Domain:               LINUX&lt;br /&gt;
 Account desc:         &lt;br /&gt;
 Workstations:         &lt;br /&gt;
 Munged dial:          &lt;br /&gt;
 Logon time:           0&lt;br /&gt;
 Logoff time:          śro, 06 lut 2036 16:06:39 CET&lt;br /&gt;
 Kickoff time:         śro, 06 lut 2036 16:06:39 CET&lt;br /&gt;
 Password last set:    wto, 26 cze 2012 17:32:57 CEST&lt;br /&gt;
 Password can change:  wto, 26 cze 2012 17:32:57 CEST&lt;br /&gt;
 Password must change: never&lt;br /&gt;
 Last bad password   : 0&lt;br /&gt;
 Bad password count  : 0&lt;br /&gt;
 Logon hours         : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF&lt;br /&gt;
*minimalna długość hasła&lt;br /&gt;
 pdbedit -P &amp;quot;min password length&amp;quot; -C 8&lt;br /&gt;
*co ile zmian haseł, hasło może się powtórzyć&lt;br /&gt;
 pdbedit -P &amp;quot;password history&amp;quot; -C 4&lt;br /&gt;
*maksymalna ilość błędnych logowań&lt;br /&gt;
 pdbedit -P &amp;quot;bad lockout attempt&amp;quot; -C 8&lt;br /&gt;
i wiele innych, dla wyjaśnienia&lt;br /&gt;
&lt;br /&gt;
'''Samba Policy Controls'''&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! NT4 policy Name !! Samba Policy Name !! NT4 Range !! Samba Range !! Samba Default&lt;br /&gt;
|-&lt;br /&gt;
| Maximum Password Age || maximum password age || 0 - 999 (days) || 0 - 4294967295 (sec) || 4294967295&lt;br /&gt;
|-&lt;br /&gt;
| Minimum Password Age || minimum password age || 0 - 999 (days) || 0 - 4294967295 (sec) || 0&lt;br /&gt;
|-&lt;br /&gt;
| Mimimum Password Length || min password length || 1 - 14 (Chars) || 0 - 4294967295 (Chars) || 5&lt;br /&gt;
|-&lt;br /&gt;
| Password Uniqueness || password history || 0 - 23 (#) || 0 - 4294967295 (#) || 0&lt;br /&gt;
|-&lt;br /&gt;
| Account Lockout - Reset count after || reset count minutes || 1 - 99998 (min) || 0 - 4294967295 (min) || 30&lt;br /&gt;
|-&lt;br /&gt;
| Lockout after bad logon attempts || bad lockout attempt || 0 - 998 (#) || 0 - 4294967295 (#) || 0&lt;br /&gt;
|-&lt;br /&gt;
| Lockout Duration || lockout duration || 1 - 99998 (min) || 0 - 4294967295 (min) || 30&lt;br /&gt;
|-&lt;br /&gt;
| Users must log on in order to change password || user must logon to change password || 0/1 || 0 - 4294967295 || 0&lt;br /&gt;
|-&lt;br /&gt;
| *** Registry Setting *** || refuse machine password change || 0/1 || 0 - 4294967295 || 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Skrypt logon.bat ==&lt;br /&gt;
Pamiętajmy aby skrypt najlepiej pisać w systemie Windows w związku z tym, że Linux nie używa tzw &amp;quot;powrotu karetki&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
 #  Reset the current time to that shown by the server.&lt;br /&gt;
 #  We must have the &amp;quot;time server = yes&amp;quot; option in the&lt;br /&gt;
 #  smb.conf for this to work.&lt;br /&gt;
 echo Setting Current Time...&lt;br /&gt;
 net time \\linux /set /yes&lt;br /&gt;
 #  Here we map network drives to shares on the Samba&lt;br /&gt;
 #  server&lt;br /&gt;
 echo Mapping Network Drives to Samba Server Hydra...&lt;br /&gt;
 net use h: \\linux\netlogon&lt;br /&gt;
 net use p: \\linux\profile&lt;br /&gt;
 net use f: \\linux\home&lt;br /&gt;
 net use x: \\linux\wspolny&lt;br /&gt;
&lt;br /&gt;
w naszym przypadku skrypt umieszczamy w ścieżce ''/home/samba/netlogon'', nadajemy mu odpowiednie uprawnienia&lt;br /&gt;
 chown root:smbusers logon.bat&lt;br /&gt;
oraz&lt;br /&gt;
 chmod 750 logon.bat&lt;br /&gt;
i to powinno wystarczyć, oczywiście plik ''logon.bat'' musimy dostosować do własnego konfiga samby.&lt;br /&gt;
&lt;br /&gt;
== Podłączanie do domeny systemu Windows ==&lt;br /&gt;
=== Windows XP ===&lt;br /&gt;
Możliwość podłączenia komputera z systemem Windows zaczyna się od wersji &amp;lt;u&amp;gt;professional&amp;lt;/u&amp;gt;.&lt;br /&gt;
Aby podłączyć kompuetr z systemem Windows do domeny należy wykonać poniższe kroki:&lt;br /&gt;
* Wejść do Panelu sterowania&lt;br /&gt;
* Wybrać ikonkę ''System''&lt;br /&gt;
* Wejść w zakładkę ''Nazwa komputera''&lt;br /&gt;
* Nacisnąć na przycisk ''Zmień''&lt;br /&gt;
* Zaznaczyć opcję ''Domena'' oraz wpisać nazwę domeny zatwierdzić przyciskając ''OK''&lt;br /&gt;
* podajemy nazwę oraz hasło użytkownika root samby i zatwierdzamy&lt;br /&gt;
* restartujemy komputer&lt;br /&gt;
* logujemy się jeszcze raz na konto administratora do naszego komputera&lt;br /&gt;
* wchodzimy do Panelu sterowania&lt;br /&gt;
* wybieramy ''Konta użytkowników''&lt;br /&gt;
* dodajemy użytkownika wpisując nazwe użytkownika oraz domenę&lt;br /&gt;
* restartujemy komputer&lt;br /&gt;
* przy logowaniu wybieramy domenę oraz wpisujemy nazwę użytkownika i hasło założonego w sambie&lt;br /&gt;
&lt;br /&gt;
== Linki ==&lt;br /&gt;
Na temat Samby można poczytać również&lt;br /&gt;
* Konfiguracja samby na naszej wiki - [[Samba]]&lt;br /&gt;
* Wikipedia strona na temat serwera plików - [http://pl.wikipedia.org/wiki/Samba_(program) Wikipedia]&lt;br /&gt;
* Oficjalna wiki samby - [http://wiki.samba.org/index.php/Main_Page oficjalna wiki]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;google1 style=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/google1&amp;gt;&lt;/div&gt;</summary>
		<author><name>Slawek</name></author>	</entry>

	<entry>
		<id>http://wiki.linux-user.eu/index.php/Samba_jako_PDC</id>
		<title>Samba jako PDC</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux-user.eu/index.php/Samba_jako_PDC"/>
				<updated>2012-09-14T14:08:26Z</updated>
		
		<summary type="html">&lt;p&gt;Slawek: /* Konfiguracja */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[category:Serwer]]&lt;br /&gt;
Samba '''PDC''' czyli Samba '''Primary Domain Controller''' w tym how to zostanie przedstawiona jedna z możliwych konfiguracji oprogramowania '''Samba''' do działania w roli kontrolera domeny. Samba korzysta z protokołu '''SMB''' (''Server Message Block'') i wykorzystuje porty 137/UDP, 138/UDP, 139/TCP, opcjonalnie 445/TCP. Więcej na temat samej Samby możesz dowiedzieć się [[Samba|tutaj]].&lt;br /&gt;
Poniższa konfiguracja została przetestowana na systemie [[Ubuntu]] 12.04 LTS 64 bit.&lt;br /&gt;
=== Cele ===&lt;br /&gt;
* podpięcie stacji roboczych do domeny&lt;br /&gt;
* udostępnianie dysków sieciowych&lt;br /&gt;
* tworzenie profili lokalnych&lt;br /&gt;
* wymuszanie zmiany haseł dla użytkowników końcowych&lt;br /&gt;
&lt;br /&gt;
=== Instalacja ===&lt;br /&gt;
W moim przypadku pakiet '''Samba''' wraz z oprogramowaniem takim jak '''smbclient''' czy '''samba-common''' został zainstalowany wraz z instalacją systemu w wersji 3.6.3. Jeśli jednak jesteś zmuszony do instalacji własnoręcznie wydaj polecenie&lt;br /&gt;
 sudo apt-get install samba*&lt;br /&gt;
po wydaniu powyższego polecenia powinieneś mieć zainstalowane wszystkie potrzebne pakiety samby.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguracja ===&lt;br /&gt;
Główny plik konfiguracyjny samby znajduje się w ścieżce &lt;br /&gt;
 /etc/samba/&lt;br /&gt;
i jest nim plik o nazwie '''smb.conf'''. Plik ''smb.conf'' świeżo po instalacji zawiera już wstępnie skonfigurowany serwer oraz wiele linijek komentarzy, które warto poczytać, jednak my przeprowadzimy własną konfigurację dlatego orginalny plik samby kopiujemy w bezpieczne miejsce i tworzymy nowy plik ''smb.conf''&lt;br /&gt;
 sudo mv /etc/samba/smb.conf /etc/samba/smb.conf-org&lt;br /&gt;
 sudo touch /etc/samba/smb.conf&lt;br /&gt;
Przykładowa konfiguracja pliku ''smb.conf''&lt;br /&gt;
 [global]&lt;br /&gt;
        workgroup = LINUX&lt;br /&gt;
        server string = %h server (fs Samba)&lt;br /&gt;
        security = domain&lt;br /&gt;
        hide dot files = yes&lt;br /&gt;
        hosts allow = 127.0.0.1 127.0.1.1 192.168.2.&lt;br /&gt;
        passdb backend = tdbsam&lt;br /&gt;
        add machine script = /usr/sbin/useradd -d /dev/null -g samba-machines -c 'konto maszyny %I' -s /bin/false %u&lt;br /&gt;
        username map = /etc/samba/smbusers&lt;br /&gt;
        unix password sync = Yes&lt;br /&gt;
        log level = 3&lt;br /&gt;
        name resolve order = wins bcast hosts&lt;br /&gt;
        domain logons = Yes&lt;br /&gt;
        domain master = Yes&lt;br /&gt;
        local master = Yes&lt;br /&gt;
        wins support = Yes&lt;br /&gt;
        dos file times = yes&lt;br /&gt;
        announce as =  NT server&lt;br /&gt;
        idmap uid = 15000-20000&lt;br /&gt;
        idmap gid = 15000-20000&lt;br /&gt;
        admin users = root&lt;br /&gt;
        encrypt passwords = yes  #szyfrowanie haseł&lt;br /&gt;
        logon home = %L%UNetlogon&lt;br /&gt;
        logon path =&lt;br /&gt;
        logon script = logon.bat&lt;br /&gt;
        logon drive = N:&lt;br /&gt;
        nt pipe support = yes&lt;br /&gt;
        nt acl support = no&lt;br /&gt;
        unix password sync = Yes&lt;br /&gt;
        pam password change = Yes&lt;br /&gt;
        lanman auth = Yes&lt;br /&gt;
        #ntlm auth = no&lt;br /&gt;
        read raw = yes&lt;br /&gt;
        write raw = yes&lt;br /&gt;
 #      buforowanie katalogów&lt;br /&gt;
        getwd cache = yes&lt;br /&gt;
 # buforowanie zapisu plików zdecydownaie poprawia predkosc&lt;br /&gt;
         time server = yes&lt;br /&gt;
 [home]&lt;br /&gt;
        comment = Home&lt;br /&gt;
        path = /home/samba/users/%U&lt;br /&gt;
        read only = No&lt;br /&gt;
        browsable = yes&lt;br /&gt;
        guest ok = no&lt;br /&gt;
        create mask = 0600&lt;br /&gt;
        directory mask = 0700&lt;br /&gt;
 [netlogon]&lt;br /&gt;
        comment = Network Logon Service&lt;br /&gt;
        path = /home/samba/netlogon&lt;br /&gt;
        browsable = no&lt;br /&gt;
        read only = True&lt;br /&gt;
        public = no&lt;br /&gt;
 [profile]&lt;br /&gt;
        comment = User profiles&lt;br /&gt;
        path = /home/samba/profiles&lt;br /&gt;
        browsable = yes&lt;br /&gt;
        writable = yes&lt;br /&gt;
        create mask = 0600&lt;br /&gt;
        directory mask = 0700&lt;br /&gt;
 [Wspolny]&lt;br /&gt;
        comment = Wspolny&lt;br /&gt;
        path = /home/samba/allusers&lt;br /&gt;
        browsable = yes&lt;br /&gt;
        guest ok = yes&lt;br /&gt;
        read only = No&lt;br /&gt;
        public = yes&lt;br /&gt;
 [Muzyka]&lt;br /&gt;
        comment = Katalog z muzyka #komentarz&lt;br /&gt;
        path = /home/samba/muzyka  #ścieżka na serwerze do katalogu&lt;br /&gt;
        browsable = yes #możliwy do przeszukiwania&lt;br /&gt;
        writable = yes #zapisywalny&lt;br /&gt;
        read only = no #tylko do odczytu&lt;br /&gt;
        force create mode = 0770 #wymuszamy tworzenie plików z odpowiednimi prawami&lt;br /&gt;
        force group = smbusers #wszystkie dodane pliki będą w grupie&lt;br /&gt;
&lt;br /&gt;
 [kowalski]&lt;br /&gt;
        path = /home/kowalski/&lt;br /&gt;
        valid users = root, kowalski&lt;br /&gt;
        guest ok = no&lt;br /&gt;
        read only = No&lt;br /&gt;
&lt;br /&gt;
Pamiętaj, że wszystkie katalogi w opcjach ''path'' muszą istnieć. &lt;br /&gt;
 sudo mkdir /home/samba&lt;br /&gt;
 sudo mkdir /home/samba/netlogon&lt;br /&gt;
 sudo mkdir /home/samba/profiles&lt;br /&gt;
 sudo mkdir /home/samba/allusers&lt;br /&gt;
 sudo mkdir /home/samba/muzyka&lt;br /&gt;
 sudo mkdir /home/slawek/users/kowalski&lt;br /&gt;
ostatnia sekcja ''[kowalski]'' jest przeznaczona tylko dla użytkownika kowalski i taki również użytkownik musi istnieć w systemie z katalogiem domowym znajdującym się w ścieżce ''/home/kowalski''.&amp;lt;br /&amp;gt;&lt;br /&gt;
Następnie tworzymy grupę dla użytkowników, którzy będą korzystać z serwera Samba, dajemy odpowiednie uprawnienia do katalogów oraz tworzymy użytkowników i maszyny.&amp;lt;br /&amp;gt;&lt;br /&gt;
Dodajemy grupę o nazwie ''samba''&lt;br /&gt;
 sudo groupadd smbusers&lt;br /&gt;
zmieniamy prawa do katalogów &lt;br /&gt;
 sudo chown -R root:smbusers /home/samba/&lt;br /&gt;
 sudo chmod 774 /home/samba/allusers/&lt;br /&gt;
 sudo chmod 770 /home/samba/profiles/&lt;br /&gt;
 sudo chmod 750 /home/samba/netlogon/&lt;br /&gt;
 sudo chmod 770 /home/samba/muzyka/&lt;br /&gt;
 sudo chown root:smbusers /home/samba/muzyka/&lt;br /&gt;
 sudo chmod 700 /home/samba/users/kowalski&lt;br /&gt;
 sudo chown kowalski:smbusers /home/samba/users/kowalski&lt;br /&gt;
Katalogi musimy tworzyć dla każdego użytkownika z ręki lub podczas dodawania użytkownika do systemu za pomocą polecenia [[useradd]] z opcją  '''-d /katalog/usera'''. Katalogi jak i nazwy grup powinieneś dostosować do własnych preferencji. Do konfigurowania samby możesz również użyć opcji, które zostały przedstawione na stronie [[samba]]. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Profil lokalny a mobilny ===&lt;br /&gt;
Profil lokalny czyli wszystkie ustawienia oraz pliki z profilów użytkowników samby są przechowywane na lokalnej maszynie każdego użytkownika, natomiast z profilami mobilnymi jest dokładnie odwrotnie. Sprawę związaną z profilami rozwiązujemy poleceniem&lt;br /&gt;
 logon path =&lt;br /&gt;
w pliku konfiguracyjnym samby. Jeśli zostawimy tą opcję pustą to będziemy mieli sambę z domeną i profilami lokalnymi. Jeśli powyższa obcja będzie wyglądać następująco&lt;br /&gt;
 logon path =  %L%UProfile&lt;br /&gt;
utworzymy dla naszej domeny profile mobilne (dynamiczna ścieżka dla profili, systemu Windows NT/XP/2000/2003), pamiętaj, że musi istnieć zasób samby ''[Profile]''.&lt;br /&gt;
=== Użytkownicy ===&lt;br /&gt;
Na początku zakładamy konto dla użytkownika [[root]] będziemy go potrzebowali jedynie do kontaktowania się z serwerem samby na początku zakładania domeny np w systemie Windows.&lt;br /&gt;
 smbpasswd -a root&lt;br /&gt;
Dla każdego użytkownika musimy dodać tzw maszyne zaufania czyli komputer + użytkownika bez dostępu do powłoki&lt;br /&gt;
zakładamy grupę dla maszyn&lt;br /&gt;
 sudo groupadd samba-machines&lt;br /&gt;
dodajemy zwykłego użytkownika systemu &lt;br /&gt;
 useradd kowalski&lt;br /&gt;
nadajemy mu hasło&lt;br /&gt;
 passwd kowalski&lt;br /&gt;
dodajemy komputer użytkownika do samby &lt;br /&gt;
 smbpasswd -a -m kowalski&lt;br /&gt;
dodajemy użytkownika do samby&lt;br /&gt;
 smbpasswd -a kowalski&lt;br /&gt;
taką samą czynność musimy przeprowadzić dla każdego użytkownika, który ma mieć jakiś dostęp do zasobów samby oczywiście bez  zakładania nowych grup.&lt;br /&gt;
&lt;br /&gt;
restartujemy sambę&lt;br /&gt;
 sudo service smbd restart&lt;br /&gt;
to samo robimy z demonem nmbd&lt;br /&gt;
 sudo service nmbd restart&lt;br /&gt;
i uruchamiamy winbinda&lt;br /&gt;
 sudo service winbind start&lt;br /&gt;
uruchamiamy sambę przy wstawaniu systemu&lt;br /&gt;
 chkconfig smbd on&lt;br /&gt;
oraz &lt;br /&gt;
 chkconfig nmbd on&lt;br /&gt;
i&lt;br /&gt;
 chkconfig winbind on&lt;br /&gt;
Uwaga domyślnie możesz nie mieć zainstalowanego programu [[chkconfig]], dlatego przed wydaniem powyższych komend musisz zainstalować ten pakiet poleceniem&lt;br /&gt;
 sudo apt-get install chkconfig&lt;br /&gt;
&lt;br /&gt;
=== Inne ===&lt;br /&gt;
Ciekawym rozwiązaniem jest polecenie '''pdbedit''', którym możemy np wymuszać czas po jakim musi zostać zmienione hasło dla użytkownika, co jaki czas może powtarzać się ostatnio skonfigurowane hasło i wiele innych najciekawsze z nich to &lt;br /&gt;
*wymuszenie zmiany hasła dla użytkowników samby co 60 dni&lt;br /&gt;
 pdbedit -P &amp;quot;maximum password age&amp;quot; -C 518400 #(60dni)&lt;br /&gt;
*wypisanie danych o użytkowniku&lt;br /&gt;
 pdbedit -Lv kowalski&lt;br /&gt;
 WARNING: The &amp;quot;idmap uid&amp;quot; option is deprecated&lt;br /&gt;
 WARNING: The &amp;quot;idmap gid&amp;quot; option is deprecated&lt;br /&gt;
 Server's Role (logon server) NOT ADVISED with domain-level security&lt;br /&gt;
 Forcing Primary Group to 'Domain Users' for kowalski&lt;br /&gt;
 Unix username:        kowalski&lt;br /&gt;
 NT username:          &lt;br /&gt;
 Account Flags:        [U          ]&lt;br /&gt;
 User SID:             S-1-5-21-1251109636-2657097270-4275611531-1003&lt;br /&gt;
 Primary Group SID:    S-1-5-21-1251109636-2657097270-4275611531-513&lt;br /&gt;
 Full Name:            Uzytkownik samba&lt;br /&gt;
 Home Directory:       fs-ubuntukowalskiprofile&lt;br /&gt;
 HomeDir Drive:        H:&lt;br /&gt;
 Logon Script:         &lt;br /&gt;
 Profile Path:         &lt;br /&gt;
 Domain:               LINUX&lt;br /&gt;
 Account desc:         &lt;br /&gt;
 Workstations:         &lt;br /&gt;
 Munged dial:          &lt;br /&gt;
 Logon time:           0&lt;br /&gt;
 Logoff time:          śro, 06 lut 2036 16:06:39 CET&lt;br /&gt;
 Kickoff time:         śro, 06 lut 2036 16:06:39 CET&lt;br /&gt;
 Password last set:    wto, 26 cze 2012 17:32:57 CEST&lt;br /&gt;
 Password can change:  wto, 26 cze 2012 17:32:57 CEST&lt;br /&gt;
 Password must change: never&lt;br /&gt;
 Last bad password   : 0&lt;br /&gt;
 Bad password count  : 0&lt;br /&gt;
 Logon hours         : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF&lt;br /&gt;
*minimalna długość hasła&lt;br /&gt;
 pdbedit -P &amp;quot;min password length&amp;quot; -C 8&lt;br /&gt;
*co ile zmian haseł, hasło może się powtórzyć&lt;br /&gt;
 pdbedit -P &amp;quot;password history&amp;quot; -C 4&lt;br /&gt;
*maksymalna ilość błędnych logowań&lt;br /&gt;
 pdbedit -P &amp;quot;bad lockout attempt&amp;quot; -C 8&lt;br /&gt;
i wiele innych, dla wyjaśnienia&lt;br /&gt;
&lt;br /&gt;
'''Samba Policy Controls'''&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! NT4 policy Name !! Samba Policy Name !! NT4 Range !! Samba Range !! Samba Default&lt;br /&gt;
|-&lt;br /&gt;
| Maximum Password Age || maximum password age || 0 - 999 (days) || 0 - 4294967295 (sec) || 4294967295&lt;br /&gt;
|-&lt;br /&gt;
| Minimum Password Age || minimum password age || 0 - 999 (days) || 0 - 4294967295 (sec) || 0&lt;br /&gt;
|-&lt;br /&gt;
| Mimimum Password Length || min password length || 1 - 14 (Chars) || 0 - 4294967295 (Chars) || 5&lt;br /&gt;
|-&lt;br /&gt;
| Password Uniqueness || password history || 0 - 23 (#) || 0 - 4294967295 (#) || 0&lt;br /&gt;
|-&lt;br /&gt;
| Account Lockout - Reset count after || reset count minutes || 1 - 99998 (min) || 0 - 4294967295 (min) || 30&lt;br /&gt;
|-&lt;br /&gt;
| Lockout after bad logon attempts || bad lockout attempt || 0 - 998 (#) || 0 - 4294967295 (#) || 0&lt;br /&gt;
|-&lt;br /&gt;
| Lockout Duration || lockout duration || 1 - 99998 (min) || 0 - 4294967295 (min) || 30&lt;br /&gt;
|-&lt;br /&gt;
| Users must log on in order to change password || user must logon to change password || 0/1 || 0 - 4294967295 || 0&lt;br /&gt;
|-&lt;br /&gt;
| *** Registry Setting *** || refuse machine password change || 0/1 || 0 - 4294967295 || 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Skrypt logon.bat ==&lt;br /&gt;
Pamiętajmy aby skrypt najlepiej pisać w systemie Windows w związku z tym, że Linux nie używa tzw &amp;quot;powrotu karetki&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
 #  Reset the current time to that shown by the server.&lt;br /&gt;
 #  We must have the &amp;quot;time server = yes&amp;quot; option in the&lt;br /&gt;
 #  smb.conf for this to work.&lt;br /&gt;
 echo Setting Current Time...&lt;br /&gt;
 net time \\linux /set /yes&lt;br /&gt;
 #  Here we map network drives to shares on the Samba&lt;br /&gt;
 #  server&lt;br /&gt;
 echo Mapping Network Drives to Samba Server Hydra...&lt;br /&gt;
 net use h: \\linux\netlogon&lt;br /&gt;
 net use p: \\linux\profile&lt;br /&gt;
 net use f: \\linux\home&lt;br /&gt;
 net use x: \\linux\wspolny&lt;br /&gt;
&lt;br /&gt;
w naszym przypadku skrypt umieszczamy w ścieżce ''/home/samba/netlogon'', nadajemy mu odpowiednie uprawnienia&lt;br /&gt;
 chown root:smbusers logon.bat&lt;br /&gt;
oraz&lt;br /&gt;
 chmod 750 logon.bat&lt;br /&gt;
i to powinno wystarczyć, oczywiście plik ''logon.bat'' musimy dostosować do własnego konfiga samby.&lt;br /&gt;
&lt;br /&gt;
== Podłączanie do domeny systemu Windows ==&lt;br /&gt;
=== Windows XP ===&lt;br /&gt;
Możliwość podłączenia komputera z systemem Windows zaczyna się od wersji &amp;lt;u&amp;gt;professional&amp;lt;/u&amp;gt;.&lt;br /&gt;
Aby podłączyć kompuetr z systemem Windows do domeny należy wykonać poniższe kroki:&lt;br /&gt;
* Wejść do Panelu sterowania&lt;br /&gt;
* Wybrać ikonkę ''System''&lt;br /&gt;
* Wejść w zakładkę ''Nazwa komputera''&lt;br /&gt;
* Nacisnąć na przycisk ''Zmień''&lt;br /&gt;
* Zaznaczyć opcję ''Domena'' oraz wpisać nazwę domeny zatwierdzić przyciskając ''OK''&lt;br /&gt;
* podajemy nazwę oraz hasło użytkownika root samby i zatwierdzamy&lt;br /&gt;
* restartujemy komputer&lt;br /&gt;
* logujemy się jeszcze raz na konto administratora do naszego komputera&lt;br /&gt;
* wchodzimy do Panelu sterowania&lt;br /&gt;
* wybieramy ''Konta użytkowników''&lt;br /&gt;
* dodajemy użytkownika wpisując nazwe użytkownika oraz domenę&lt;br /&gt;
* restartujemy komputer&lt;br /&gt;
* przy logowaniu wybieramy domenę oraz wpisujemy nazwę użytkownika i hasło założonego w sambie&lt;br /&gt;
&lt;br /&gt;
== Linki ==&lt;br /&gt;
Na temat Samby można poczytać również&lt;br /&gt;
* Konfiguracja samby na naszej wiki - [[Samba]]&lt;br /&gt;
* Wikipedia strona na temat serwera plików - [http://pl.wikipedia.org/wiki/Samba_(program) Wikipedia]&lt;br /&gt;
* Oficjalna wiki samby - [http://wiki.samba.org/index.php/Main_Page oficjalna wiki]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;google1 style=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/google1&amp;gt;&lt;/div&gt;</summary>
		<author><name>Slawek</name></author>	</entry>

	<entry>
		<id>http://wiki.linux-user.eu/index.php/Samba_jako_PDC</id>
		<title>Samba jako PDC</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux-user.eu/index.php/Samba_jako_PDC"/>
				<updated>2012-09-14T10:59:56Z</updated>
		
		<summary type="html">&lt;p&gt;Slawek: /* Użytkownicy */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[category:Serwer]]&lt;br /&gt;
Samba '''PDC''' czyli Samba '''Primary Domain Controller''' w tym how to zostanie przedstawiona jedna z możliwych konfiguracji oprogramowania '''Samba''' do działania w roli kontrolera domeny. Samba korzysta z protokołu '''SMB''' (''Server Message Block'') i wykorzystuje porty 137/UDP, 138/UDP, 139/TCP, opcjonalnie 445/TCP. Więcej na temat samej Samby możesz dowiedzieć się [[Samba|tutaj]].&lt;br /&gt;
Poniższa konfiguracja została przetestowana na systemie [[Ubuntu]] 12.04 LTS 64 bit.&lt;br /&gt;
=== Cele ===&lt;br /&gt;
* podpięcie stacji roboczych do domeny&lt;br /&gt;
* udostępnianie dysków sieciowych&lt;br /&gt;
* tworzenie profili lokalnych&lt;br /&gt;
* wymuszanie zmiany haseł dla użytkowników końcowych&lt;br /&gt;
&lt;br /&gt;
=== Instalacja ===&lt;br /&gt;
W moim przypadku pakiet '''Samba''' wraz z oprogramowaniem takim jak '''smbclient''' czy '''samba-common''' został zainstalowany wraz z instalacją systemu w wersji 3.6.3. Jeśli jednak jesteś zmuszony do instalacji własnoręcznie wydaj polecenie&lt;br /&gt;
 sudo apt-get install samba*&lt;br /&gt;
po wydaniu powyższego polecenia powinieneś mieć zainstalowane wszystkie potrzebne pakiety samby.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguracja ===&lt;br /&gt;
Główny plik konfiguracyjny samby znajduje się w ścieżce &lt;br /&gt;
 /etc/samba/&lt;br /&gt;
i jest nim plik o nazwie '''smb.conf'''. Plik ''smb.conf'' świeżo po instalacji zawiera już wstępnie skonfigurowany serwer oraz wiele linijek komentarzy, które warto poczytać, jednak my przeprowadzimy własną konfigurację dlatego orginalny plik samby kopiujemy w bezpieczne miejsce i tworzymy nowy plik ''smb.conf''&lt;br /&gt;
 sudo mv /etc/samba/smb.conf /etc/samba/smb.conf-org&lt;br /&gt;
 sudo touch /etc/samba/smb.conf&lt;br /&gt;
Przykładowa konfiguracja pliku ''smb.conf''&lt;br /&gt;
 [global]&lt;br /&gt;
        workgroup = LINUX&lt;br /&gt;
        server string = %h server (fs Samba)&lt;br /&gt;
        security = domain&lt;br /&gt;
        hide dot files = yes&lt;br /&gt;
        hosts allow = 127.0.0.1 127.0.1.1 192.168.2.&lt;br /&gt;
        passdb backend = tdbsam&lt;br /&gt;
        add machine script = /usr/sbin/useradd -d /dev/null -g samba-machines -c 'konto maszyny %I' -s /bin/false %u&lt;br /&gt;
        username map = /etc/samba/smbusers&lt;br /&gt;
        unix password sync = Yes&lt;br /&gt;
        log level = 3&lt;br /&gt;
        name resolve order = wins bcast hosts&lt;br /&gt;
        domain logons = Yes&lt;br /&gt;
        domain master = Yes&lt;br /&gt;
        local master = Yes&lt;br /&gt;
        wins support = Yes&lt;br /&gt;
        dos file times = yes&lt;br /&gt;
        announce as =  NT server&lt;br /&gt;
        idmap uid = 15000-20000&lt;br /&gt;
        idmap gid = 15000-20000&lt;br /&gt;
        admin users = root&lt;br /&gt;
        encrypt passwords = yes&lt;br /&gt;
                #szyfrowanie haseł&lt;br /&gt;
        logon home = %L%Uprofile&lt;br /&gt;
        logon path =&lt;br /&gt;
        logon drive = H:&lt;br /&gt;
        nt pipe support = yes&lt;br /&gt;
        nt acl support = no&lt;br /&gt;
        unix password sync = Yes&lt;br /&gt;
        pam password change = Yes&lt;br /&gt;
        lanman auth = Yes&lt;br /&gt;
        #ntlm auth = no&lt;br /&gt;
        read raw = yes&lt;br /&gt;
        write raw = yes&lt;br /&gt;
 #      buforowanie katalogów&lt;br /&gt;
        getwd cache = yes&lt;br /&gt;
 # buforowanie zapisu plików zdecydownaie poprawia predkosc&lt;br /&gt;
         time server = yes&lt;br /&gt;
 [home]&lt;br /&gt;
        comment = Home&lt;br /&gt;
        path = /home/samba/users/%U&lt;br /&gt;
        read only = No&lt;br /&gt;
        browsable = yes&lt;br /&gt;
        guest ok = no&lt;br /&gt;
        create mask = 0600&lt;br /&gt;
        directory mask = 0700&lt;br /&gt;
 [netlogon]&lt;br /&gt;
        comment = Network Logon Service&lt;br /&gt;
        path = /home/samba/netlogon&lt;br /&gt;
        browsable = no&lt;br /&gt;
        read only = True&lt;br /&gt;
        public = no&lt;br /&gt;
 [profile]&lt;br /&gt;
        comment = User profiles&lt;br /&gt;
        path = /home/samba/profiles&lt;br /&gt;
        browsable = yes&lt;br /&gt;
        writable = yes&lt;br /&gt;
        create mask = 0600&lt;br /&gt;
        directory mask = 0700&lt;br /&gt;
 [Wspolny]&lt;br /&gt;
        comment = Wspolny&lt;br /&gt;
        path = /home/samba/allusers&lt;br /&gt;
        browsable = yes&lt;br /&gt;
        guest ok = yes&lt;br /&gt;
        read only = No&lt;br /&gt;
        public = yes&lt;br /&gt;
 [Muzyka]&lt;br /&gt;
        comment = Katalog z muzyka #komentarz&lt;br /&gt;
        path = /home/samba/muzyka  #ścieżka na serwerze do katalogu&lt;br /&gt;
        browsable = yes #możliwy do przeszukiwania&lt;br /&gt;
        writable = yes #zapisywalny&lt;br /&gt;
        read only = no #tylko do odczytu&lt;br /&gt;
        force create mode = 0770 #wymuszamy tworzenie plików z odpowiednimi prawami&lt;br /&gt;
        force group = smbusers #wszystkie dodane pliki będą w grupie&lt;br /&gt;
&lt;br /&gt;
 [kowalski]&lt;br /&gt;
        path = /home/kowalski/&lt;br /&gt;
        valid users = root, kowalski&lt;br /&gt;
        guest ok = no&lt;br /&gt;
        read only = No&lt;br /&gt;
&lt;br /&gt;
Pamiętaj, że wszystkie katalogi w opcjach ''path'' muszą istnieć. &lt;br /&gt;
 sudo mkdir /home/samba&lt;br /&gt;
 sudo mkdir /home/samba/netlogon&lt;br /&gt;
 sudo mkdir /home/samba/profiles&lt;br /&gt;
 sudo mkdir /home/samba/allusers&lt;br /&gt;
 sudo mkdir /home/samba/muzyka&lt;br /&gt;
 sudo mkdir /home/slawek/users/kowalski&lt;br /&gt;
ostatnia sekcja ''[kowalski]'' jest przeznaczona tylko dla użytkownika kowalski i taki również użytkownik musi istnieć w systemie z katalogiem domowym znajdującym się w ścieżce ''/home/kowalski''.&amp;lt;br /&amp;gt;&lt;br /&gt;
Następnie tworzymy grupę dla użytkowników, którzy będą korzystać z serwera Samba, dajemy odpowiednie uprawnienia do katalogów oraz tworzymy użytkowników i maszyny.&amp;lt;br /&amp;gt;&lt;br /&gt;
Dodajemy grupę o nazwie ''samba''&lt;br /&gt;
 sudo groupadd smbusers&lt;br /&gt;
zmieniamy prawa do katalogów &lt;br /&gt;
 sudo chown -R root:smbusers /home/samba/&lt;br /&gt;
 sudo chmod 774 /home/samba/allusers/&lt;br /&gt;
 sudo chmod 770 /home/samba/profiles/&lt;br /&gt;
 sudo chmod 750 /home/samba/netlogon/&lt;br /&gt;
 sudo chmod 770 /home/samba/muzyka/&lt;br /&gt;
 sudo chown root:smbusers /home/samba/muzyka/&lt;br /&gt;
 sudo chmod 700 /home/samba/users/kowalski&lt;br /&gt;
 sudo chown kowalski:smbusers /home/samba/users/kowalski&lt;br /&gt;
Katalogi musimy tworzyć dla każdego użytkownika z ręki lub podczas dodawania użytkownika do systemu za pomocą polecenia [[useradd]] z opcją  '''-d /katalog/usera'''. Katalogi jak i nazwy grup powinieneś dostosować do własnych preferencji. Do konfigurowania samby możesz również użyć opcji, które zostały przedstawione na stronie [[samba]]. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Profil lokalny a mobilny ===&lt;br /&gt;
Profil lokalny czyli wszystkie ustawienia oraz pliki z profilów użytkowników samby są przechowywane na lokalnej maszynie każdego użytkownika, natomiast z profilami mobilnymi jest dokładnie odwrotnie. Sprawę związaną z profilami rozwiązujemy poleceniem&lt;br /&gt;
 logon path =&lt;br /&gt;
w pliku konfiguracyjnym samby. Jeśli zostawimy tą opcję pustą to będziemy mieli sambę z domeną i profilami lokalnymi. Jeśli powyższa obcja będzie wyglądać następująco&lt;br /&gt;
 logon path =  %L%UProfile&lt;br /&gt;
utworzymy dla naszej domeny profile mobilne (dynamiczna ścieżka dla profili, systemu Windows NT/XP/2000/2003), pamiętaj, że musi istnieć zasób samby ''[Profile]''.&lt;br /&gt;
=== Użytkownicy ===&lt;br /&gt;
Na początku zakładamy konto dla użytkownika [[root]] będziemy go potrzebowali jedynie do kontaktowania się z serwerem samby na początku zakładania domeny np w systemie Windows.&lt;br /&gt;
 smbpasswd -a root&lt;br /&gt;
Dla każdego użytkownika musimy dodać tzw maszyne zaufania czyli komputer + użytkownika bez dostępu do powłoki&lt;br /&gt;
zakładamy grupę dla maszyn&lt;br /&gt;
 sudo groupadd samba-machines&lt;br /&gt;
dodajemy zwykłego użytkownika systemu &lt;br /&gt;
 useradd kowalski&lt;br /&gt;
nadajemy mu hasło&lt;br /&gt;
 passwd kowalski&lt;br /&gt;
dodajemy komputer użytkownika do samby &lt;br /&gt;
 smbpasswd -a -m kowalski&lt;br /&gt;
dodajemy użytkownika do samby&lt;br /&gt;
 smbpasswd -a kowalski&lt;br /&gt;
taką samą czynność musimy przeprowadzić dla każdego użytkownika, który ma mieć jakiś dostęp do zasobów samby oczywiście bez  zakładania nowych grup.&lt;br /&gt;
&lt;br /&gt;
restartujemy sambę&lt;br /&gt;
 sudo service smbd restart&lt;br /&gt;
to samo robimy z demonem nmbd&lt;br /&gt;
 sudo service nmbd restart&lt;br /&gt;
i uruchamiamy winbinda&lt;br /&gt;
 sudo service winbind start&lt;br /&gt;
uruchamiamy sambę przy wstawaniu systemu&lt;br /&gt;
 chkconfig smbd on&lt;br /&gt;
oraz &lt;br /&gt;
 chkconfig nmbd on&lt;br /&gt;
i&lt;br /&gt;
 chkconfig winbind on&lt;br /&gt;
Uwaga domyślnie możesz nie mieć zainstalowanego programu [[chkconfig]], dlatego przed wydaniem powyższych komend musisz zainstalować ten pakiet poleceniem&lt;br /&gt;
 sudo apt-get install chkconfig&lt;br /&gt;
&lt;br /&gt;
=== Inne ===&lt;br /&gt;
Ciekawym rozwiązaniem jest polecenie '''pdbedit''', którym możemy np wymuszać czas po jakim musi zostać zmienione hasło dla użytkownika, co jaki czas może powtarzać się ostatnio skonfigurowane hasło i wiele innych najciekawsze z nich to &lt;br /&gt;
*wymuszenie zmiany hasła dla użytkowników samby co 60 dni&lt;br /&gt;
 pdbedit -P &amp;quot;maximum password age&amp;quot; -C 518400 #(60dni)&lt;br /&gt;
*wypisanie danych o użytkowniku&lt;br /&gt;
 pdbedit -Lv kowalski&lt;br /&gt;
 WARNING: The &amp;quot;idmap uid&amp;quot; option is deprecated&lt;br /&gt;
 WARNING: The &amp;quot;idmap gid&amp;quot; option is deprecated&lt;br /&gt;
 Server's Role (logon server) NOT ADVISED with domain-level security&lt;br /&gt;
 Forcing Primary Group to 'Domain Users' for kowalski&lt;br /&gt;
 Unix username:        kowalski&lt;br /&gt;
 NT username:          &lt;br /&gt;
 Account Flags:        [U          ]&lt;br /&gt;
 User SID:             S-1-5-21-1251109636-2657097270-4275611531-1003&lt;br /&gt;
 Primary Group SID:    S-1-5-21-1251109636-2657097270-4275611531-513&lt;br /&gt;
 Full Name:            Uzytkownik samba&lt;br /&gt;
 Home Directory:       fs-ubuntukowalskiprofile&lt;br /&gt;
 HomeDir Drive:        H:&lt;br /&gt;
 Logon Script:         &lt;br /&gt;
 Profile Path:         &lt;br /&gt;
 Domain:               LINUX&lt;br /&gt;
 Account desc:         &lt;br /&gt;
 Workstations:         &lt;br /&gt;
 Munged dial:          &lt;br /&gt;
 Logon time:           0&lt;br /&gt;
 Logoff time:          śro, 06 lut 2036 16:06:39 CET&lt;br /&gt;
 Kickoff time:         śro, 06 lut 2036 16:06:39 CET&lt;br /&gt;
 Password last set:    wto, 26 cze 2012 17:32:57 CEST&lt;br /&gt;
 Password can change:  wto, 26 cze 2012 17:32:57 CEST&lt;br /&gt;
 Password must change: never&lt;br /&gt;
 Last bad password   : 0&lt;br /&gt;
 Bad password count  : 0&lt;br /&gt;
 Logon hours         : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF&lt;br /&gt;
*minimalna długość hasła&lt;br /&gt;
 pdbedit -P &amp;quot;min password length&amp;quot; -C 8&lt;br /&gt;
*co ile zmian haseł, hasło może się powtórzyć&lt;br /&gt;
 pdbedit -P &amp;quot;password history&amp;quot; -C 4&lt;br /&gt;
*maksymalna ilość błędnych logowań&lt;br /&gt;
 pdbedit -P &amp;quot;bad lockout attempt&amp;quot; -C 8&lt;br /&gt;
i wiele innych, dla wyjaśnienia&lt;br /&gt;
&lt;br /&gt;
'''Samba Policy Controls'''&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! NT4 policy Name !! Samba Policy Name !! NT4 Range !! Samba Range !! Samba Default&lt;br /&gt;
|-&lt;br /&gt;
| Maximum Password Age || maximum password age || 0 - 999 (days) || 0 - 4294967295 (sec) || 4294967295&lt;br /&gt;
|-&lt;br /&gt;
| Minimum Password Age || minimum password age || 0 - 999 (days) || 0 - 4294967295 (sec) || 0&lt;br /&gt;
|-&lt;br /&gt;
| Mimimum Password Length || min password length || 1 - 14 (Chars) || 0 - 4294967295 (Chars) || 5&lt;br /&gt;
|-&lt;br /&gt;
| Password Uniqueness || password history || 0 - 23 (#) || 0 - 4294967295 (#) || 0&lt;br /&gt;
|-&lt;br /&gt;
| Account Lockout - Reset count after || reset count minutes || 1 - 99998 (min) || 0 - 4294967295 (min) || 30&lt;br /&gt;
|-&lt;br /&gt;
| Lockout after bad logon attempts || bad lockout attempt || 0 - 998 (#) || 0 - 4294967295 (#) || 0&lt;br /&gt;
|-&lt;br /&gt;
| Lockout Duration || lockout duration || 1 - 99998 (min) || 0 - 4294967295 (min) || 30&lt;br /&gt;
|-&lt;br /&gt;
| Users must log on in order to change password || user must logon to change password || 0/1 || 0 - 4294967295 || 0&lt;br /&gt;
|-&lt;br /&gt;
| *** Registry Setting *** || refuse machine password change || 0/1 || 0 - 4294967295 || 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Skrypt logon.bat ==&lt;br /&gt;
Pamiętajmy aby skrypt najlepiej pisać w systemie Windows w związku z tym, że Linux nie używa tzw &amp;quot;powrotu karetki&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
 #  Reset the current time to that shown by the server.&lt;br /&gt;
 #  We must have the &amp;quot;time server = yes&amp;quot; option in the&lt;br /&gt;
 #  smb.conf for this to work.&lt;br /&gt;
 echo Setting Current Time...&lt;br /&gt;
 net time \\linux /set /yes&lt;br /&gt;
 #  Here we map network drives to shares on the Samba&lt;br /&gt;
 #  server&lt;br /&gt;
 echo Mapping Network Drives to Samba Server Hydra...&lt;br /&gt;
 net use h: \\linux\netlogon&lt;br /&gt;
 net use p: \\linux\profile&lt;br /&gt;
 net use f: \\linux\home&lt;br /&gt;
 net use x: \\linux\wspolny&lt;br /&gt;
&lt;br /&gt;
w naszym przypadku skrypt umieszczamy w ścieżce ''/home/samba/netlogon'', nadajemy mu odpowiednie uprawnienia&lt;br /&gt;
 chown root:smbusers logon.bat&lt;br /&gt;
oraz&lt;br /&gt;
 chmod 750 logon.bat&lt;br /&gt;
i to powinno wystarczyć, oczywiście plik ''logon.bat'' musimy dostosować do własnego konfiga samby.&lt;br /&gt;
&lt;br /&gt;
== Podłączanie do domeny systemu Windows ==&lt;br /&gt;
=== Windows XP ===&lt;br /&gt;
Możliwość podłączenia komputera z systemem Windows zaczyna się od wersji &amp;lt;u&amp;gt;professional&amp;lt;/u&amp;gt;.&lt;br /&gt;
Aby podłączyć kompuetr z systemem Windows do domeny należy wykonać poniższe kroki:&lt;br /&gt;
* Wejść do Panelu sterowania&lt;br /&gt;
* Wybrać ikonkę ''System''&lt;br /&gt;
* Wejść w zakładkę ''Nazwa komputera''&lt;br /&gt;
* Nacisnąć na przycisk ''Zmień''&lt;br /&gt;
* Zaznaczyć opcję ''Domena'' oraz wpisać nazwę domeny zatwierdzić przyciskając ''OK''&lt;br /&gt;
* podajemy nazwę oraz hasło użytkownika root samby i zatwierdzamy&lt;br /&gt;
* restartujemy komputer&lt;br /&gt;
* logujemy się jeszcze raz na konto administratora do naszego komputera&lt;br /&gt;
* wchodzimy do Panelu sterowania&lt;br /&gt;
* wybieramy ''Konta użytkowników''&lt;br /&gt;
* dodajemy użytkownika wpisując nazwe użytkownika oraz domenę&lt;br /&gt;
* restartujemy komputer&lt;br /&gt;
* przy logowaniu wybieramy domenę oraz wpisujemy nazwę użytkownika i hasło założonego w sambie&lt;br /&gt;
&lt;br /&gt;
== Linki ==&lt;br /&gt;
Na temat Samby można poczytać również&lt;br /&gt;
* Konfiguracja samby na naszej wiki - [[Samba]]&lt;br /&gt;
* Wikipedia strona na temat serwera plików - [http://pl.wikipedia.org/wiki/Samba_(program) Wikipedia]&lt;br /&gt;
* Oficjalna wiki samby - [http://wiki.samba.org/index.php/Main_Page oficjalna wiki]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;google1 style=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/google1&amp;gt;&lt;/div&gt;</summary>
		<author><name>Slawek</name></author>	</entry>

	<entry>
		<id>http://wiki.linux-user.eu/index.php/Samba_jako_PDC</id>
		<title>Samba jako PDC</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux-user.eu/index.php/Samba_jako_PDC"/>
				<updated>2012-09-14T09:36:22Z</updated>
		
		<summary type="html">&lt;p&gt;Slawek: /* Użytkownicy */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[category:Serwer]]&lt;br /&gt;
Samba '''PDC''' czyli Samba '''Primary Domain Controller''' w tym how to zostanie przedstawiona jedna z możliwych konfiguracji oprogramowania '''Samba''' do działania w roli kontrolera domeny. Samba korzysta z protokołu '''SMB''' (''Server Message Block'') i wykorzystuje porty 137/UDP, 138/UDP, 139/TCP, opcjonalnie 445/TCP. Więcej na temat samej Samby możesz dowiedzieć się [[Samba|tutaj]].&lt;br /&gt;
Poniższa konfiguracja została przetestowana na systemie [[Ubuntu]] 12.04 LTS 64 bit.&lt;br /&gt;
=== Cele ===&lt;br /&gt;
* podpięcie stacji roboczych do domeny&lt;br /&gt;
* udostępnianie dysków sieciowych&lt;br /&gt;
* tworzenie profili lokalnych&lt;br /&gt;
* wymuszanie zmiany haseł dla użytkowników końcowych&lt;br /&gt;
&lt;br /&gt;
=== Instalacja ===&lt;br /&gt;
W moim przypadku pakiet '''Samba''' wraz z oprogramowaniem takim jak '''smbclient''' czy '''samba-common''' został zainstalowany wraz z instalacją systemu w wersji 3.6.3. Jeśli jednak jesteś zmuszony do instalacji własnoręcznie wydaj polecenie&lt;br /&gt;
 sudo apt-get install samba*&lt;br /&gt;
po wydaniu powyższego polecenia powinieneś mieć zainstalowane wszystkie potrzebne pakiety samby.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguracja ===&lt;br /&gt;
Główny plik konfiguracyjny samby znajduje się w ścieżce &lt;br /&gt;
 /etc/samba/&lt;br /&gt;
i jest nim plik o nazwie '''smb.conf'''. Plik ''smb.conf'' świeżo po instalacji zawiera już wstępnie skonfigurowany serwer oraz wiele linijek komentarzy, które warto poczytać, jednak my przeprowadzimy własną konfigurację dlatego orginalny plik samby kopiujemy w bezpieczne miejsce i tworzymy nowy plik ''smb.conf''&lt;br /&gt;
 sudo mv /etc/samba/smb.conf /etc/samba/smb.conf-org&lt;br /&gt;
 sudo touch /etc/samba/smb.conf&lt;br /&gt;
Przykładowa konfiguracja pliku ''smb.conf''&lt;br /&gt;
 [global]&lt;br /&gt;
        workgroup = LINUX&lt;br /&gt;
        server string = %h server (fs Samba)&lt;br /&gt;
        security = domain&lt;br /&gt;
        hide dot files = yes&lt;br /&gt;
        hosts allow = 127.0.0.1 127.0.1.1 192.168.2.&lt;br /&gt;
        passdb backend = tdbsam&lt;br /&gt;
        add machine script = /usr/sbin/useradd -d /dev/null -g samba-machines -c 'konto maszyny %I' -s /bin/false %u&lt;br /&gt;
        username map = /etc/samba/smbusers&lt;br /&gt;
        unix password sync = Yes&lt;br /&gt;
        log level = 3&lt;br /&gt;
        name resolve order = wins bcast hosts&lt;br /&gt;
        domain logons = Yes&lt;br /&gt;
        domain master = Yes&lt;br /&gt;
        local master = Yes&lt;br /&gt;
        wins support = Yes&lt;br /&gt;
        dos file times = yes&lt;br /&gt;
        announce as =  NT server&lt;br /&gt;
        idmap uid = 15000-20000&lt;br /&gt;
        idmap gid = 15000-20000&lt;br /&gt;
        admin users = root&lt;br /&gt;
        encrypt passwords = yes&lt;br /&gt;
                #szyfrowanie haseł&lt;br /&gt;
        logon home = %L%Uprofile&lt;br /&gt;
        logon path =&lt;br /&gt;
        logon drive = H:&lt;br /&gt;
        nt pipe support = yes&lt;br /&gt;
        nt acl support = no&lt;br /&gt;
        unix password sync = Yes&lt;br /&gt;
        pam password change = Yes&lt;br /&gt;
        lanman auth = Yes&lt;br /&gt;
        #ntlm auth = no&lt;br /&gt;
        read raw = yes&lt;br /&gt;
        write raw = yes&lt;br /&gt;
 #      buforowanie katalogów&lt;br /&gt;
        getwd cache = yes&lt;br /&gt;
 # buforowanie zapisu plików zdecydownaie poprawia predkosc&lt;br /&gt;
         time server = yes&lt;br /&gt;
 [home]&lt;br /&gt;
        comment = Home&lt;br /&gt;
        path = /home/samba/users/%U&lt;br /&gt;
        read only = No&lt;br /&gt;
        browsable = yes&lt;br /&gt;
        guest ok = no&lt;br /&gt;
        create mask = 0600&lt;br /&gt;
        directory mask = 0700&lt;br /&gt;
 [netlogon]&lt;br /&gt;
        comment = Network Logon Service&lt;br /&gt;
        path = /home/samba/netlogon&lt;br /&gt;
        browsable = no&lt;br /&gt;
        read only = True&lt;br /&gt;
        public = no&lt;br /&gt;
 [profile]&lt;br /&gt;
        comment = User profiles&lt;br /&gt;
        path = /home/samba/profiles&lt;br /&gt;
        browsable = yes&lt;br /&gt;
        writable = yes&lt;br /&gt;
        create mask = 0600&lt;br /&gt;
        directory mask = 0700&lt;br /&gt;
 [Wspolny]&lt;br /&gt;
        comment = Wspolny&lt;br /&gt;
        path = /home/samba/allusers&lt;br /&gt;
        browsable = yes&lt;br /&gt;
        guest ok = yes&lt;br /&gt;
        read only = No&lt;br /&gt;
        public = yes&lt;br /&gt;
 [Muzyka]&lt;br /&gt;
        comment = Katalog z muzyka #komentarz&lt;br /&gt;
        path = /home/samba/muzyka  #ścieżka na serwerze do katalogu&lt;br /&gt;
        browsable = yes #możliwy do przeszukiwania&lt;br /&gt;
        writable = yes #zapisywalny&lt;br /&gt;
        read only = no #tylko do odczytu&lt;br /&gt;
        force create mode = 0770 #wymuszamy tworzenie plików z odpowiednimi prawami&lt;br /&gt;
        force group = smbusers #wszystkie dodane pliki będą w grupie&lt;br /&gt;
&lt;br /&gt;
 [kowalski]&lt;br /&gt;
        path = /home/kowalski/&lt;br /&gt;
        valid users = root, kowalski&lt;br /&gt;
        guest ok = no&lt;br /&gt;
        read only = No&lt;br /&gt;
&lt;br /&gt;
Pamiętaj, że wszystkie katalogi w opcjach ''path'' muszą istnieć. &lt;br /&gt;
 sudo mkdir /home/samba&lt;br /&gt;
 sudo mkdir /home/samba/netlogon&lt;br /&gt;
 sudo mkdir /home/samba/profiles&lt;br /&gt;
 sudo mkdir /home/samba/allusers&lt;br /&gt;
 sudo mkdir /home/samba/muzyka&lt;br /&gt;
 sudo mkdir /home/slawek/users/kowalski&lt;br /&gt;
ostatnia sekcja ''[kowalski]'' jest przeznaczona tylko dla użytkownika kowalski i taki również użytkownik musi istnieć w systemie z katalogiem domowym znajdującym się w ścieżce ''/home/kowalski''.&amp;lt;br /&amp;gt;&lt;br /&gt;
Następnie tworzymy grupę dla użytkowników, którzy będą korzystać z serwera Samba, dajemy odpowiednie uprawnienia do katalogów oraz tworzymy użytkowników i maszyny.&amp;lt;br /&amp;gt;&lt;br /&gt;
Dodajemy grupę o nazwie ''samba''&lt;br /&gt;
 sudo groupadd smbusers&lt;br /&gt;
zmieniamy prawa do katalogów &lt;br /&gt;
 sudo chown -R root:smbusers /home/samba/&lt;br /&gt;
 sudo chmod 774 /home/samba/allusers/&lt;br /&gt;
 sudo chmod 770 /home/samba/profiles/&lt;br /&gt;
 sudo chmod 750 /home/samba/netlogon/&lt;br /&gt;
 sudo chmod 770 /home/samba/muzyka/&lt;br /&gt;
 sudo chown root:smbusers /home/samba/muzyka/&lt;br /&gt;
 sudo chmod 700 /home/samba/users/kowalski&lt;br /&gt;
 sudo chown kowalski:smbusers /home/samba/users/kowalski&lt;br /&gt;
Katalogi musimy tworzyć dla każdego użytkownika z ręki lub podczas dodawania użytkownika do systemu za pomocą polecenia [[useradd]] z opcją  '''-d /katalog/usera'''. Katalogi jak i nazwy grup powinieneś dostosować do własnych preferencji. Do konfigurowania samby możesz również użyć opcji, które zostały przedstawione na stronie [[samba]]. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Profil lokalny a mobilny ===&lt;br /&gt;
Profil lokalny czyli wszystkie ustawienia oraz pliki z profilów użytkowników samby są przechowywane na lokalnej maszynie każdego użytkownika, natomiast z profilami mobilnymi jest dokładnie odwrotnie. Sprawę związaną z profilami rozwiązujemy poleceniem&lt;br /&gt;
 logon path =&lt;br /&gt;
w pliku konfiguracyjnym samby. Jeśli zostawimy tą opcję pustą to będziemy mieli sambę z domeną i profilami lokalnymi. Jeśli powyższa obcja będzie wyglądać następująco&lt;br /&gt;
 logon path =  %L%UProfile&lt;br /&gt;
utworzymy dla naszej domeny profile mobilne (dynamiczna ścieżka dla profili, systemu Windows NT/XP/2000/2003), pamiętaj, że musi istnieć zasób samby ''[Profile]''.&lt;br /&gt;
=== Użytkownicy ===&lt;br /&gt;
Na początku zakładamy konto dla użytkownika [[root]] będziemy go potrzebowali jedynie do kontaktowania się z serwerem samby na początku zakładania domeny np w systemie Windows.&lt;br /&gt;
 smbpasswd -a root&lt;br /&gt;
Dla każdego użytkownika musimy dodać tzw maszyne zaufania czyli komputer + użytkownika bez dostępu do powłoki&lt;br /&gt;
zakładamy grupę dla maszyn&lt;br /&gt;
 sudo groupadd samba-machines&lt;br /&gt;
dodajemy zwykłego użytkownika systemu &lt;br /&gt;
 useradd kowalski&lt;br /&gt;
nadajemy mu hasło&lt;br /&gt;
 passwd kowalski&lt;br /&gt;
dodajemy użytkownika do samby &lt;br /&gt;
 smbpasswd -a -m kowalski&lt;br /&gt;
dodawanie 'maszyny' odbywa się automatycznie z powyższej konfiguracji samby i nie musimy dodawać już żadnych komputerów przy dodawaniu użytkowników (wymóg samby).&lt;br /&gt;
taką samą czynność musimy przeprowadzić dla każdego użytkownika, który ma mieć jakiś dostęp do zasobów samby oczywiście bez  zakładania nowych grup.&lt;br /&gt;
&lt;br /&gt;
restartujemy sambę&lt;br /&gt;
 sudo service smbd restart&lt;br /&gt;
to samo robimy z demonem nmbd&lt;br /&gt;
 sudo service nmbd restart&lt;br /&gt;
i uruchamiamy winbinda&lt;br /&gt;
 sudo service winbind start&lt;br /&gt;
uruchamiamy sambę przy wstawaniu systemu&lt;br /&gt;
 chkconfig smbd on&lt;br /&gt;
oraz &lt;br /&gt;
 chkconfig nmbd on&lt;br /&gt;
i&lt;br /&gt;
 chkconfig winbind on&lt;br /&gt;
Uwaga domyślnie możesz nie mieć zainstalowanego programu [[chkconfig]], dlatego przed wydaniem powyższych komend musisz zainstalować ten pakiet poleceniem&lt;br /&gt;
 sudo apt-get install chkconfig&lt;br /&gt;
&lt;br /&gt;
=== Inne ===&lt;br /&gt;
Ciekawym rozwiązaniem jest polecenie '''pdbedit''', którym możemy np wymuszać czas po jakim musi zostać zmienione hasło dla użytkownika, co jaki czas może powtarzać się ostatnio skonfigurowane hasło i wiele innych najciekawsze z nich to &lt;br /&gt;
*wymuszenie zmiany hasła dla użytkowników samby co 60 dni&lt;br /&gt;
 pdbedit -P &amp;quot;maximum password age&amp;quot; -C 518400 #(60dni)&lt;br /&gt;
*wypisanie danych o użytkowniku&lt;br /&gt;
 pdbedit -Lv kowalski&lt;br /&gt;
 WARNING: The &amp;quot;idmap uid&amp;quot; option is deprecated&lt;br /&gt;
 WARNING: The &amp;quot;idmap gid&amp;quot; option is deprecated&lt;br /&gt;
 Server's Role (logon server) NOT ADVISED with domain-level security&lt;br /&gt;
 Forcing Primary Group to 'Domain Users' for kowalski&lt;br /&gt;
 Unix username:        kowalski&lt;br /&gt;
 NT username:          &lt;br /&gt;
 Account Flags:        [U          ]&lt;br /&gt;
 User SID:             S-1-5-21-1251109636-2657097270-4275611531-1003&lt;br /&gt;
 Primary Group SID:    S-1-5-21-1251109636-2657097270-4275611531-513&lt;br /&gt;
 Full Name:            Uzytkownik samba&lt;br /&gt;
 Home Directory:       fs-ubuntukowalskiprofile&lt;br /&gt;
 HomeDir Drive:        H:&lt;br /&gt;
 Logon Script:         &lt;br /&gt;
 Profile Path:         &lt;br /&gt;
 Domain:               LINUX&lt;br /&gt;
 Account desc:         &lt;br /&gt;
 Workstations:         &lt;br /&gt;
 Munged dial:          &lt;br /&gt;
 Logon time:           0&lt;br /&gt;
 Logoff time:          śro, 06 lut 2036 16:06:39 CET&lt;br /&gt;
 Kickoff time:         śro, 06 lut 2036 16:06:39 CET&lt;br /&gt;
 Password last set:    wto, 26 cze 2012 17:32:57 CEST&lt;br /&gt;
 Password can change:  wto, 26 cze 2012 17:32:57 CEST&lt;br /&gt;
 Password must change: never&lt;br /&gt;
 Last bad password   : 0&lt;br /&gt;
 Bad password count  : 0&lt;br /&gt;
 Logon hours         : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF&lt;br /&gt;
*minimalna długość hasła&lt;br /&gt;
 pdbedit -P &amp;quot;min password length&amp;quot; -C 8&lt;br /&gt;
*co ile zmian haseł, hasło może się powtórzyć&lt;br /&gt;
 pdbedit -P &amp;quot;password history&amp;quot; -C 4&lt;br /&gt;
*maksymalna ilość błędnych logowań&lt;br /&gt;
 pdbedit -P &amp;quot;bad lockout attempt&amp;quot; -C 8&lt;br /&gt;
i wiele innych, dla wyjaśnienia&lt;br /&gt;
&lt;br /&gt;
'''Samba Policy Controls'''&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! NT4 policy Name !! Samba Policy Name !! NT4 Range !! Samba Range !! Samba Default&lt;br /&gt;
|-&lt;br /&gt;
| Maximum Password Age || maximum password age || 0 - 999 (days) || 0 - 4294967295 (sec) || 4294967295&lt;br /&gt;
|-&lt;br /&gt;
| Minimum Password Age || minimum password age || 0 - 999 (days) || 0 - 4294967295 (sec) || 0&lt;br /&gt;
|-&lt;br /&gt;
| Mimimum Password Length || min password length || 1 - 14 (Chars) || 0 - 4294967295 (Chars) || 5&lt;br /&gt;
|-&lt;br /&gt;
| Password Uniqueness || password history || 0 - 23 (#) || 0 - 4294967295 (#) || 0&lt;br /&gt;
|-&lt;br /&gt;
| Account Lockout - Reset count after || reset count minutes || 1 - 99998 (min) || 0 - 4294967295 (min) || 30&lt;br /&gt;
|-&lt;br /&gt;
| Lockout after bad logon attempts || bad lockout attempt || 0 - 998 (#) || 0 - 4294967295 (#) || 0&lt;br /&gt;
|-&lt;br /&gt;
| Lockout Duration || lockout duration || 1 - 99998 (min) || 0 - 4294967295 (min) || 30&lt;br /&gt;
|-&lt;br /&gt;
| Users must log on in order to change password || user must logon to change password || 0/1 || 0 - 4294967295 || 0&lt;br /&gt;
|-&lt;br /&gt;
| *** Registry Setting *** || refuse machine password change || 0/1 || 0 - 4294967295 || 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Skrypt logon.bat ==&lt;br /&gt;
Pamiętajmy aby skrypt najlepiej pisać w systemie Windows w związku z tym, że Linux nie używa tzw &amp;quot;powrotu karetki&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
 #  Reset the current time to that shown by the server.&lt;br /&gt;
 #  We must have the &amp;quot;time server = yes&amp;quot; option in the&lt;br /&gt;
 #  smb.conf for this to work.&lt;br /&gt;
 echo Setting Current Time...&lt;br /&gt;
 net time \\linux /set /yes&lt;br /&gt;
 #  Here we map network drives to shares on the Samba&lt;br /&gt;
 #  server&lt;br /&gt;
 echo Mapping Network Drives to Samba Server Hydra...&lt;br /&gt;
 net use h: \\linux\netlogon&lt;br /&gt;
 net use p: \\linux\profile&lt;br /&gt;
 net use f: \\linux\home&lt;br /&gt;
 net use x: \\linux\wspolny&lt;br /&gt;
&lt;br /&gt;
w naszym przypadku skrypt umieszczamy w ścieżce ''/home/samba/netlogon'', nadajemy mu odpowiednie uprawnienia&lt;br /&gt;
 chown root:smbusers logon.bat&lt;br /&gt;
oraz&lt;br /&gt;
 chmod 750 logon.bat&lt;br /&gt;
i to powinno wystarczyć, oczywiście plik ''logon.bat'' musimy dostosować do własnego konfiga samby.&lt;br /&gt;
&lt;br /&gt;
== Podłączanie do domeny systemu Windows ==&lt;br /&gt;
=== Windows XP ===&lt;br /&gt;
Możliwość podłączenia komputera z systemem Windows zaczyna się od wersji &amp;lt;u&amp;gt;professional&amp;lt;/u&amp;gt;.&lt;br /&gt;
Aby podłączyć kompuetr z systemem Windows do domeny należy wykonać poniższe kroki:&lt;br /&gt;
* Wejść do Panelu sterowania&lt;br /&gt;
* Wybrać ikonkę ''System''&lt;br /&gt;
* Wejść w zakładkę ''Nazwa komputera''&lt;br /&gt;
* Nacisnąć na przycisk ''Zmień''&lt;br /&gt;
* Zaznaczyć opcję ''Domena'' oraz wpisać nazwę domeny zatwierdzić przyciskając ''OK''&lt;br /&gt;
* podajemy nazwę oraz hasło użytkownika root samby i zatwierdzamy&lt;br /&gt;
* restartujemy komputer&lt;br /&gt;
* logujemy się jeszcze raz na konto administratora do naszego komputera&lt;br /&gt;
* wchodzimy do Panelu sterowania&lt;br /&gt;
* wybieramy ''Konta użytkowników''&lt;br /&gt;
* dodajemy użytkownika wpisując nazwe użytkownika oraz domenę&lt;br /&gt;
* restartujemy komputer&lt;br /&gt;
* przy logowaniu wybieramy domenę oraz wpisujemy nazwę użytkownika i hasło założonego w sambie&lt;br /&gt;
&lt;br /&gt;
== Linki ==&lt;br /&gt;
Na temat Samby można poczytać również&lt;br /&gt;
* Konfiguracja samby na naszej wiki - [[Samba]]&lt;br /&gt;
* Wikipedia strona na temat serwera plików - [http://pl.wikipedia.org/wiki/Samba_(program) Wikipedia]&lt;br /&gt;
* Oficjalna wiki samby - [http://wiki.samba.org/index.php/Main_Page oficjalna wiki]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;google1 style=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/google1&amp;gt;&lt;/div&gt;</summary>
		<author><name>Slawek</name></author>	</entry>

	<entry>
		<id>http://wiki.linux-user.eu/index.php/Ssh_logowanie_bez_has%C5%82a</id>
		<title>Ssh logowanie bez hasła</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux-user.eu/index.php/Ssh_logowanie_bez_has%C5%82a"/>
				<updated>2012-09-13T10:50:32Z</updated>
		
		<summary type="html">&lt;p&gt;Slawek: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Bezpieczeństwo]]&lt;br /&gt;
== Bezpieczne logowanie SSH bez hasła ==&lt;br /&gt;
&lt;br /&gt;
W dziszejszych czasach mamy do zapamiętania wiele bardzo trudnych i ciężkich do zapamiętania haseł. Dlaczego nie mamy sobie ułatwić chociaż troche życia i ustawić w naszym serwerze logowanie do ssh bez potrzeby podawania hasła, przy zachowaniu pełnego bezpieczeństwa :-) Możemy to załatwić za pomocą certyfikatów, które w dość prosty sposób możemy sobie wygenerować i używać przy logowaniu do naszego konta ssh. A więc zaczynamy.&lt;br /&gt;
&lt;br /&gt;
Na początku wygenerujemy sobie certyfikaty. Logujemy się na konto [[root]] maszyny lokalnej i wydajemy polecenie&lt;br /&gt;
&lt;br /&gt;
 $ ssh-keygen -t rsa&lt;br /&gt;
 Generating public/private rsa key pair.&lt;br /&gt;
 Enter file in which to save the key (/root/.ssh/id_rsa): &lt;br /&gt;
 Enter passphrase (empty for no passphrase): &lt;br /&gt;
 Enter same passphrase again: &lt;br /&gt;
 Your identification has been saved in /root/.ssh/id_rsa.&lt;br /&gt;
 Your public key has been saved in /root/.ssh/id_rsa.pub.&lt;br /&gt;
 The key fingerprint is:&lt;br /&gt;
 3f:39:a6:61:12:13:76:1c:c2:ca:5b:2e:c2:87:5a:3a root@mail.linux-user.eu&lt;br /&gt;
&lt;br /&gt;
Przy pytaniu o hasło nie podajemy żadnego. Po zakończeniu generowania certyfikatów powinny się pokazać dwa nowe pliki&lt;br /&gt;
*'''id_rsa''' klucz prywatny&lt;br /&gt;
*'''id_rsa.pub''' klucz publiczny&lt;br /&gt;
&lt;br /&gt;
Następnie należy przenieść wygenerowany plik ''id_rsa.pub'', na serwer do którego mamy zamiar przeprowadzać zdalne logowanie bez użycia hasła, do katalogu ''$USER/.ssh/''. Kolejnym krokiem już na serwerze jest zmiana nazwy pliku ''id_rsa.pub'' na  ''authorized_keys'' lub wydajemy następujące polecenie&lt;br /&gt;
 cat id_rsa.pub &amp;gt;&amp;gt; authorized_keys&lt;br /&gt;
Dla bezpieczeństwa usuwamy plik ''id_rsa.pub'' z serwera&lt;br /&gt;
 rm -rf id_rsa.pub&lt;br /&gt;
oraz nadajemy odpowiednie prawa do pliku authorized_keys&lt;br /&gt;
 chmod 600 authorized_keys&lt;br /&gt;
Od tej chwili powinniśmy mieć możliwość logowania się przy użyciu certyfikatów RSA.&amp;lt;br /&amp;gt;&lt;br /&gt;
Możemy również zabronić logowania się po ssh z użyciem haseł. W tym celu edytujemy plik ''/etc/ssh/sshd_config'' i ustawiamy opcję&lt;br /&gt;
 PasswordAuthentication no&lt;br /&gt;
&lt;br /&gt;
=== Logowanie przez Puytty ===&lt;br /&gt;
Program [http://www.putty.org/ putty] zna chyba każdy więc w woli szybkiego wyjaśnienia, jest to program, który umożliwia zdalne łączenie się np przez ssh do innego hosta, program najczęściej używany jest na stacjach z systemem windows oczywiście możliwe jest również używanie go na komputerach z zainstalowanym systemem Linux.&amp;lt;br /&amp;gt;&lt;br /&gt;
Aby była możliwość logowania się za pomocą wyżej wymienionej metody tzn za pomocą kluczy ''rsa'' przez program putty musimy pobrać programik o nazwie '''puttygen.exe''', który to umożliwia przekonwertowanie prywatnego pliku '''id_rsa''' do postaci '''*.ppk''' musimy to zrobić gdyż putty czyta jedynie klucze z końcówką ''*.ppk''.&amp;lt;br /&amp;gt;&lt;br /&gt;
Po ściągnięciu programu ''puttygen.exe'' uruchamiamy go i klikamy na przycisk ''Load'', z pola ''Pliki typu'' wybieramy ''All Files(*.*)'', następnie zaznaczamy plik ''id_rsa'' i klikamy ''otwórz'', po tej operacji powinniśmy zobaczyć okienko z informacją o prawidłowym imporcie pliku ''id_rsa''. Teraz zostaje nam już tylko zapisać zaimportowany klucz za pomocą opcji ''Save private key'' w rozszerzeniu '''*.ppk'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
Aby załadować klucz ppk wchodzimy do programu ''putty'' po lewej stronie okienka wybieramy opcję ''SSH'' a następnie ''Auth'' i za pomocą przycisku ''Browse'' wybieramy wcześniej stworzony klucz ''*.ppk'', po tej czynności zostaje nam przejście do opcji ''Session'' i zalogowanie się do odpowiedniej maszyny.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;google1 style=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/google1&amp;gt;&lt;/div&gt;</summary>
		<author><name>Slawek</name></author>	</entry>

	<entry>
		<id>http://wiki.linux-user.eu/index.php/Motd</id>
		<title>Motd</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux-user.eu/index.php/Motd"/>
				<updated>2012-09-13T09:48:18Z</updated>
		
		<summary type="html">&lt;p&gt;Slawek: Utworzenie strony motd&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Inne]]&lt;br /&gt;
== MOTD ==&lt;br /&gt;
'''motd''' ang ''message of the day'' czyli komunikat dnia, który wyświetla się podczas logowania do systemu.&amp;lt;br /&amp;gt;&lt;br /&gt;
Aby ustawić komunikat '''motd''' należy edytować plik ''/etc/motd''. Możemy również przygotować skrypt np w [[bash|bashu]] np&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 #define the filename to use as output&lt;br /&gt;
 clear&lt;br /&gt;
 motd=&amp;quot;/etc/motd&amp;quot;&lt;br /&gt;
 # Collect useful information about your system&lt;br /&gt;
 # $USER is automatically defined&lt;br /&gt;
 HOSTNAME=`uname -n`&lt;br /&gt;
 KERNEL=`uname -r`&lt;br /&gt;
 CPU=`uname -p`&lt;br /&gt;
 ARCH=`uname -m`&lt;br /&gt;
 UPTIME=`uptime | sed 's/.*up ([^,]*), .*/1/'`&lt;br /&gt;
 MEMORY=`cat /proc/meminfo | grep MemTotal | awk {'print $2'}`&lt;br /&gt;
 IP=`ip a |grep inet`&lt;br /&gt;
 DATA=`date`&lt;br /&gt;
 # The different colours as variables&lt;br /&gt;
 W=&amp;quot;\033[01;37m&amp;quot;&lt;br /&gt;
 B=&amp;quot;\033[01;34m&amp;quot;&lt;br /&gt;
 R=&amp;quot;\033[01;31m&amp;quot;&lt;br /&gt;
 X=&amp;quot;\033[00;37m&amp;quot;&lt;br /&gt;
 G=&amp;quot;\033[1;32m&amp;quot;&lt;br /&gt;
 clear &amp;gt; $motd # to clear the screen when showing up&lt;br /&gt;
 echo -e &amp;quot;$R#=============================================================================#&amp;quot; &amp;gt;&amp;gt; $motd&lt;br /&gt;
 echo -e &amp;quot;       $W Welcome $B $USER $W to $B $HOSTNAME                &amp;quot; &amp;gt;&amp;gt; $motd&lt;br /&gt;
 echo -e &amp;quot;       $R ARCH   $W= $ARCH                                   &amp;quot; &amp;gt;&amp;gt; $motd&lt;br /&gt;
 echo -e &amp;quot;       $R KERNEL $W= $KERNEL                                 &amp;quot; &amp;gt;&amp;gt; $motd&lt;br /&gt;
 echo -e &amp;quot;       $R CPU    $W= $CPU                                    &amp;quot; &amp;gt;&amp;gt; $motd&lt;br /&gt;
 echo -e &amp;quot;       $R Uptime $W= $UPTIME                                 &amp;quot; &amp;gt;&amp;gt; $motd&lt;br /&gt;
 echo -e &amp;quot;       $R Memory $W= $MEMORY  kb                             &amp;quot; &amp;gt;&amp;gt; $motd&lt;br /&gt;
 echo -e &amp;quot;       $R Data   $W= $DATA                                   &amp;quot; &amp;gt;&amp;gt; $motd&lt;br /&gt;
 echo -e &amp;quot;       $R IP maszyny $W= $IP                               &amp;quot; &amp;gt;&amp;gt; $motd&lt;br /&gt;
 echo -e &amp;quot;$R#=============================================================================#&amp;quot; &amp;gt;&amp;gt; $motd&lt;br /&gt;
 echo -e &amp;quot;$R  __   ________   _____    ____       ____      __     ____   __   ___  ________  &amp;quot; &amp;gt;&amp;gt; $motd&lt;br /&gt;
 echo -e &amp;quot;$R |  | |__    __| |     \  |    \     /    \    |  |   |  __| |  | /  / |__    __| &amp;quot; &amp;gt;&amp;gt; $motd&lt;br /&gt;
 echo -e &amp;quot;$W |  |    |  |    |   O  | |  O  |   /   _  \   |  |   | |_   |  |/  /     |  | &amp;quot; &amp;gt;&amp;gt; $motd&lt;br /&gt;
 echo -e &amp;quot;$W |  |    |  |    |   _ /  |    /   |   / \  |  |  |   |  _|  |     /      |  |  Bydgoszcz &amp;quot; &amp;gt;&amp;gt; $motd&lt;br /&gt;
 echo -e &amp;quot;$R |  |    |  |    |  |     |  | \    \  \_/ /   |  |__ | |__  |  |\ \      |  | &amp;quot; &amp;gt;&amp;gt; $motd&lt;br /&gt;
 echo -e &amp;quot;$R |__|    |__|    |__|     |__|\_\    \____/    \____/ |____| |__| \_\     |__| .co &amp;quot; &amp;gt;&amp;gt; $motd&lt;br /&gt;
 echo -e &amp;quot; &amp;quot; &amp;gt;&amp;gt; $motd&lt;br /&gt;
 echo -e &amp;quot;$G www.itprojekt.co&amp;quot; &amp;gt;&amp;gt; $motd&lt;br /&gt;
 echo -e &amp;quot;$G administracja@itprojekt.co&amp;quot; &amp;gt;&amp;gt; $motd&lt;br /&gt;
 echo -e &amp;quot;$G tel. 884-000-391&amp;quot; &amp;gt;&amp;gt; $motd&lt;br /&gt;
 echo -e &amp;quot;$W Miłego dnia ^_^&amp;quot; &amp;gt;&amp;gt; $motd&lt;br /&gt;
 echo -e &amp;quot;$W \t\t\t TWOJE DZIAŁANIA W TYM SYSTEMIE SĄ MONITOROWANE !&amp;quot; &amp;gt;&amp;gt; $motd&lt;br /&gt;
 echo -e &amp;quot;$X&amp;quot; &amp;gt;&amp;gt; $motd&lt;br /&gt;
&lt;br /&gt;
powyższy skrypt można przekopiować do swojego systemu np do pliku motd_maker nadać uprawnienia&lt;br /&gt;
 chmod 755 motd_maker&lt;br /&gt;
i uruchomić (Uwaga skrypt zapisuje wszystko do pliku ''/etc/motd'' jeśli masz tam jakieś swoje dane to proszę zrobić kopię zapasową, gdyż powyższy skrypt wszystko nadpisuje!)&lt;br /&gt;
 ./motd_maker&lt;br /&gt;
po tych operacjach musimy się wylogować i zalogować ponownie. Od tej chwili możemy się cieszyć nowym ekranem powitalnym ;-)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;google1 style=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/google1&amp;gt;&lt;/div&gt;</summary>
		<author><name>Slawek</name></author>	</entry>

	<entry>
		<id>http://wiki.linux-user.eu/index.php/Motd</id>
		<title>Motd</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux-user.eu/index.php/Motd"/>
				<updated>2012-09-13T09:37:25Z</updated>
		
		<summary type="html">&lt;p&gt;Slawek: Utworzył nową stronę „   To jest skrypt motd który należy przekopiować na serwer do katalogu root, dać uprawnienia 755 i wywołać ./motd .   #!/bin/bash  #define the filename to use ...”&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To jest skrypt motd który należy przekopiować na serwer do katalogu root, dać uprawnienia 755 i wywołać ./motd .&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 #define the filename to use as output&lt;br /&gt;
 clear&lt;br /&gt;
 motd=&amp;quot;/etc/motd&amp;quot;&lt;br /&gt;
 # Collect useful information about your system&lt;br /&gt;
 # $USER is automatically defined&lt;br /&gt;
 HOSTNAME=`uname -n`&lt;br /&gt;
 KERNEL=`uname -r`&lt;br /&gt;
 CPU=`uname -p`&lt;br /&gt;
 ARCH=`uname -m`&lt;br /&gt;
 UPTIME=`uptime | sed 's/.*up ([^,]*), .*/1/'`&lt;br /&gt;
 MEMORY=`cat /proc/meminfo | grep MemTotal | awk {'print $2'}`&lt;br /&gt;
 IP=`ip a |grep inet`&lt;br /&gt;
 DATA=`date`&lt;br /&gt;
 # The different colours as variables&lt;br /&gt;
 W=&amp;quot;\033[01;37m&amp;quot;&lt;br /&gt;
 B=&amp;quot;\033[01;34m&amp;quot;&lt;br /&gt;
 R=&amp;quot;\033[01;31m&amp;quot;&lt;br /&gt;
 X=&amp;quot;\033[00;37m&amp;quot;&lt;br /&gt;
 G=&amp;quot;\033[1;32m&amp;quot;&lt;br /&gt;
 clear &amp;gt; $motd # to clear the screen when showing up&lt;br /&gt;
 echo -e &amp;quot;$R#=============================================================================#&amp;quot; &amp;gt;&amp;gt; $motd&lt;br /&gt;
 echo -e &amp;quot;       $W Welcome $B $USER $W to $B $HOSTNAME                &amp;quot; &amp;gt;&amp;gt; $motd&lt;br /&gt;
 echo -e &amp;quot;       $R ARCH   $W= $ARCH                                   &amp;quot; &amp;gt;&amp;gt; $motd&lt;br /&gt;
 echo -e &amp;quot;       $R KERNEL $W= $KERNEL                                 &amp;quot; &amp;gt;&amp;gt; $motd&lt;br /&gt;
 echo -e &amp;quot;       $R CPU    $W= $CPU                                    &amp;quot; &amp;gt;&amp;gt; $motd&lt;br /&gt;
 echo -e &amp;quot;       $R Uptime $W= $UPTIME                                 &amp;quot; &amp;gt;&amp;gt; $motd&lt;br /&gt;
 echo -e &amp;quot;       $R Memory $W= $MEMORY  kb                             &amp;quot; &amp;gt;&amp;gt; $motd&lt;br /&gt;
 echo -e &amp;quot;       $R Data   $W= $DATA                                   &amp;quot; &amp;gt;&amp;gt; $motd&lt;br /&gt;
 echo -e &amp;quot;       $R IP maszyny $W= $IP                               &amp;quot; &amp;gt;&amp;gt; $motd&lt;br /&gt;
 echo -e &amp;quot;$R#=============================================================================#&amp;quot; &amp;gt;&amp;gt; $motd&lt;br /&gt;
 echo -e &amp;quot;$R  __   ________   _____    ____       ____      __     ____   __   ___  ________  &amp;quot; &amp;gt;&amp;gt; $motd&lt;br /&gt;
 echo -e &amp;quot;$R |  | |__    __| |     \  |    \     /    \    |  |   |  __| |  | /  / |__    __| &amp;quot; &amp;gt;&amp;gt; $motd&lt;br /&gt;
 echo -e &amp;quot;$W |  |    |  |    |   O  | |  O  |   /   _  \   |  |   | |_   |  |/  /     |  | &amp;quot; &amp;gt;&amp;gt; $motd&lt;br /&gt;
 echo -e &amp;quot;$W |  |    |  |    |   _ /  |    /   |   / \  |  |  |   |  _|  |     /      |  |  Bydgoszcz &amp;quot; &amp;gt;&amp;gt; $motd&lt;br /&gt;
 echo -e &amp;quot;$R |  |    |  |    |  |     |  | \    \  \_/ /   |  |__ | |__  |  |\ \      |  | &amp;quot; &amp;gt;&amp;gt; $motd&lt;br /&gt;
 echo -e &amp;quot;$R |__|    |__|    |__|     |__|\_\    \____/    \____/ |____| |__| \_\     |__| .co &amp;quot; &amp;gt;&amp;gt; $motd&lt;br /&gt;
 echo -e &amp;quot; &amp;quot; &amp;gt;&amp;gt; $motd&lt;br /&gt;
 echo -e &amp;quot;$G www.itprojekt.co&amp;quot; &amp;gt;&amp;gt; $motd&lt;br /&gt;
 echo -e &amp;quot;$G administracja@itprojekt.co&amp;quot; &amp;gt;&amp;gt; $motd&lt;br /&gt;
 echo -e &amp;quot;$G tel. 884-000-391&amp;quot; &amp;gt;&amp;gt; $motd&lt;br /&gt;
 echo -e &amp;quot;$W Miłego dnia ^_^&amp;quot; &amp;gt;&amp;gt; $motd&lt;br /&gt;
 echo -e &amp;quot;$W \t\t\t TWOJE DZIAŁANIA W TYM SYSTEMIE SĄ MONITOROWANE !&amp;quot; &amp;gt;&amp;gt; $motd&lt;br /&gt;
 echo -e &amp;quot;$X&amp;quot; &amp;gt;&amp;gt; $motd&lt;/div&gt;</summary>
		<author><name>Slawek</name></author>	</entry>

	<entry>
		<id>http://wiki.linux-user.eu/index.php/Samba</id>
		<title>Samba</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux-user.eu/index.php/Samba"/>
				<updated>2012-09-13T07:59:21Z</updated>
		
		<summary type="html">&lt;p&gt;Slawek: /* Zobacz również */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Serwer]]&lt;br /&gt;
== Samba ==&lt;br /&gt;
&lt;br /&gt;
'''Samba''' jest darmowym serwerem plików oraz drukarek, dostępna praktycznie dla każdego systemu. Dostępna jest na licencji [[GPL]] (''Gnome Public License''). ''Samba'' korzysta z implementacji protokołu '''SMB''' (''Server Message Block'').&lt;br /&gt;
&lt;br /&gt;
Głównymi zadaniami samby są:&lt;br /&gt;
&lt;br /&gt;
*współdzielenie plików i drukarek&lt;br /&gt;
*serwer logowania dla Sieci Windows&lt;br /&gt;
*podstawowy konroler domeny&lt;br /&gt;
*serwer przeglądania Windows&lt;br /&gt;
*obsługa WINS (internetowy serwer nazw)&lt;br /&gt;
*obsługa OpLock (buforowanie plików w komputerach-klientach)&lt;br /&gt;
*obsługa LDAP&lt;br /&gt;
*synchronizacja haseł pomiędzy systemami linux i windows&lt;br /&gt;
*obsługa SSL&lt;br /&gt;
&lt;br /&gt;
Serwer '''samba''' składa się z trzech demonów&lt;br /&gt;
&lt;br /&gt;
*'''SMBD''' (Server Message Block daemon) demon odpowiedzialny za poprawne działanie serwera. Dla każdego klienta podłączonego do serwera samby działa oddzielny demon SMB. Ponadto demon SMB obsługuje dostęp do plików i drukarek oraz takie żądania jak API programu LAN Manager typu NetServerEnum, NetShareEnum, NetUserGetInfo itp.&lt;br /&gt;
*'''NMBD''' demon usługi nazw NetBIOS, w poprawnie skonfigurowanym serwerze powinien działać przynajmniej jeden proces nmbd. Jeżeli w serwerze został skonfigurowany parametr pozwalający sambie pracować jako serwer WINS (wins serwer = yes), zostanie utworzona kolejna kopia demona nmbd. Ponadto nmbd obsługuje poszukiwanie nazw NetBIOS oraz żądania wins.&lt;br /&gt;
*'''WINBIND''' samba za pomocą Winbind pobiera dane na temat użytkowników i grup z Windows oraz odwzorowuje je na lokalne numery ID. Winbind kontroluje usługę winbindd i do jego włączenia nie jest potrzebny działający demon smbd.&lt;br /&gt;
&lt;br /&gt;
== Instalacja ==&lt;br /&gt;
&lt;br /&gt;
Aby zainstalować '''serwer samba''' na linuxe (artykuł pisany jest na centos 5.5 i386), możemy użyć kilku metod takich jak zainstalowanie odpowiednich pakietów z pełnej płyty instalacyjnej dystrybucji, możemy ściągnąć z internetu paczki samby i zainstalować je ręcznie lub możemy skorzystać z naszego repo. W niniejszym  artykule użyjemy właśnie tej ostatniej metody.&lt;br /&gt;
&lt;br /&gt;
Aby zainstalować serwer samba wydajemy następujące polecenie&lt;br /&gt;
&lt;br /&gt;
 yum install samba samba-common samba-client &lt;br /&gt;
&lt;br /&gt;
lub&lt;br /&gt;
&lt;br /&gt;
 yum groupinstall „Windows File Server” &lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Po tych operacjach jeżeli nie było żadnych problemów powinniśmy mieć wszystko co potrzebujemy aby zacząć konfiguracje naszego serwera Uśmiech Zarządzanie usługami odbywa się w taki sam sposób jak w przypadku serwera stron [[Apache|www]], [[Vsftpd|ftp]] czy innych tego typu usług.&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/smb (start/stop/restart/reload/status/condrestart)&lt;br /&gt;
&lt;br /&gt;
*'''start''' start serwera&lt;br /&gt;
*'''restart''' włączenie i wyłączenie serwera, jeśli serwer był wyłączony zostanie on włączony&lt;br /&gt;
*'''stop''' wyłączenie serwera&lt;br /&gt;
*'''status''' sprawdzanie statusu działania serwera&lt;br /&gt;
*'''reload''' przeładowanie konfiguracji serwera bez konieczności jego wyłączania&lt;br /&gt;
*'''condrestart''' restart usługi zrobi się tylko wtedy gdy serwer cały czas działa (jest uruchomiony)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Przeglądanie zasobów ==&lt;br /&gt;
&lt;br /&gt;
Bezpośrednio z terminala mamy możliwość przeglądania zasobów naszego serwera samby, do tego celu używamy takich komend jak&lt;br /&gt;
&lt;br /&gt;
 smbtree&lt;br /&gt;
 findsmb&lt;br /&gt;
&lt;br /&gt;
'''findsmb''' powinien dać nam wynik podobny do poniższego&lt;br /&gt;
&lt;br /&gt;
 $ findsmb&lt;br /&gt;
  *=DMB&lt;br /&gt;
  +=LMB&lt;br /&gt;
 IP ADDR         NETBIOS NAME     WORKGROUP/OS/VERSION &lt;br /&gt;
 ---------------------------------------------------------------------&lt;br /&gt;
 192.168.0.1     SERWERSAMBA   +[SERWERSAMBA] [Unix] [Samba 3.5.6]&lt;br /&gt;
&lt;br /&gt;
oraz '''smbtree'''&lt;br /&gt;
&lt;br /&gt;
 $ smbtree&lt;br /&gt;
 Enter root's password: &lt;br /&gt;
 SERWERSAMBA&lt;br /&gt;
  \\SERWERSAMBA    		Samba 3.5.6&lt;br /&gt;
  \\SERWERSAMBA\IPC$           	IPC Service (Samba 3.5.6)&lt;br /&gt;
  \\SERWERSAMBA\programy       	dysk z programami&lt;br /&gt;
  \\SERWERSAMBA\zdjecia        	dysk ze zdjeciami&lt;br /&gt;
  \\SERWERSAMBA\muzyka         	Katalog dla lokalnych komputerow z muzyka&lt;br /&gt;
  \\SERWERSAMBA\dokumenty      	katalog z dokumentami&lt;br /&gt;
  \\SERWERSAMBA\all            	Katalog dla lokalnych komputerow&lt;br /&gt;
&lt;br /&gt;
W przypadku polecenia '''smbtree''' zostajemy zmuszeni do podania hasła użytkownika [[root]].&lt;br /&gt;
&lt;br /&gt;
Mamy możliwość połączenia się z zasobami serwera samby za pomocą polecenia '''smblient'''&lt;br /&gt;
&lt;br /&gt;
 smbclient nazwausługi [hasło] [-s smb.conf] [-B adres IP] [-O opcje gniazd] [-R porządek sprawdzania nazw] [-M nazwa NetBIOS] [-i zasięg] [-N] [-n nazwa NetBIOS] [-d poziom debugowania]  [-P] [-p port] [-l podstawa nazwy logów] [-h] [-I adres IP] [-E] [-U nazwa użytkownika] [-L nazwa NetBIOS] [-t kod terminala] [-m maksymalny poziom protokołu] [-W grupa robocza] [-TIXFqgbNan] [-D katalog] [-c lista komend]&lt;br /&gt;
&lt;br /&gt;
Sposób użycia&lt;br /&gt;
&lt;br /&gt;
 smbclient //localhost/slawek -U slawek&lt;br /&gt;
&lt;br /&gt;
Opis użytych poleceń&lt;br /&gt;
&lt;br /&gt;
*//localhost adres serwera samba można zarówno podać adres ip jak i nazwe hosta&lt;br /&gt;
*/slawek zasób dostępny na danym serwerze&lt;br /&gt;
*-U user użytkownik mający prawo do przeglądania wyżej wymienionego zasobu. Jeżeli nie podamy tej opcji będziemy się logować na tego użytkownika, który wywołał polecenie smbclient&lt;br /&gt;
&lt;br /&gt;
Po udanym wprowadzeniu komendy powinniśmy zostać zapytani o hasło użytkownika którego login podaliśmy za opcją ''-U''. Jeżeli wszystko poszło dobrze i udało nam się poprawnie zalogować na serwer zobaczymy znak zachęty podobny do tego ''smb:\&amp;gt;''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Montowanie zasobów w systemie ==&lt;br /&gt;
&lt;br /&gt;
Jak wszystko inne tak i zasoby samby możemy bez wielkich przeszkód zamontować w naszym systemie np za pomocą polecenia mount wydając polecenie&lt;br /&gt;
&lt;br /&gt;
 mount -t cifs -o username=slawek //192.168.0.1/slawek /mnt/samba/&lt;br /&gt;
&lt;br /&gt;
W powyższym polecenie zamontowaliśmy zasób znajdujący się na serwerze z adresem ip 192.168.0.1 o ścieżce slawek w lokalnym katalogu /mnt/samba/, logujemy się na użytkownika slawek (za komendą -o), typem systemu plików jaki użyliśmy to '''cifs'''.&lt;br /&gt;
&lt;br /&gt;
Mamy możliwość również bezpośredniego montowania zasobu samby przy uruchamianiu naszego komputera. Do tego celu użyjemy pliku fstab&lt;br /&gt;
&lt;br /&gt;
Wchodzimy do pliku ''/etc/fstab'' za pomocą naszego ulubionego edytora tekstu i dopisujemy poniższe opcje&lt;br /&gt;
&lt;br /&gt;
 //192.168.0.1/slawek /mnt/samba cifs user,uid=500,rw,suid,username=slawek, password=tajne_hasło 0 0credentials=/root/tajne.txt&lt;br /&gt;
&lt;br /&gt;
W powyższym przykładzie przy uruchamianiu systemu lub wydaniu polecenia mount -a zostanie zamontowany zasób znajdujący się na serwerze z ip 192.168.0.1, zasób slawek na użytkownika slawek o haśle tajne_hasło do katalogu ''/mnt/samba/''. Jak widać w powyższej konfiguracji musimy podać nasze tajne hasło jawnym tekstem co nie jest zbyt bezpiecznym rozwiązaniem. W tym celu możemy użyć opcji credentials, która pozwoli zdefiniować nam hasła w innym pliku, którego wszyscy nie będą mogli czytać. Zamiast ''username=slawek'', ''passwd=tajne_hasło'' wpisujemy&lt;br /&gt;
&lt;br /&gt;
 credentials=/root/hasla_samby.txt&lt;br /&gt;
&lt;br /&gt;
gdzie w pliku ''/root/hasla_samby.txt'' definiujemy login i hasło&lt;br /&gt;
&lt;br /&gt;
 username=slawek&lt;br /&gt;
 password=tajne_hasło&lt;br /&gt;
&lt;br /&gt;
== Zarządzanie użytkownikami ==&lt;br /&gt;
&lt;br /&gt;
Do zarządzania użytkownikami w sambie mamy kilka przydanych poleceń, które zostały zaprezentowane poniżej. Jednak należy pamiętać,że jeśli chcemy dodać użytkownika do samby to konto danego usera musi istnieć w systemie.&lt;br /&gt;
&lt;br /&gt;
*'''smbpasswd -a user''' dodajemy użytkownika do samby (pamiętaj o adduser user)&lt;br /&gt;
*'''smbpasswd -d user''' blokada konta podanego użytkownika&lt;br /&gt;
*'''smbpasswd -e user''' odblokowanie konta, które zostało zablokowane poleceniem z opcją -d&lt;br /&gt;
*'''smbpasswd -x user''' usunięcie użytkownika z samby (dostępne tylko dla usera root)&lt;br /&gt;
*'''smbpasswd -h''' wyświetlenie pomocy dla polecenia smbpasswd&lt;br /&gt;
*'''smbpasswd -L''' użycie tzw &amp;quot;local mode&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Konfiguracja serwera ==&lt;br /&gt;
&lt;br /&gt;
Główny plik konfiguracyjny jest umieszczony w ścieżce ''/etc/samba/'' i nazywa się ''smb.conf''. Najważniejsze opcje samby&lt;br /&gt;
&lt;br /&gt;
*'''browsable = yes/no''' opcja definiuje czy zasób ma być widoczny na liście wszystkich zasobów&lt;br /&gt;
*'''writable = yes/no''' opcja określa czy można pisać do danego zasobu czy też nie&lt;br /&gt;
*'''write list = user''', user/@grupa parapetr zawiera listę użytkowników lub @grupę (@ określa że definiowana jest grupa) posiadających uprawnienia do czytania i pisania usługi.Jeżeli użytkownik znajduje się na tej liście, to otrzymuje prawa do zapisu bez względu na opcję read-only&lt;br /&gt;
*'''force user/group = user/@grupa''' opcja przydatna jeśli chcemy wymusić podłączanie się do zasobu jako podany użytkownik/grupa&lt;br /&gt;
*'''admin user = user''', user... lista użytkowników z z prawami administracyjnymi w danym udziale&lt;br /&gt;
*'''hosts allow = 192.168.0.0/255.255.255.0''' polecenie umożliwiające zdefiniować, które hosty lub całe sieci będą miały dostęp do zasobu, w typ przypadku została zdefiniowana cała sieć&lt;br /&gt;
*'''host deny = 192.168.0.10''' zablokowanie możliwości łączenia się z serwerem z określonego adresu ip lub całej sieci&lt;br /&gt;
*'''guest ok = yes/no''' opcja pozwala kontrolować dostęp dla gości&lt;br /&gt;
*'''guest only = yes/no''' dany zasób będą mogli oglądać wszyscy (wstęp wolny)&lt;br /&gt;
*'''max connections = x''' za pomocą tej opcji możemy zdefiniować maksymalną liczbę połączeń do zasobu&lt;br /&gt;
*'''add user script = /sciezka/do/skryptu''' pełna ścieżka do skryptu użytkownika, który może być wykonany z prawami użytkownika root&lt;br /&gt;
*'''case sensitive = yes/no''' parametr ten może kontrolować czy nazwy plików mają uwzględniać wielkość znaków czy nie. Opcja przydatna gdy w sieci są klienci DOS. Jeśli opcja ustawiona jest na no to samba próbuje szukać i dopasowywać nazwy plików&lt;br /&gt;
*'''comment = komentarz''' w tym polu możemy zdefiniować komentarz dla danego udziału. Pole jest widoczne za nazwami udziału w otoczeniu sieciowym systemu windows&lt;br /&gt;
*'''deadtime = 10''' opcja ustawia czas w minutach nieaktywności ze strony użytkownika po którym zostanie zerwane połączenie przez serwer&lt;br /&gt;
*'''hide dot files = yes/no''' parametr określa czy pliki zaczynające się od kropki mają być przedstawione jako ukryte&lt;br /&gt;
*'''interfaces = eth0 192.168.0.1/24''' parametr pozwala określić interfejsy z których ma korzystać serwer samba&lt;br /&gt;
*'''local master = yes/no''' parametr kontroluje czy dany serwer ma być głównym serwerem plików w sieci&lt;br /&gt;
*'''max disk size = 100''' opcja określa granice  widocznego dostępnego miejsca na dysku. Wartość podaje się w MB.&lt;br /&gt;
*'''max open files = 1000''' parametr określa maksymalną ilość otwartych plików przez jeden proces smbd&lt;br /&gt;
*'''max xmit = 1000''' parametr określa maksymalny rozmiar pakietu, jaki może być negocjowany przez sambę. Domyślną wartością jest 65535&lt;br /&gt;
*'''oplocks = True/False''' parametr określa czy demon smbd będzie wysyłał prawa oplock (oportunistyczne blokady) do plików otwierania w danym udziale. Opcja oplocks zwiększa wydajność serwera o około 30 %&lt;br /&gt;
*'''valid users = user''', user, @grupa lista użytkowników/grup uprawnionych do przeglądania danego zasobu, jeśli pusta to każdy ma dostęp do danego zasobu&lt;br /&gt;
*'''workgroup = MOJAGRUPA''' opcja wskazuje na nazwe domyślnej grupy roboczej&lt;br /&gt;
*'''wins server = 192.168.0.2''' parametr określa adres ip lub nazwe DNS serwera WINS, dla którego może się zarejestrować demon nmbd. Jeśli masz serwer wins w sieci lokalnej powinieneś podać jego adres IP&lt;br /&gt;
&lt;br /&gt;
== Poziomy bezpieczeństwa ==&lt;br /&gt;
&lt;br /&gt;
W konfiguracji serwera '''samba''' mamy do dyspozycji dwa poziomy bezpieczeństwa.&lt;br /&gt;
&lt;br /&gt;
Na poziomie zasobów, gdzie użytkownik musi podać hasło dopiero kiedy chce otrzymać dostęp do zasobów&lt;br /&gt;
&lt;br /&gt;
 security = share &lt;br /&gt;
&lt;br /&gt;
Na poziomie użytkownika, user proszony jest o podanie hasła już przy próbie zobaczenia listy dostępnych zasobów, opcja domyślna&lt;br /&gt;
&lt;br /&gt;
 security = user &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Przykładowa konfiguracja ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Poniżej przedstawiam wpełni działającą przykładową konfiguracje serwera '''samba'''. Oczywiście jeżeli chcesz ją wykorzystać u siebie na serwerze musisz zmienić i dopasować niektóre z użytych poniżej opcji. Z konfiga usunięte zostały zbędne komentarze.&lt;br /&gt;
&lt;br /&gt;
 [global]&lt;br /&gt;
         workgroup = serwersamba&lt;br /&gt;
         interfaces = 127.0.0.1 eth0 192.168.0.0&lt;br /&gt;
         netbios name = serwersamba &lt;br /&gt;
         bind interfaces only = true &lt;br /&gt;
 [homes]&lt;br /&gt;
 comment = Twoj wlasny katalog&lt;br /&gt;
 # przykładowo, prawa na katalogach domowych użytkownika home &lt;br /&gt;
 # powinny wyglądać ak:&lt;br /&gt;
 # $&amp;gt;ls -l /home&lt;br /&gt;
 # drwx------   3 piotrek  piotrek       512 22 Sty  2000 piotrek&lt;br /&gt;
 # prawa do plików katalogów dla właściciela &lt;br /&gt;
         create mode = 0700&lt;br /&gt;
         directory mode = 0700&lt;br /&gt;
         public = no&lt;br /&gt;
         writable = yes &lt;br /&gt;
  # ścieżka do zasobu (czyli $HOME z /etc/passwd)&lt;br /&gt;
         path = /home/%u&lt;br /&gt;
         browseable = no &lt;br /&gt;
 # zezwalamy na agresywne buforowanie plikórzez Windows co&lt;br /&gt;
 # daje znaczące zwięlszenie szybkości Samby. &lt;br /&gt;
 # Bezsensownym jest stosowanie tego na zasobach bazodanowych itp. &lt;br /&gt;
 # &amp;quot;oplock&amp;quot; = &amp;quot;opportunistic lock&amp;quot; &lt;br /&gt;
         oplocks = True&lt;br /&gt;
         level2 oplocks = True &lt;br /&gt;
 # przykładowo zabraniamy oplock'ów na  plikach *.dbf i *.DBF&lt;br /&gt;
  veto oplock files = /*.DBF/*.dbf/&lt;br /&gt;
 [all] &lt;br /&gt;
        path = /home/samba/all&lt;br /&gt;
        volume = all&lt;br /&gt;
        comment = Katalog dla lokalnych komputerow&lt;br /&gt;
        browseable = yes&lt;br /&gt;
        writable = yes&lt;br /&gt;
 # dajemy dostęp do niego tylko z części sieci &lt;br /&gt;
        hosts allow = 192.168.0.0/255.255.255.0&lt;br /&gt;
 [dokumenty]&lt;br /&gt;
         path = /home/samba/dokumenty&lt;br /&gt;
         volume = dokumenty&lt;br /&gt;
         comment = katalog z dokumentami&lt;br /&gt;
         browsable = yes&lt;br /&gt;
         writable = yes &lt;br /&gt;
 [muzyka]&lt;br /&gt;
        path = /home/samba/muzyka&lt;br /&gt;
        volume = muzyka&lt;br /&gt;
        comment = Katalog dla lokalnych komputerow z muzyka&lt;br /&gt;
        browseable = yes&lt;br /&gt;
        writable = yes&lt;br /&gt;
 [zdjecia]&lt;br /&gt;
        path = /home/samba/zdjecia&lt;br /&gt;
        volume = zdjecia&lt;br /&gt;
        comment = Katalog dla lokalnych komputerow ze zdjeciami&lt;br /&gt;
        browseable = yes&lt;br /&gt;
        writable = yes &lt;br /&gt;
 [programy]&lt;br /&gt;
        path = /home/samba/programy&lt;br /&gt;
        volume = programy&lt;br /&gt;
        comment = Katalog dla lokalnych komputerow z roznymi  programami &lt;br /&gt;
        browseable = yes&lt;br /&gt;
        writable = yes&lt;br /&gt;
        comment = dysk z programami&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Zobacz również ==&lt;br /&gt;
Konfiguracja Samby do pracy w roli domeny - [[Samba jako PDC|Samba jako PDC]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;google1 style=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/google1&amp;gt;&lt;/div&gt;</summary>
		<author><name>Slawek</name></author>	</entry>

	<entry>
		<id>http://wiki.linux-user.eu/index.php/Samba</id>
		<title>Samba</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux-user.eu/index.php/Samba"/>
				<updated>2012-09-13T07:58:57Z</updated>
		
		<summary type="html">&lt;p&gt;Slawek: /* Zobacz również */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Serwer]]&lt;br /&gt;
== Samba ==&lt;br /&gt;
&lt;br /&gt;
'''Samba''' jest darmowym serwerem plików oraz drukarek, dostępna praktycznie dla każdego systemu. Dostępna jest na licencji [[GPL]] (''Gnome Public License''). ''Samba'' korzysta z implementacji protokołu '''SMB''' (''Server Message Block'').&lt;br /&gt;
&lt;br /&gt;
Głównymi zadaniami samby są:&lt;br /&gt;
&lt;br /&gt;
*współdzielenie plików i drukarek&lt;br /&gt;
*serwer logowania dla Sieci Windows&lt;br /&gt;
*podstawowy konroler domeny&lt;br /&gt;
*serwer przeglądania Windows&lt;br /&gt;
*obsługa WINS (internetowy serwer nazw)&lt;br /&gt;
*obsługa OpLock (buforowanie plików w komputerach-klientach)&lt;br /&gt;
*obsługa LDAP&lt;br /&gt;
*synchronizacja haseł pomiędzy systemami linux i windows&lt;br /&gt;
*obsługa SSL&lt;br /&gt;
&lt;br /&gt;
Serwer '''samba''' składa się z trzech demonów&lt;br /&gt;
&lt;br /&gt;
*'''SMBD''' (Server Message Block daemon) demon odpowiedzialny za poprawne działanie serwera. Dla każdego klienta podłączonego do serwera samby działa oddzielny demon SMB. Ponadto demon SMB obsługuje dostęp do plików i drukarek oraz takie żądania jak API programu LAN Manager typu NetServerEnum, NetShareEnum, NetUserGetInfo itp.&lt;br /&gt;
*'''NMBD''' demon usługi nazw NetBIOS, w poprawnie skonfigurowanym serwerze powinien działać przynajmniej jeden proces nmbd. Jeżeli w serwerze został skonfigurowany parametr pozwalający sambie pracować jako serwer WINS (wins serwer = yes), zostanie utworzona kolejna kopia demona nmbd. Ponadto nmbd obsługuje poszukiwanie nazw NetBIOS oraz żądania wins.&lt;br /&gt;
*'''WINBIND''' samba za pomocą Winbind pobiera dane na temat użytkowników i grup z Windows oraz odwzorowuje je na lokalne numery ID. Winbind kontroluje usługę winbindd i do jego włączenia nie jest potrzebny działający demon smbd.&lt;br /&gt;
&lt;br /&gt;
== Instalacja ==&lt;br /&gt;
&lt;br /&gt;
Aby zainstalować '''serwer samba''' na linuxe (artykuł pisany jest na centos 5.5 i386), możemy użyć kilku metod takich jak zainstalowanie odpowiednich pakietów z pełnej płyty instalacyjnej dystrybucji, możemy ściągnąć z internetu paczki samby i zainstalować je ręcznie lub możemy skorzystać z naszego repo. W niniejszym  artykule użyjemy właśnie tej ostatniej metody.&lt;br /&gt;
&lt;br /&gt;
Aby zainstalować serwer samba wydajemy następujące polecenie&lt;br /&gt;
&lt;br /&gt;
 yum install samba samba-common samba-client &lt;br /&gt;
&lt;br /&gt;
lub&lt;br /&gt;
&lt;br /&gt;
 yum groupinstall „Windows File Server” &lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Po tych operacjach jeżeli nie było żadnych problemów powinniśmy mieć wszystko co potrzebujemy aby zacząć konfiguracje naszego serwera Uśmiech Zarządzanie usługami odbywa się w taki sam sposób jak w przypadku serwera stron [[Apache|www]], [[Vsftpd|ftp]] czy innych tego typu usług.&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/smb (start/stop/restart/reload/status/condrestart)&lt;br /&gt;
&lt;br /&gt;
*'''start''' start serwera&lt;br /&gt;
*'''restart''' włączenie i wyłączenie serwera, jeśli serwer był wyłączony zostanie on włączony&lt;br /&gt;
*'''stop''' wyłączenie serwera&lt;br /&gt;
*'''status''' sprawdzanie statusu działania serwera&lt;br /&gt;
*'''reload''' przeładowanie konfiguracji serwera bez konieczności jego wyłączania&lt;br /&gt;
*'''condrestart''' restart usługi zrobi się tylko wtedy gdy serwer cały czas działa (jest uruchomiony)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Przeglądanie zasobów ==&lt;br /&gt;
&lt;br /&gt;
Bezpośrednio z terminala mamy możliwość przeglądania zasobów naszego serwera samby, do tego celu używamy takich komend jak&lt;br /&gt;
&lt;br /&gt;
 smbtree&lt;br /&gt;
 findsmb&lt;br /&gt;
&lt;br /&gt;
'''findsmb''' powinien dać nam wynik podobny do poniższego&lt;br /&gt;
&lt;br /&gt;
 $ findsmb&lt;br /&gt;
  *=DMB&lt;br /&gt;
  +=LMB&lt;br /&gt;
 IP ADDR         NETBIOS NAME     WORKGROUP/OS/VERSION &lt;br /&gt;
 ---------------------------------------------------------------------&lt;br /&gt;
 192.168.0.1     SERWERSAMBA   +[SERWERSAMBA] [Unix] [Samba 3.5.6]&lt;br /&gt;
&lt;br /&gt;
oraz '''smbtree'''&lt;br /&gt;
&lt;br /&gt;
 $ smbtree&lt;br /&gt;
 Enter root's password: &lt;br /&gt;
 SERWERSAMBA&lt;br /&gt;
  \\SERWERSAMBA    		Samba 3.5.6&lt;br /&gt;
  \\SERWERSAMBA\IPC$           	IPC Service (Samba 3.5.6)&lt;br /&gt;
  \\SERWERSAMBA\programy       	dysk z programami&lt;br /&gt;
  \\SERWERSAMBA\zdjecia        	dysk ze zdjeciami&lt;br /&gt;
  \\SERWERSAMBA\muzyka         	Katalog dla lokalnych komputerow z muzyka&lt;br /&gt;
  \\SERWERSAMBA\dokumenty      	katalog z dokumentami&lt;br /&gt;
  \\SERWERSAMBA\all            	Katalog dla lokalnych komputerow&lt;br /&gt;
&lt;br /&gt;
W przypadku polecenia '''smbtree''' zostajemy zmuszeni do podania hasła użytkownika [[root]].&lt;br /&gt;
&lt;br /&gt;
Mamy możliwość połączenia się z zasobami serwera samby za pomocą polecenia '''smblient'''&lt;br /&gt;
&lt;br /&gt;
 smbclient nazwausługi [hasło] [-s smb.conf] [-B adres IP] [-O opcje gniazd] [-R porządek sprawdzania nazw] [-M nazwa NetBIOS] [-i zasięg] [-N] [-n nazwa NetBIOS] [-d poziom debugowania]  [-P] [-p port] [-l podstawa nazwy logów] [-h] [-I adres IP] [-E] [-U nazwa użytkownika] [-L nazwa NetBIOS] [-t kod terminala] [-m maksymalny poziom protokołu] [-W grupa robocza] [-TIXFqgbNan] [-D katalog] [-c lista komend]&lt;br /&gt;
&lt;br /&gt;
Sposób użycia&lt;br /&gt;
&lt;br /&gt;
 smbclient //localhost/slawek -U slawek&lt;br /&gt;
&lt;br /&gt;
Opis użytych poleceń&lt;br /&gt;
&lt;br /&gt;
*//localhost adres serwera samba można zarówno podać adres ip jak i nazwe hosta&lt;br /&gt;
*/slawek zasób dostępny na danym serwerze&lt;br /&gt;
*-U user użytkownik mający prawo do przeglądania wyżej wymienionego zasobu. Jeżeli nie podamy tej opcji będziemy się logować na tego użytkownika, który wywołał polecenie smbclient&lt;br /&gt;
&lt;br /&gt;
Po udanym wprowadzeniu komendy powinniśmy zostać zapytani o hasło użytkownika którego login podaliśmy za opcją ''-U''. Jeżeli wszystko poszło dobrze i udało nam się poprawnie zalogować na serwer zobaczymy znak zachęty podobny do tego ''smb:\&amp;gt;''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Montowanie zasobów w systemie ==&lt;br /&gt;
&lt;br /&gt;
Jak wszystko inne tak i zasoby samby możemy bez wielkich przeszkód zamontować w naszym systemie np za pomocą polecenia mount wydając polecenie&lt;br /&gt;
&lt;br /&gt;
 mount -t cifs -o username=slawek //192.168.0.1/slawek /mnt/samba/&lt;br /&gt;
&lt;br /&gt;
W powyższym polecenie zamontowaliśmy zasób znajdujący się na serwerze z adresem ip 192.168.0.1 o ścieżce slawek w lokalnym katalogu /mnt/samba/, logujemy się na użytkownika slawek (za komendą -o), typem systemu plików jaki użyliśmy to '''cifs'''.&lt;br /&gt;
&lt;br /&gt;
Mamy możliwość również bezpośredniego montowania zasobu samby przy uruchamianiu naszego komputera. Do tego celu użyjemy pliku fstab&lt;br /&gt;
&lt;br /&gt;
Wchodzimy do pliku ''/etc/fstab'' za pomocą naszego ulubionego edytora tekstu i dopisujemy poniższe opcje&lt;br /&gt;
&lt;br /&gt;
 //192.168.0.1/slawek /mnt/samba cifs user,uid=500,rw,suid,username=slawek, password=tajne_hasło 0 0credentials=/root/tajne.txt&lt;br /&gt;
&lt;br /&gt;
W powyższym przykładzie przy uruchamianiu systemu lub wydaniu polecenia mount -a zostanie zamontowany zasób znajdujący się na serwerze z ip 192.168.0.1, zasób slawek na użytkownika slawek o haśle tajne_hasło do katalogu ''/mnt/samba/''. Jak widać w powyższej konfiguracji musimy podać nasze tajne hasło jawnym tekstem co nie jest zbyt bezpiecznym rozwiązaniem. W tym celu możemy użyć opcji credentials, która pozwoli zdefiniować nam hasła w innym pliku, którego wszyscy nie będą mogli czytać. Zamiast ''username=slawek'', ''passwd=tajne_hasło'' wpisujemy&lt;br /&gt;
&lt;br /&gt;
 credentials=/root/hasla_samby.txt&lt;br /&gt;
&lt;br /&gt;
gdzie w pliku ''/root/hasla_samby.txt'' definiujemy login i hasło&lt;br /&gt;
&lt;br /&gt;
 username=slawek&lt;br /&gt;
 password=tajne_hasło&lt;br /&gt;
&lt;br /&gt;
== Zarządzanie użytkownikami ==&lt;br /&gt;
&lt;br /&gt;
Do zarządzania użytkownikami w sambie mamy kilka przydanych poleceń, które zostały zaprezentowane poniżej. Jednak należy pamiętać,że jeśli chcemy dodać użytkownika do samby to konto danego usera musi istnieć w systemie.&lt;br /&gt;
&lt;br /&gt;
*'''smbpasswd -a user''' dodajemy użytkownika do samby (pamiętaj o adduser user)&lt;br /&gt;
*'''smbpasswd -d user''' blokada konta podanego użytkownika&lt;br /&gt;
*'''smbpasswd -e user''' odblokowanie konta, które zostało zablokowane poleceniem z opcją -d&lt;br /&gt;
*'''smbpasswd -x user''' usunięcie użytkownika z samby (dostępne tylko dla usera root)&lt;br /&gt;
*'''smbpasswd -h''' wyświetlenie pomocy dla polecenia smbpasswd&lt;br /&gt;
*'''smbpasswd -L''' użycie tzw &amp;quot;local mode&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Konfiguracja serwera ==&lt;br /&gt;
&lt;br /&gt;
Główny plik konfiguracyjny jest umieszczony w ścieżce ''/etc/samba/'' i nazywa się ''smb.conf''. Najważniejsze opcje samby&lt;br /&gt;
&lt;br /&gt;
*'''browsable = yes/no''' opcja definiuje czy zasób ma być widoczny na liście wszystkich zasobów&lt;br /&gt;
*'''writable = yes/no''' opcja określa czy można pisać do danego zasobu czy też nie&lt;br /&gt;
*'''write list = user''', user/@grupa parapetr zawiera listę użytkowników lub @grupę (@ określa że definiowana jest grupa) posiadających uprawnienia do czytania i pisania usługi.Jeżeli użytkownik znajduje się na tej liście, to otrzymuje prawa do zapisu bez względu na opcję read-only&lt;br /&gt;
*'''force user/group = user/@grupa''' opcja przydatna jeśli chcemy wymusić podłączanie się do zasobu jako podany użytkownik/grupa&lt;br /&gt;
*'''admin user = user''', user... lista użytkowników z z prawami administracyjnymi w danym udziale&lt;br /&gt;
*'''hosts allow = 192.168.0.0/255.255.255.0''' polecenie umożliwiające zdefiniować, które hosty lub całe sieci będą miały dostęp do zasobu, w typ przypadku została zdefiniowana cała sieć&lt;br /&gt;
*'''host deny = 192.168.0.10''' zablokowanie możliwości łączenia się z serwerem z określonego adresu ip lub całej sieci&lt;br /&gt;
*'''guest ok = yes/no''' opcja pozwala kontrolować dostęp dla gości&lt;br /&gt;
*'''guest only = yes/no''' dany zasób będą mogli oglądać wszyscy (wstęp wolny)&lt;br /&gt;
*'''max connections = x''' za pomocą tej opcji możemy zdefiniować maksymalną liczbę połączeń do zasobu&lt;br /&gt;
*'''add user script = /sciezka/do/skryptu''' pełna ścieżka do skryptu użytkownika, który może być wykonany z prawami użytkownika root&lt;br /&gt;
*'''case sensitive = yes/no''' parametr ten może kontrolować czy nazwy plików mają uwzględniać wielkość znaków czy nie. Opcja przydatna gdy w sieci są klienci DOS. Jeśli opcja ustawiona jest na no to samba próbuje szukać i dopasowywać nazwy plików&lt;br /&gt;
*'''comment = komentarz''' w tym polu możemy zdefiniować komentarz dla danego udziału. Pole jest widoczne za nazwami udziału w otoczeniu sieciowym systemu windows&lt;br /&gt;
*'''deadtime = 10''' opcja ustawia czas w minutach nieaktywności ze strony użytkownika po którym zostanie zerwane połączenie przez serwer&lt;br /&gt;
*'''hide dot files = yes/no''' parametr określa czy pliki zaczynające się od kropki mają być przedstawione jako ukryte&lt;br /&gt;
*'''interfaces = eth0 192.168.0.1/24''' parametr pozwala określić interfejsy z których ma korzystać serwer samba&lt;br /&gt;
*'''local master = yes/no''' parametr kontroluje czy dany serwer ma być głównym serwerem plików w sieci&lt;br /&gt;
*'''max disk size = 100''' opcja określa granice  widocznego dostępnego miejsca na dysku. Wartość podaje się w MB.&lt;br /&gt;
*'''max open files = 1000''' parametr określa maksymalną ilość otwartych plików przez jeden proces smbd&lt;br /&gt;
*'''max xmit = 1000''' parametr określa maksymalny rozmiar pakietu, jaki może być negocjowany przez sambę. Domyślną wartością jest 65535&lt;br /&gt;
*'''oplocks = True/False''' parametr określa czy demon smbd będzie wysyłał prawa oplock (oportunistyczne blokady) do plików otwierania w danym udziale. Opcja oplocks zwiększa wydajność serwera o około 30 %&lt;br /&gt;
*'''valid users = user''', user, @grupa lista użytkowników/grup uprawnionych do przeglądania danego zasobu, jeśli pusta to każdy ma dostęp do danego zasobu&lt;br /&gt;
*'''workgroup = MOJAGRUPA''' opcja wskazuje na nazwe domyślnej grupy roboczej&lt;br /&gt;
*'''wins server = 192.168.0.2''' parametr określa adres ip lub nazwe DNS serwera WINS, dla którego może się zarejestrować demon nmbd. Jeśli masz serwer wins w sieci lokalnej powinieneś podać jego adres IP&lt;br /&gt;
&lt;br /&gt;
== Poziomy bezpieczeństwa ==&lt;br /&gt;
&lt;br /&gt;
W konfiguracji serwera '''samba''' mamy do dyspozycji dwa poziomy bezpieczeństwa.&lt;br /&gt;
&lt;br /&gt;
Na poziomie zasobów, gdzie użytkownik musi podać hasło dopiero kiedy chce otrzymać dostęp do zasobów&lt;br /&gt;
&lt;br /&gt;
 security = share &lt;br /&gt;
&lt;br /&gt;
Na poziomie użytkownika, user proszony jest o podanie hasła już przy próbie zobaczenia listy dostępnych zasobów, opcja domyślna&lt;br /&gt;
&lt;br /&gt;
 security = user &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Przykładowa konfiguracja ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Poniżej przedstawiam wpełni działającą przykładową konfiguracje serwera '''samba'''. Oczywiście jeżeli chcesz ją wykorzystać u siebie na serwerze musisz zmienić i dopasować niektóre z użytych poniżej opcji. Z konfiga usunięte zostały zbędne komentarze.&lt;br /&gt;
&lt;br /&gt;
 [global]&lt;br /&gt;
         workgroup = serwersamba&lt;br /&gt;
         interfaces = 127.0.0.1 eth0 192.168.0.0&lt;br /&gt;
         netbios name = serwersamba &lt;br /&gt;
         bind interfaces only = true &lt;br /&gt;
 [homes]&lt;br /&gt;
 comment = Twoj wlasny katalog&lt;br /&gt;
 # przykładowo, prawa na katalogach domowych użytkownika home &lt;br /&gt;
 # powinny wyglądać ak:&lt;br /&gt;
 # $&amp;gt;ls -l /home&lt;br /&gt;
 # drwx------   3 piotrek  piotrek       512 22 Sty  2000 piotrek&lt;br /&gt;
 # prawa do plików katalogów dla właściciela &lt;br /&gt;
         create mode = 0700&lt;br /&gt;
         directory mode = 0700&lt;br /&gt;
         public = no&lt;br /&gt;
         writable = yes &lt;br /&gt;
  # ścieżka do zasobu (czyli $HOME z /etc/passwd)&lt;br /&gt;
         path = /home/%u&lt;br /&gt;
         browseable = no &lt;br /&gt;
 # zezwalamy na agresywne buforowanie plikórzez Windows co&lt;br /&gt;
 # daje znaczące zwięlszenie szybkości Samby. &lt;br /&gt;
 # Bezsensownym jest stosowanie tego na zasobach bazodanowych itp. &lt;br /&gt;
 # &amp;quot;oplock&amp;quot; = &amp;quot;opportunistic lock&amp;quot; &lt;br /&gt;
         oplocks = True&lt;br /&gt;
         level2 oplocks = True &lt;br /&gt;
 # przykładowo zabraniamy oplock'ów na  plikach *.dbf i *.DBF&lt;br /&gt;
  veto oplock files = /*.DBF/*.dbf/&lt;br /&gt;
 [all] &lt;br /&gt;
        path = /home/samba/all&lt;br /&gt;
        volume = all&lt;br /&gt;
        comment = Katalog dla lokalnych komputerow&lt;br /&gt;
        browseable = yes&lt;br /&gt;
        writable = yes&lt;br /&gt;
 # dajemy dostęp do niego tylko z części sieci &lt;br /&gt;
        hosts allow = 192.168.0.0/255.255.255.0&lt;br /&gt;
 [dokumenty]&lt;br /&gt;
         path = /home/samba/dokumenty&lt;br /&gt;
         volume = dokumenty&lt;br /&gt;
         comment = katalog z dokumentami&lt;br /&gt;
         browsable = yes&lt;br /&gt;
         writable = yes &lt;br /&gt;
 [muzyka]&lt;br /&gt;
        path = /home/samba/muzyka&lt;br /&gt;
        volume = muzyka&lt;br /&gt;
        comment = Katalog dla lokalnych komputerow z muzyka&lt;br /&gt;
        browseable = yes&lt;br /&gt;
        writable = yes&lt;br /&gt;
 [zdjecia]&lt;br /&gt;
        path = /home/samba/zdjecia&lt;br /&gt;
        volume = zdjecia&lt;br /&gt;
        comment = Katalog dla lokalnych komputerow ze zdjeciami&lt;br /&gt;
        browseable = yes&lt;br /&gt;
        writable = yes &lt;br /&gt;
 [programy]&lt;br /&gt;
        path = /home/samba/programy&lt;br /&gt;
        volume = programy&lt;br /&gt;
        comment = Katalog dla lokalnych komputerow z roznymi  programami &lt;br /&gt;
        browseable = yes&lt;br /&gt;
        writable = yes&lt;br /&gt;
        comment = dysk z programami&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Zobacz również ===&lt;br /&gt;
Konfiguracja Samby do pracy w roli domeny - [[Samba jako PDC|Samba jako PDC]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;google1 style=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/google1&amp;gt;&lt;/div&gt;</summary>
		<author><name>Slawek</name></author>	</entry>

	<entry>
		<id>http://wiki.linux-user.eu/index.php/Samba</id>
		<title>Samba</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux-user.eu/index.php/Samba"/>
				<updated>2012-09-13T07:58:08Z</updated>
		
		<summary type="html">&lt;p&gt;Slawek: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Serwer]]&lt;br /&gt;
== Samba ==&lt;br /&gt;
&lt;br /&gt;
'''Samba''' jest darmowym serwerem plików oraz drukarek, dostępna praktycznie dla każdego systemu. Dostępna jest na licencji [[GPL]] (''Gnome Public License''). ''Samba'' korzysta z implementacji protokołu '''SMB''' (''Server Message Block'').&lt;br /&gt;
&lt;br /&gt;
Głównymi zadaniami samby są:&lt;br /&gt;
&lt;br /&gt;
*współdzielenie plików i drukarek&lt;br /&gt;
*serwer logowania dla Sieci Windows&lt;br /&gt;
*podstawowy konroler domeny&lt;br /&gt;
*serwer przeglądania Windows&lt;br /&gt;
*obsługa WINS (internetowy serwer nazw)&lt;br /&gt;
*obsługa OpLock (buforowanie plików w komputerach-klientach)&lt;br /&gt;
*obsługa LDAP&lt;br /&gt;
*synchronizacja haseł pomiędzy systemami linux i windows&lt;br /&gt;
*obsługa SSL&lt;br /&gt;
&lt;br /&gt;
Serwer '''samba''' składa się z trzech demonów&lt;br /&gt;
&lt;br /&gt;
*'''SMBD''' (Server Message Block daemon) demon odpowiedzialny za poprawne działanie serwera. Dla każdego klienta podłączonego do serwera samby działa oddzielny demon SMB. Ponadto demon SMB obsługuje dostęp do plików i drukarek oraz takie żądania jak API programu LAN Manager typu NetServerEnum, NetShareEnum, NetUserGetInfo itp.&lt;br /&gt;
*'''NMBD''' demon usługi nazw NetBIOS, w poprawnie skonfigurowanym serwerze powinien działać przynajmniej jeden proces nmbd. Jeżeli w serwerze został skonfigurowany parametr pozwalający sambie pracować jako serwer WINS (wins serwer = yes), zostanie utworzona kolejna kopia demona nmbd. Ponadto nmbd obsługuje poszukiwanie nazw NetBIOS oraz żądania wins.&lt;br /&gt;
*'''WINBIND''' samba za pomocą Winbind pobiera dane na temat użytkowników i grup z Windows oraz odwzorowuje je na lokalne numery ID. Winbind kontroluje usługę winbindd i do jego włączenia nie jest potrzebny działający demon smbd.&lt;br /&gt;
&lt;br /&gt;
== Instalacja ==&lt;br /&gt;
&lt;br /&gt;
Aby zainstalować '''serwer samba''' na linuxe (artykuł pisany jest na centos 5.5 i386), możemy użyć kilku metod takich jak zainstalowanie odpowiednich pakietów z pełnej płyty instalacyjnej dystrybucji, możemy ściągnąć z internetu paczki samby i zainstalować je ręcznie lub możemy skorzystać z naszego repo. W niniejszym  artykule użyjemy właśnie tej ostatniej metody.&lt;br /&gt;
&lt;br /&gt;
Aby zainstalować serwer samba wydajemy następujące polecenie&lt;br /&gt;
&lt;br /&gt;
 yum install samba samba-common samba-client &lt;br /&gt;
&lt;br /&gt;
lub&lt;br /&gt;
&lt;br /&gt;
 yum groupinstall „Windows File Server” &lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Po tych operacjach jeżeli nie było żadnych problemów powinniśmy mieć wszystko co potrzebujemy aby zacząć konfiguracje naszego serwera Uśmiech Zarządzanie usługami odbywa się w taki sam sposób jak w przypadku serwera stron [[Apache|www]], [[Vsftpd|ftp]] czy innych tego typu usług.&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/smb (start/stop/restart/reload/status/condrestart)&lt;br /&gt;
&lt;br /&gt;
*'''start''' start serwera&lt;br /&gt;
*'''restart''' włączenie i wyłączenie serwera, jeśli serwer był wyłączony zostanie on włączony&lt;br /&gt;
*'''stop''' wyłączenie serwera&lt;br /&gt;
*'''status''' sprawdzanie statusu działania serwera&lt;br /&gt;
*'''reload''' przeładowanie konfiguracji serwera bez konieczności jego wyłączania&lt;br /&gt;
*'''condrestart''' restart usługi zrobi się tylko wtedy gdy serwer cały czas działa (jest uruchomiony)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Przeglądanie zasobów ==&lt;br /&gt;
&lt;br /&gt;
Bezpośrednio z terminala mamy możliwość przeglądania zasobów naszego serwera samby, do tego celu używamy takich komend jak&lt;br /&gt;
&lt;br /&gt;
 smbtree&lt;br /&gt;
 findsmb&lt;br /&gt;
&lt;br /&gt;
'''findsmb''' powinien dać nam wynik podobny do poniższego&lt;br /&gt;
&lt;br /&gt;
 $ findsmb&lt;br /&gt;
  *=DMB&lt;br /&gt;
  +=LMB&lt;br /&gt;
 IP ADDR         NETBIOS NAME     WORKGROUP/OS/VERSION &lt;br /&gt;
 ---------------------------------------------------------------------&lt;br /&gt;
 192.168.0.1     SERWERSAMBA   +[SERWERSAMBA] [Unix] [Samba 3.5.6]&lt;br /&gt;
&lt;br /&gt;
oraz '''smbtree'''&lt;br /&gt;
&lt;br /&gt;
 $ smbtree&lt;br /&gt;
 Enter root's password: &lt;br /&gt;
 SERWERSAMBA&lt;br /&gt;
  \\SERWERSAMBA    		Samba 3.5.6&lt;br /&gt;
  \\SERWERSAMBA\IPC$           	IPC Service (Samba 3.5.6)&lt;br /&gt;
  \\SERWERSAMBA\programy       	dysk z programami&lt;br /&gt;
  \\SERWERSAMBA\zdjecia        	dysk ze zdjeciami&lt;br /&gt;
  \\SERWERSAMBA\muzyka         	Katalog dla lokalnych komputerow z muzyka&lt;br /&gt;
  \\SERWERSAMBA\dokumenty      	katalog z dokumentami&lt;br /&gt;
  \\SERWERSAMBA\all            	Katalog dla lokalnych komputerow&lt;br /&gt;
&lt;br /&gt;
W przypadku polecenia '''smbtree''' zostajemy zmuszeni do podania hasła użytkownika [[root]].&lt;br /&gt;
&lt;br /&gt;
Mamy możliwość połączenia się z zasobami serwera samby za pomocą polecenia '''smblient'''&lt;br /&gt;
&lt;br /&gt;
 smbclient nazwausługi [hasło] [-s smb.conf] [-B adres IP] [-O opcje gniazd] [-R porządek sprawdzania nazw] [-M nazwa NetBIOS] [-i zasięg] [-N] [-n nazwa NetBIOS] [-d poziom debugowania]  [-P] [-p port] [-l podstawa nazwy logów] [-h] [-I adres IP] [-E] [-U nazwa użytkownika] [-L nazwa NetBIOS] [-t kod terminala] [-m maksymalny poziom protokołu] [-W grupa robocza] [-TIXFqgbNan] [-D katalog] [-c lista komend]&lt;br /&gt;
&lt;br /&gt;
Sposób użycia&lt;br /&gt;
&lt;br /&gt;
 smbclient //localhost/slawek -U slawek&lt;br /&gt;
&lt;br /&gt;
Opis użytych poleceń&lt;br /&gt;
&lt;br /&gt;
*//localhost adres serwera samba można zarówno podać adres ip jak i nazwe hosta&lt;br /&gt;
*/slawek zasób dostępny na danym serwerze&lt;br /&gt;
*-U user użytkownik mający prawo do przeglądania wyżej wymienionego zasobu. Jeżeli nie podamy tej opcji będziemy się logować na tego użytkownika, który wywołał polecenie smbclient&lt;br /&gt;
&lt;br /&gt;
Po udanym wprowadzeniu komendy powinniśmy zostać zapytani o hasło użytkownika którego login podaliśmy za opcją ''-U''. Jeżeli wszystko poszło dobrze i udało nam się poprawnie zalogować na serwer zobaczymy znak zachęty podobny do tego ''smb:\&amp;gt;''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Montowanie zasobów w systemie ==&lt;br /&gt;
&lt;br /&gt;
Jak wszystko inne tak i zasoby samby możemy bez wielkich przeszkód zamontować w naszym systemie np za pomocą polecenia mount wydając polecenie&lt;br /&gt;
&lt;br /&gt;
 mount -t cifs -o username=slawek //192.168.0.1/slawek /mnt/samba/&lt;br /&gt;
&lt;br /&gt;
W powyższym polecenie zamontowaliśmy zasób znajdujący się na serwerze z adresem ip 192.168.0.1 o ścieżce slawek w lokalnym katalogu /mnt/samba/, logujemy się na użytkownika slawek (za komendą -o), typem systemu plików jaki użyliśmy to '''cifs'''.&lt;br /&gt;
&lt;br /&gt;
Mamy możliwość również bezpośredniego montowania zasobu samby przy uruchamianiu naszego komputera. Do tego celu użyjemy pliku fstab&lt;br /&gt;
&lt;br /&gt;
Wchodzimy do pliku ''/etc/fstab'' za pomocą naszego ulubionego edytora tekstu i dopisujemy poniższe opcje&lt;br /&gt;
&lt;br /&gt;
 //192.168.0.1/slawek /mnt/samba cifs user,uid=500,rw,suid,username=slawek, password=tajne_hasło 0 0credentials=/root/tajne.txt&lt;br /&gt;
&lt;br /&gt;
W powyższym przykładzie przy uruchamianiu systemu lub wydaniu polecenia mount -a zostanie zamontowany zasób znajdujący się na serwerze z ip 192.168.0.1, zasób slawek na użytkownika slawek o haśle tajne_hasło do katalogu ''/mnt/samba/''. Jak widać w powyższej konfiguracji musimy podać nasze tajne hasło jawnym tekstem co nie jest zbyt bezpiecznym rozwiązaniem. W tym celu możemy użyć opcji credentials, która pozwoli zdefiniować nam hasła w innym pliku, którego wszyscy nie będą mogli czytać. Zamiast ''username=slawek'', ''passwd=tajne_hasło'' wpisujemy&lt;br /&gt;
&lt;br /&gt;
 credentials=/root/hasla_samby.txt&lt;br /&gt;
&lt;br /&gt;
gdzie w pliku ''/root/hasla_samby.txt'' definiujemy login i hasło&lt;br /&gt;
&lt;br /&gt;
 username=slawek&lt;br /&gt;
 password=tajne_hasło&lt;br /&gt;
&lt;br /&gt;
== Zarządzanie użytkownikami ==&lt;br /&gt;
&lt;br /&gt;
Do zarządzania użytkownikami w sambie mamy kilka przydanych poleceń, które zostały zaprezentowane poniżej. Jednak należy pamiętać,że jeśli chcemy dodać użytkownika do samby to konto danego usera musi istnieć w systemie.&lt;br /&gt;
&lt;br /&gt;
*'''smbpasswd -a user''' dodajemy użytkownika do samby (pamiętaj o adduser user)&lt;br /&gt;
*'''smbpasswd -d user''' blokada konta podanego użytkownika&lt;br /&gt;
*'''smbpasswd -e user''' odblokowanie konta, które zostało zablokowane poleceniem z opcją -d&lt;br /&gt;
*'''smbpasswd -x user''' usunięcie użytkownika z samby (dostępne tylko dla usera root)&lt;br /&gt;
*'''smbpasswd -h''' wyświetlenie pomocy dla polecenia smbpasswd&lt;br /&gt;
*'''smbpasswd -L''' użycie tzw &amp;quot;local mode&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Konfiguracja serwera ==&lt;br /&gt;
&lt;br /&gt;
Główny plik konfiguracyjny jest umieszczony w ścieżce ''/etc/samba/'' i nazywa się ''smb.conf''. Najważniejsze opcje samby&lt;br /&gt;
&lt;br /&gt;
*'''browsable = yes/no''' opcja definiuje czy zasób ma być widoczny na liście wszystkich zasobów&lt;br /&gt;
*'''writable = yes/no''' opcja określa czy można pisać do danego zasobu czy też nie&lt;br /&gt;
*'''write list = user''', user/@grupa parapetr zawiera listę użytkowników lub @grupę (@ określa że definiowana jest grupa) posiadających uprawnienia do czytania i pisania usługi.Jeżeli użytkownik znajduje się na tej liście, to otrzymuje prawa do zapisu bez względu na opcję read-only&lt;br /&gt;
*'''force user/group = user/@grupa''' opcja przydatna jeśli chcemy wymusić podłączanie się do zasobu jako podany użytkownik/grupa&lt;br /&gt;
*'''admin user = user''', user... lista użytkowników z z prawami administracyjnymi w danym udziale&lt;br /&gt;
*'''hosts allow = 192.168.0.0/255.255.255.0''' polecenie umożliwiające zdefiniować, które hosty lub całe sieci będą miały dostęp do zasobu, w typ przypadku została zdefiniowana cała sieć&lt;br /&gt;
*'''host deny = 192.168.0.10''' zablokowanie możliwości łączenia się z serwerem z określonego adresu ip lub całej sieci&lt;br /&gt;
*'''guest ok = yes/no''' opcja pozwala kontrolować dostęp dla gości&lt;br /&gt;
*'''guest only = yes/no''' dany zasób będą mogli oglądać wszyscy (wstęp wolny)&lt;br /&gt;
*'''max connections = x''' za pomocą tej opcji możemy zdefiniować maksymalną liczbę połączeń do zasobu&lt;br /&gt;
*'''add user script = /sciezka/do/skryptu''' pełna ścieżka do skryptu użytkownika, który może być wykonany z prawami użytkownika root&lt;br /&gt;
*'''case sensitive = yes/no''' parametr ten może kontrolować czy nazwy plików mają uwzględniać wielkość znaków czy nie. Opcja przydatna gdy w sieci są klienci DOS. Jeśli opcja ustawiona jest na no to samba próbuje szukać i dopasowywać nazwy plików&lt;br /&gt;
*'''comment = komentarz''' w tym polu możemy zdefiniować komentarz dla danego udziału. Pole jest widoczne za nazwami udziału w otoczeniu sieciowym systemu windows&lt;br /&gt;
*'''deadtime = 10''' opcja ustawia czas w minutach nieaktywności ze strony użytkownika po którym zostanie zerwane połączenie przez serwer&lt;br /&gt;
*'''hide dot files = yes/no''' parametr określa czy pliki zaczynające się od kropki mają być przedstawione jako ukryte&lt;br /&gt;
*'''interfaces = eth0 192.168.0.1/24''' parametr pozwala określić interfejsy z których ma korzystać serwer samba&lt;br /&gt;
*'''local master = yes/no''' parametr kontroluje czy dany serwer ma być głównym serwerem plików w sieci&lt;br /&gt;
*'''max disk size = 100''' opcja określa granice  widocznego dostępnego miejsca na dysku. Wartość podaje się w MB.&lt;br /&gt;
*'''max open files = 1000''' parametr określa maksymalną ilość otwartych plików przez jeden proces smbd&lt;br /&gt;
*'''max xmit = 1000''' parametr określa maksymalny rozmiar pakietu, jaki może być negocjowany przez sambę. Domyślną wartością jest 65535&lt;br /&gt;
*'''oplocks = True/False''' parametr określa czy demon smbd będzie wysyłał prawa oplock (oportunistyczne blokady) do plików otwierania w danym udziale. Opcja oplocks zwiększa wydajność serwera o około 30 %&lt;br /&gt;
*'''valid users = user''', user, @grupa lista użytkowników/grup uprawnionych do przeglądania danego zasobu, jeśli pusta to każdy ma dostęp do danego zasobu&lt;br /&gt;
*'''workgroup = MOJAGRUPA''' opcja wskazuje na nazwe domyślnej grupy roboczej&lt;br /&gt;
*'''wins server = 192.168.0.2''' parametr określa adres ip lub nazwe DNS serwera WINS, dla którego może się zarejestrować demon nmbd. Jeśli masz serwer wins w sieci lokalnej powinieneś podać jego adres IP&lt;br /&gt;
&lt;br /&gt;
== Poziomy bezpieczeństwa ==&lt;br /&gt;
&lt;br /&gt;
W konfiguracji serwera '''samba''' mamy do dyspozycji dwa poziomy bezpieczeństwa.&lt;br /&gt;
&lt;br /&gt;
Na poziomie zasobów, gdzie użytkownik musi podać hasło dopiero kiedy chce otrzymać dostęp do zasobów&lt;br /&gt;
&lt;br /&gt;
 security = share &lt;br /&gt;
&lt;br /&gt;
Na poziomie użytkownika, user proszony jest o podanie hasła już przy próbie zobaczenia listy dostępnych zasobów, opcja domyślna&lt;br /&gt;
&lt;br /&gt;
 security = user &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Przykładowa konfiguracja ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Poniżej przedstawiam wpełni działającą przykładową konfiguracje serwera '''samba'''. Oczywiście jeżeli chcesz ją wykorzystać u siebie na serwerze musisz zmienić i dopasować niektóre z użytych poniżej opcji. Z konfiga usunięte zostały zbędne komentarze.&lt;br /&gt;
&lt;br /&gt;
 [global]&lt;br /&gt;
         workgroup = serwersamba&lt;br /&gt;
         interfaces = 127.0.0.1 eth0 192.168.0.0&lt;br /&gt;
         netbios name = serwersamba &lt;br /&gt;
         bind interfaces only = true &lt;br /&gt;
 [homes]&lt;br /&gt;
 comment = Twoj wlasny katalog&lt;br /&gt;
 # przykładowo, prawa na katalogach domowych użytkownika home &lt;br /&gt;
 # powinny wyglądać ak:&lt;br /&gt;
 # $&amp;gt;ls -l /home&lt;br /&gt;
 # drwx------   3 piotrek  piotrek       512 22 Sty  2000 piotrek&lt;br /&gt;
 # prawa do plików katalogów dla właściciela &lt;br /&gt;
         create mode = 0700&lt;br /&gt;
         directory mode = 0700&lt;br /&gt;
         public = no&lt;br /&gt;
         writable = yes &lt;br /&gt;
  # ścieżka do zasobu (czyli $HOME z /etc/passwd)&lt;br /&gt;
         path = /home/%u&lt;br /&gt;
         browseable = no &lt;br /&gt;
 # zezwalamy na agresywne buforowanie plikórzez Windows co&lt;br /&gt;
 # daje znaczące zwięlszenie szybkości Samby. &lt;br /&gt;
 # Bezsensownym jest stosowanie tego na zasobach bazodanowych itp. &lt;br /&gt;
 # &amp;quot;oplock&amp;quot; = &amp;quot;opportunistic lock&amp;quot; &lt;br /&gt;
         oplocks = True&lt;br /&gt;
         level2 oplocks = True &lt;br /&gt;
 # przykładowo zabraniamy oplock'ów na  plikach *.dbf i *.DBF&lt;br /&gt;
  veto oplock files = /*.DBF/*.dbf/&lt;br /&gt;
 [all] &lt;br /&gt;
        path = /home/samba/all&lt;br /&gt;
        volume = all&lt;br /&gt;
        comment = Katalog dla lokalnych komputerow&lt;br /&gt;
        browseable = yes&lt;br /&gt;
        writable = yes&lt;br /&gt;
 # dajemy dostęp do niego tylko z części sieci &lt;br /&gt;
        hosts allow = 192.168.0.0/255.255.255.0&lt;br /&gt;
 [dokumenty]&lt;br /&gt;
         path = /home/samba/dokumenty&lt;br /&gt;
         volume = dokumenty&lt;br /&gt;
         comment = katalog z dokumentami&lt;br /&gt;
         browsable = yes&lt;br /&gt;
         writable = yes &lt;br /&gt;
 [muzyka]&lt;br /&gt;
        path = /home/samba/muzyka&lt;br /&gt;
        volume = muzyka&lt;br /&gt;
        comment = Katalog dla lokalnych komputerow z muzyka&lt;br /&gt;
        browseable = yes&lt;br /&gt;
        writable = yes&lt;br /&gt;
 [zdjecia]&lt;br /&gt;
        path = /home/samba/zdjecia&lt;br /&gt;
        volume = zdjecia&lt;br /&gt;
        comment = Katalog dla lokalnych komputerow ze zdjeciami&lt;br /&gt;
        browseable = yes&lt;br /&gt;
        writable = yes &lt;br /&gt;
 [programy]&lt;br /&gt;
        path = /home/samba/programy&lt;br /&gt;
        volume = programy&lt;br /&gt;
        comment = Katalog dla lokalnych komputerow z roznymi  programami &lt;br /&gt;
        browseable = yes&lt;br /&gt;
        writable = yes&lt;br /&gt;
        comment = dysk z programami&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Zobacz również ===&lt;br /&gt;
 * Samba jako PDC [[Samba jako PDC|Samba jako PDC]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;google1 style=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/google1&amp;gt;&lt;/div&gt;</summary>
		<author><name>Slawek</name></author>	</entry>

	</feed>