Bacula, network-based backup, recovery & verification system	
http://www.bacula.org
===============================================================================

The 'bacula-common' package provides some of the common infrastructure
for Bacula. You can find Bacula READMEs and other documentation files
there.

DFSG-FREE PACKAGE
-----------------

The SHA-1 implementation in upstream sources (src/lib/sha1.{h,c}) is
directly taken from RFC 3174 "US Secure Hash Algorithm 1 (SHA1)".
Given that the Debian considers RFCs non-free according to the Debian
Free Software Guidelines 3 and 6, the offending files were removed
from the upstream sources.

Please note that thanks to a patch by Alexander Golovko there was no
loss of functionality: luckily, the SHA-1 implementation provided by
the OpenSSL library is compatible with the own in Bacula. The fact
that Bacula is already linked with OpenSSL also means that nothing
changed for the Debian package.

Please see the following bug report for a complete explanation:

  <http://bugs.debian.org/658326>

BASIC INFORMATION
-----------------

To use Bacula you must install one of the flavors of director,
depending on your preferred database, onto a server.

You must also install bacula-sd on the machine where you will be
storing your backed-up data. And you'll need bacula-fd on any machine
that you want to back up.

The installation will run the necessary daemons automatically, but to
get any backups working you must customize the relevant configuration
files in /etc/bacula as described in the Bacula manual. Once you have
edited the files you should issue an appropriate /etc/init.d/bacula-xx
force-reload.

NETWORK ENABLING
----------------

By default, Debian's Bacula packages install config files in which the
servers listen only on localhost by default. If you want to be able
to do backups over the network, you'll need to find the lines in
bacula-dir.conf, bacula-sd.conf and bacula-fd.conf that reference
127.0.0.1 and remove them.

Note that all hostnames used in "Address"-lines need to be resolvable
on all hosts involved, so fully qualified domain names are
recommended.

Using a hostname in the listen addresses (DirAddress, SDAddress,
FDAddress) will only work if they are resolvable on startup, this is
not the case if using NetworkManager.

PACKAGES
========

The package 'bacula-director' provides the bacula-dir binary.

To select a database backend, one of the following packages
has to be installed:

	- bacula-director-sqlite3
	- bacula-director-mysql
	- bacula-director-pgsql

These packages provide the needed scripts and configurations for
the database indicated in the package's name.

CHANGING DATABASE BACKEND
=========================

This is NOT RECOMMENDED and NOT SUPPORTED FOR LIVE DATA.

Your current database IS NOT transferred to the new database
backend. The new database backend will have an EMPTY database. Your
/etc/bacula/bacula-dir.conf file WILL NOT be automatically adapted to
function with the new database backend, YOU need to do the necessary
changes to the Catalog{} section YOURSELF.

If you want to go ahead anyway, you change the database backend by
installing a different bacula-director-DBTYPE package. This will pull
in the needed dependencies for the new database backend and remove the
ones from the old one.

CONSOLE
=======

The package bacula-console provides the administration console for
Bacula, so that users can contact the director.

The BAT graphical admin console is contained in the
bacula-console-qt package.

USERS & SECURITY
================

The passwords in the configuration files in /etc/bacula have been
auto-generated individually during installation. They are saved in
/etc/bacula/common_default_passwords.

The installation will create a "bacula" user on the system, and the
daemons and RunBefore/RunAfter jobs will run as that user. However,
the file daemon runs as root, as will your ClientRunBefore/After
jobs. The file daemon can use Linux capabilities(7) to drop root
privileges, but it requires root privileges to correctly restore the
original file permissions. To run the file daemon without root
privileges you can add ARGS="-k -u <username>" in
/etc/default/bacula-fd. This is a Linux specific feature. The
installation of the director will ask you for a database user to use.

You can run Bacula consoles as any user, but the user you use will
need to be able to read the console config files. These files are, by
default, under /etc/bacula. You'll need to specify the config file
with -c for any of the consoles.

PERFORMANCE NOTES
=================

This was announced on Bacula's website with the release of Bacula 5.0.1:

 Some of you have encountered performance problems with your
 database (mainly with MySQL) with Bacula version 5.0.0. This is
 mainly because we've changed the SQL query used for restore,
 accurate jobs and base jobs. We have extensively tested this
 change, and though it should be a little bit slower than the previous
 versions, on a well configured database it should run
 extremely well.

 We strongly recommend to avoid the temptation to add new indexes.
 In general, these will cause very significant performance
 problems in other areas. A better approach is to carefully check
 that all your MySQL memory configuration parameters are
 suitable for the size of your installation. If you backup
 millions of files, you need to adapt the database memory
 configuration parameters concerning sorting, joining and global
 memory. By default, sort and join parameters are very small
 (sometimes 8Kb), and having sufficient memory specified by those
 parameters is extremely important to run fast.

 If adjusting your MySQL memory configuration values does not
 solve your problem, you can also consider switching to
 PostgreSQL, which performs much better with Bacula on big
 installations (many millions of files per Job). However for
 large installations, you will also need to adjust the default
 PostgreSQL memory configuration parameters.

from http://www.bacula.org/en/?page=news

UPGRADES
========

Debian packages will, unless you have asked them not to, attempt to
automatically upgrade your catalog during a major Bacula upgrade.

However, please be sure to examine the Release Notes in
/usr/share/doc/bacula-common/ for potential changes in the
configuration files.

CATALOG BACKUPS
===============

Please see the comments in the bacula-dir.conf file regarding the
make_catalog_backup script for information on tailoring it for your own
particular environment.

MONITORING ("NAGIOS") PLUGIN
============================

The monitoring plugin "check_bacula" from the examples is included in
bacula-common. Please note that it does not support TLS and that is
not an official part of bacula and thus unsupported.

FURTHER READING
===============

See the Bacula documentation on the upstream author's website,
http://www.bacula.org.

-- John Goerzen

based on a file by Jose Luis Tallon

 -- Carsten Leonhardt <leo@debian.org>, Thu, 19 Jan 2017 11:13:36 +0100
