Hundreds of tutorials and step by step guides carefully written by our support team.
In this manual we will show you step by step how to install the backup agent 'Bacula'. This is an application that allows communication between your server and our backup server to perform and schedule backups for you.
This manual assumes that you have the necessary technical knowledge to establish an SSH or RDP connection to your server and use Debian, Ubuntu or Windows commands.
If you do not have the necessary skills, our engineering team can perform these tasks for you. Please contact us via our support wall to find out how.
1. Establish an SSH connection to your server
Throughout this manual we will assume that you are logged in as a root user.
2. Package installation
To install the required package run the following command:
apt-get install bacula-fd
3. Change the configuration file
The configuration file is located in /etc/bacula/bacula-fd.conf
We recommend that you edit the document with the 'nano' editor:
nano /etc/bacula/bacula-fd.conf
First block "Director":** ** First block "Director":** First block "Director":** First block "Director":** First block "Director
Here we will define the names of the copy servers and an access password. You will have to inform this password to our engineers to configure the "Bacula" daemon on the copy server. At the end of the manual, we will explain how to do it.
Attention: Copy the following block as shown in the example. You only have to modify the word $PWD_BACULA by your own alphanumeric password from 15 to 30 characters.
Director {
Name = bacula.dnssw.net-dir
Password = "$PWD_BACULA"
}
Director {
Name = bacula2.dnssw.net-dir
Password = "$PWD_BACULA"
}
Director {
Name = bacula3.dnssw.net-dir
Password = "$PWD_BACULA"
}
Director {
Name = bacula4.dnssw.net-dir
Password = "$PWD_BACULA"
}
Director {
Name = bacula5.dnssw.net-dir
Password = "$PWD_BACULA"
}
Director {
Name = bacula6.dnssw.net-dir
Password = "$PWD_BACULA"
}
Director {
Name = baculaMadrid.dnssw.net-dir
Password = "$PWD_BACULA"
}
Director {
Name = baculam1.dnssw.net-dir
Password = "$PWD_BACULA"
}
Director {
Name = baculam2.dnssw.net-dir
Password = "$PWD_BACULA"
}
Director {
Name = baculam3.dnssw.net-dir
Password = "$PWD_BACULA"
}
Director {
Name = baculam4.dnssw.net-dir
Password = "$PWD_BACULA"
}
Director {
Name = baculam5.dnssw.net-dir
Password = "$PWD_BACULA"
}
Second block "Director":
This block is not necessary, you can comment it by adding a # in front of each of the lines. It should look like this:
#
# Restricted Director, used by tray-monitor to get the
# status of the file daemon
#
# Director {
# Name = bacula3.dnssw.net-mon
# Password = "GexFhZYo843rTweXJq0RJLQtpyd"
# Monitor = yes
# }
** Third block "File Deamon":**
In this block we have to define the name and the IP of the director.
Just replace the word $SERVER_NAME with the hostname of your server and make sure that at the end there is concatenated "-fd".
You can get the server name with the command: hostname --fwdn
.
Additionally you have to replace the IP address in the FDAddress field by the IP address of your server.
Caution: Copy the following block as shown in the example.
FileDaemon {
Name = $SERVER_NAME-fd
FDport = 9102
WorkingDirectory = /var/lib/bacula
Pid Directory = /var/run/bacula
Maximum Concurrent Jobs = 20
FDAddress = 0.0.0.0
}
The configuration file may already show the $SERVER_NAME field substituted. It is not necessarily correct. Please check the real name with the provided command.
Fourth block "Messages":
Finally, you have to define the server to which all the logs of the copying process will be sent. Just leave the line "Name = Standard". You can comment out the other one by adding a # at the beginning of the line. It should look like this:
Messages {
Name = Standard
# director = cl2018123456-dir = all, !skipped, !restored
}
4. Restart the bacula daemon to apply the configuration and check that the service is listening on the assigned port.
Execute the following command:
/etc/init.d/bacula-fd restart
netstat -pant | grep 9102
Write a new comment on your support wall indicating that you wish to communicate the Bacula password to us. For your convenience, we have attached a sample message that you can use as a template:
Hello,
Following your manual I have already configured the bacula software for the backups I have contracted.
I would appreciate if you could check the configuration so that the backups can be done from tonight. I give you the data:
Server: cl20YYYMMDDDHHNNNN.dnssw.net
IP: 81.25.1XX.YYYY
Bacula password: 12345678901234567890
Thank you very much,
Regards
Caution: Modify the Server, IP and Bacula Password fields to those corresponding to your server. The Bacula Password is the one we have defined in the first block.
**That's it! Once you have completed these steps and communicated the password to our engineering team, the backups will start without you having to worry about anything else. You can follow up from your SWPanel.
1. Establish an RDP connection to your server
Throughout this manual we will assume that you are logged in as Administrator user.
2. Download the installation package
In a browser type the URL:
https://www.bacula.org/downloads/Bacula-9.6.7/
In the list that appears, download version "bacula-win64-9.6.7.exe"
Once downloaded, run the installer.
3. Installation of the downloaded package
When the installer opens, click on "Next ".
We accept the license by clicking on "I Agree ".
Select "Automatic " and click "Next ".
We make sure that the installation type is "Cient " and click "Next ".
In the following installer window click on "Install ".
We make sure to UNMARK the "Save Client template in " option and click "Next ".
Finally we finish the installer by clicking on "Finish ".
4. Edit the necessary configuration files
The configuration file is located at:
C:\Program Files\Bacula\bacula-fd.conf
First block "File Daemon ".
In this block you have to define the name of the director.
Substitute the word $FQDN_SERVER with the host name of your server and make sure that at the end you have concatenated "-fd ".
Caution: It is possible that the configuration file already shows this field by default. It is not necessarily correct. Please check it explicitly, by running the command "ipconfig /all " in a cmd. Take the values "Hostname" and "Primary DNS Suffix" that you will be shown
A valid example for this configuration line would be: CL2020123456.dnssw.net-fd
FileDaemon {
Name = $FQDN_SERVIDOR-fd # this is me
FDport = 9102 # where we listen for the director
WorkingDirectory = "C:\Program Files\Bacula\working"
Pid Directory = "C:\Program Files\Bacula\working"
#Plugin Directory = "C:\Program Files\Bacula\plugins"
Maximum Concurrent Jobs = 10
}
**Caution: ** It is important to allow connections to ports 9102 and 9103 on the local firewall for successful backups.
Second Block "File Daemon ".
Here we will define the names of the copy servers and an access password. You will have to inform this password to our engineers to configure the "Bacula" daemon on the copy server. At the end of the manual we will explain how to do this.
Please specify the server names as shown in the example and replace the word "$PWD_BACULA " with your own alphanumeric password of 15 to 20 characters.
#
# List Directors who are permitted to contact this File daemon
#
Director {
Name = bacula.dnssw.net-dir
Password = "$PWD_BACULA"
}
Director {
Name = bacula2.dnssw.net-dir
Password = "$PWD_BACULA"
}
Director {
Name = bacula3.dnssw.net-dir
Password = "$PWD_BACULA"
}
Director {
Name = bacula4.dnssw.net-dir
Password = "$PWD_BACULA"
}
Director {
Name = bacula5.dnssw.net-dir
Password = "$PWD_BACULA"
}
Director {
Name = bacula6.dnssw.net-dir
Password = "$PWD_BACULA"
}
Director {
Name = baculaMadrid.dnssw.net-dir
Password = "$PWD_BACULA"
}
Director {
Name = baculam1.dnssw.net-dir
Password = "$PWD_BACULA"
}
Director {
Name = baculam2.dnssw.net-dir
Password = "$PWD_BACULA"
}
Director {
Name = baculam3.dnssw.net-dir
Password = "$PWD_BACULA"
}
Director {
Name = baculam4.dnssw.net-dir
Password = "$PWD_BACULA"
}
Director {
Name = baculam5.dnssw.net-dir
Password = "$PWD_BACULA"
}
**Third block "Director
This third block is not necessary in our infrastructure. So it can be deleted or commented out
#
# Restricted Director, used by tray-monitor to get the
# status of the file daemon
#
#Director {
# Name = bacula3.dnssw.net-mon
# Password = "GexFhZYo843rTweXJq0RJLQtpyd"
# Monitor = yes
#}
Fourth block "Messages ".
Finally, you have to define the server to which the logs of the backup process will be sent.
By default, it will send the logs to the server that started the backup process. To do this we will comment the line "director = @director_name@ = all, !skipped, !restored " by adding a # at the beginning of the line, as follows:
# Send all messages except skipped files back to Director
Messages {
Name = Standard
# director = @director_name@ = all, !skipped, !restored
}
5. Restart and make sure that the service is listening on the assigned port.
Next, you will need to restart the server to allow the "bacula-fd" service to start automatically.
Once restarted, you can verify that the service is running by checking that the bacula client is listening on the port we configured.
To do this, run the following command from the Command Prompt (CMD):
netstat -a | find "9102"
In case the "bacula-fd" service is running, it will be shown with the status "LISTENING ".
5.1 If the service is not started
Open a CMD terminal as "Administrador" and execute the following commands:
C:\Users\Administrador>cd "C:\Program Files\Bacula".
C:\Program Files\Bacula>.bacula-fd.exe -c bacula-fd.conf
If there is an error, it will indicate it:
C:\Program Files\Bacula>.
13-Jun 14:40 bacula-fd: ERROR TERMINATION at lib/lex.c:878
Config error: expected a name, got T_EQUALS: =
: line 90, col 15 of file C:/Program Files/Bacula/bacula-fd.conf
director = = = all, !skipped, !restored, !verified
In this case it indicates that the error is on line 90, and it gives error because the "director" line (fourth block) has not been commented.
We recommend to check the configuration set.
6. Communicate the password to SW.
Write a new comment on your support wall indicating that you wish to communicate the Bacula password to us. For your convenience, we have attached a sample message that you can use as a template:
Hello,
Following your manual I have already configured the bacula software for the backups that I have contracted.
I would appreciate if you could check the configuration so that the backups can be done from tonight. I give you the data:
Server: cl20YYYMMDDDHHNNNN.dnssw.net
IP: 81.25.1XX.YYYY
Bacula password: 12345678901234567890
Thank you very much,
Regards
Caution: Modify the Server, IP and Bacula Password fields to those corresponding to your server. The Bacula Password is the one we have defined in the second block.
That's it! Once you have completed these steps and communicated the password to our engineering team, the backups will start without you having to worry about anything else. You can follow up from your SWPanel.