Bacula’s Clients do not have many dependencies and since they are developed C / C ++ they can have their binaries built basically on any operating system. It is important to remember that the client version can not be larger than the Director and Storage Daemons, although the opposite may happen.

We will see below some possibilities of installing only Clients.

Linux Clients Installation

Bacula.org and ENTERPRISE Community Packages

Here are two options. We can once again register the yum/apt repositories for client installation (in the same way as the server), which facilitates future updates, or download manuals of packages and install.

By Repositories

Register the Bacula.org or Bacula Systems (Enterprise) repositories.

It is not necessary to install a database (Catalog) nor the Bacula Director package. Proceed only with the client package installation. For example:

#!/bin/bash

# /root/bacula_enterprise_install.sh
# Centos 7

# Change below according to the unique URL of the Bacula Enterprise welcome packagge
# E.g.: in https://www.baculasystems.com/dl/<xxx>/rpms/bin/8.6.5/rhel7-64/

secret_url="<xxx>"

# Change the following according to the version you want to install:

version="10.0.8"

# This will configure the Bacula Enterprise repository (do not change anything else):

rpm --import https://www.baculasystems.com/dl/keys/BaculaSystems-Public-Signature-08-2017.asc

echo "
[Bacula-Enterprise]
name = Red Hat Enterprise - Bacula-Enterprise
baseurl = https://www.baculasystems.com/dl/"$secret_url"/rpms/bin/"$version"/rhel7-64/
enabled = 1
protect = 0
gpgcheck = 1
" > /etc/yum.repos.d/Bacula-Enterprise.repo

yum -y install bacula-enterprise-client

service bacula-fd restart

# Bacula Client successfully installed.

# If Firewalld

firewall-cmd --permanent --zone=public --add-port=9102/tcp
service firewalld restart

# Disables selinux:

setenforce 0
sudo sed -i "s/enforcing/disabled/g" /etc/selinux/config

Proceed to the client configuration topic.

Packages Download

Access the repository through the web browser and find the necessary packages: bacula-client and libs, in the case of the CentOS / RHEL family, or bacula-client and common, in the case of Debian / Ubuntu.

Download and install, as in the example:

rpm -ivh bacula-client-9.2.2-1.el7.x86_64.rpm bacula-libs-9.2.2-1.el7.x86_64.rpm
# or
dpkg -i bacula-common_9.2.2-1_amd64.deb bacula-client_9.2.2-1_amd64.deb

If you are in CentOS and/or have Firewall installed, disable Selinux to release port 9102 in the Firewall:

setenforce 0
sudo sed -i "s/enforcing/disabled/g" /etc/sysconfig/selinux
firewall-cmd --permanent --zone=public --add-port=9102/tcp
firewall-cmd --reload

Proceed to the client configuration topic.

Windows Client Installation

There are already packages built on the Bacula.org website. They contain the Client, Storage Daemon and the bconsole and BAT consoles for Windows, but for this procedure we are only installing the Client, since it is more usual for backup of production servers.

• Download and unpack the Bacula.org client packages: https://blog.bacula.org/binary-download-center/ (or Bacula Systems repository for Enterprise)

• Run Setup as Administrator (System and Domain, if applicable). Accept the license agreement.

• Select the .exe file that should match your Windows architecture: 32 or 64 bits. Ex .: bacula-win64-9.4.0.exe.

• Execute and accept the License Terms.

• As shown in Figure 1, select Custom Setup (allows you to anticipate the Client configuration, informing the actual name of your Director and copying the generated random password for subsequent association to the backup server).

Bacula Client Installation 1

Figure 1. Windows Client Custom Installation

• As in Figure 2, choose the software you want to install (in this example, the Windows Client and the accompanying free Plugins).

Bacula Client Installation 2

Figure 2. Client Installation and Bacula Free Plugins

• As shown in Figure 3, adjust the Bacula client name if desired (free), and a password for the Director access on this client. Copy this password to a notepad, then do the binding on the Director.

Bacula Client Installation 3

Figure 3. Name and password of the new Bacula client

• Finally according to Figure 4, fill in the name of the Director as configured on your Bacula Director server machine (bacula-dir.conf – Director resource). You can also get this information when accessing bconsole or using the version command.

Bacula Client Installation 4

Figure 4. Director’s actual name for Client configuration

• Wait for the installation to finish. Close any additional prompts/screens.

• Proceed with the Bacula Client Configuration topic.

Bacula Client Configuration

I. bacula-fd.conf (client side):

◦ Edit the client configuration file:

a) Linux: vi /opt/bacula/etc/bacula-fd.conf

b) Windows: if you did not do it in the installation, go to Menu> Bacula> Configuration> Edit Client Configuration.

◦ Edit / make sure that the first Director name resource (the one without the Monitor = yes directive) 1 contains exactly the same name as your Bacula Director server machine (bacula-dir.conf – Director resource) .2 You can also get this information when accessing bconsole or using the version command.

◦ Copy the randomly generated password still in the same Director resource of bacula-fd.conf (password directive) or change it as desired. You will need this information later when attaching this client to the Director.

◦ Change the Name directive of FileDaemon (FileDaemon resource) if you think it is not appropriate or this client may be a more meaningful name.

◦ Save and exit. Restart the client service:

a) Linux: service bacula-fd restart

b) Windows: Access the Services Manager (services.msc) and restart the Bacula File Daemon service.

◦ Verify that the operating system has an active firewall. If so, add an incoming TCP 9102 exception so that the Director can connect to that client. Or run the following command on the Windows terminal:

netsh advfirewall firewall add rule name="bacula-fd" dir=in action=allow protocol=TCP localport=9102

II. bacula-dir.conf (server side):

◦ Add a new client resource (you can copy and paste from an existing one and change the values of the required policies. In case ENTERPRISE can do it through BWeb). Change the name of the client (Name) to the same name as bacula-fd.conf (this really does not have to be the same, but I think it’s a good practice); in Address enter the IP address or FQDN (qualified name) of your client machine; and finally, in Password, put the password that was previously copied also from the bacula-fd.conf. For example:

Client {
  Name = bacula-fd
  Address = 192.168.1.199
  FDPort = 9102
  Catalog = MyCatalog
  Password = "xos2o70KCHf4namn9vs5fENUGNuEf5WaxWtL8j"
  File Retention = 1 year
  Job Retention = 1 year
  AutoPrune = yes
}

◦ Save and exit the bacula-dir.conf file.

◦ Restart the bacula-dir or reload it in the bconsole to apply the changes (reload command).

◦ In bconsole, make a client status for the new client tied. If it returns the client name, version, and job list, it means that your setup was a success and the Director can connect to your client.

Now that the new Client has been attached to the Director and tested, it’s time to create a new Job and a new FileSet. Go back to edit the bacula-dir.conf again:

◦ Add a new Job feature (hint: copy an existing Bacula backup job for easy typing).

◦ Rename Job to a meaningful distinguished name. This new Job must specify the same client name that was used in the client resource. Take this opportunity to assign a different FileSet that does not yet exist, but that we will be creating the respective resource with the same name below.

Job {
  Name = "BackupLibreOffice"
  JobDefs = "DefaultJob"
  Client = libreoffice-fd
  FileSet = fileserver_set
}

◦ Create a new FileSet with the same name specified in the Job (for example: FileSet = fileserver_set). Remember: to change the Include and Exclude with the folders you need to back up the new client, and that for Windows directories you must use regular forward slashes and never backslashes, and that paths with spaces in the name should be escaped with quotation marks. For example:

File = "C:/Program Files"

◦ Restart the bacula-dir or reload it with the reload command in bconsole to apply the changes.

◦ Test your new settings with the estimate quote command from bconsole. It will print the files that Bacula would back up if you started a Job, plus the sum of the size and quantity of the files that would be copied.

◦ Submit your first backup job (run) if desired. Do not forget to follow the work execution by reading your messages (message command of bconsole), using the status director, client or storage commands (each one gives a different detail of the running Job); or by using the list jobs, which provides a coded summary of the jobs being executed and completed (see the last few attachments in this book for the meaning of the codes).

Disponível em: pt-brPortuguês (Portuguese (Brazil))enEnglishesEspañol (Spanish)