Note

You can download this article as a PDF

Bacula Enterprise Frequently Asked Questions

The following article aims at presenting answers to frequently asked questions about Bacula Enterprise.

On What Machines Does Bacula Run?

Bacula builds and executes on Linux, Windows, FreeBSD, Solaris, OpenBSD, AIX, HPUX, Android and Mac OS X.

What Makes Bacula So Stable?

Yes, it is remarkably stable. There are a number of reasons for this stability.

  1. The program is constantly checking the chain of allocated memory buffers to ensure that no overruns have occurred.

  2. All memory leaks (orphaned buffers) are reported each time the program terminates.

  3. Any signal (segmentation fault, …) generates a traceback that can be emailed to the developer. This permits quick resolution of bugs even if they only show up rarely in a production system.

  4. There is a reasonably comprehensive set of regression tests that avoids re-creating the most common errors in new versions of Bacula.

My Catalog is Full of Test Runs, How Can I Start Over?

In order to remove the current Bacula Catalog and create a new one, do the following:

cd /opt/bacula/scripts
./drop_bacula_tables
./make_bacula_tables
./grant_bacula_privileges

Then write an EOF on each tape you used with Bacula using:

mt -f /dev/st0 rewind
mt -f /dev/st0 weof

where you need to adjust the device name for your system.

If you wrote data to disk volume, simply erase those volume.

When I Start the Console, the Error Messages Fly By. How Can I See Them?

Either use a shell window with a scroll bar. In any case, you probably should be logging all output to a file, and then you can simply view the file using an editor or the less program. To log all output, set the following in your Director’s Message resource definition:

append = "/home/user1/bacula/bin/log" = all, !skipped

Obviously you will want to change the filename to be appropriate for your system.

All My Jobs Are Scheduled for the Same Time. Will This Cause Problems?

No, not at all. Bacula will schedule all the Jobs at the same time, but will run them one after another unless you have increased the number of simultaneous jobs in the configuration files for the Director, the File daemon, and the Storage daemon. The appropriate configuration record is Maximum Concurrent Jobs = nn.

Can Bacula Backup My System To Files Instead of Tape?

Yes, Bacula can backup to any storage medium as long as you have correctly defined that medium in the Storage daemon’s Device resource.

Can I Use a Dummy Device to Test the Backup?

Yes, to have a Virtual device which just consumes data, you can use a FIFO device. It’s useful to test a backup.

Device {
    Name = NULL
    Media Type = NULL
    Device Type = Fifo
    Archive Device = /dev/null
    LabelMedia = yes
    Random Access = no
    AutomaticMount = no
    RemovableMedia = no
    MaximumOpenWait = 60
    AlwaysOpen = no
}

I Started a Job, Then Decided I Really Did Not Want to Run It. Is there a Better Way than systemctl stop bacula-dir.service to Stop It?

Yes, you normally should use the Console command cancel to cancel a Job that is either scheduled or running. If the Job is scheduled, it will be marked for cancellation and will be canceled when it is scheduled to start. If it is running, it will normally terminate after a few minutes. If the Job is waiting on a tape mount, you may need to do a mount command before it will be canceled.

I Did a Full Backup Last Week, But Now is Running an Incremental. Bacula Says It Did Not Find a FULL Backup, So It Did a FULL Backup. Why?

Before doing an Incremental or a Differential backup, Bacula checks to see if there was a prior Full backup of the same Job that terminated successfully. If so, it uses the date that full backup started as the time for comparing if files have changed. If Bacula does not find a successful full backup, it proceeds to do one. Perhaps you canceled the full backup, or it terminated in error. In such cases, the full backup will not be successful. You can check by entering list jobs and look to see if there is a prior Job with the same Name that has Level F and JobStatus T (normal termination).

Another reason why Bacula may not find a suitable Full backup is that every time you change the FileSet, Bacula will require a new Full backup. This is necessary to ensure that all files are properly backed up in the case where you have added more files to the FileSet.

If I Run Multiple Simultaneous Jobs, How Can I Force One Particular Job to Run After Another Job?

Yes, you can set Priorities on your jobs so that they run in the order you specify.

Bacula is Not Doing the Right Thing When I Request an Incremental Backup. Why?

As explained in one of the previous questions, Bacula will automatically upgrade an Incremental or Differential job to a Full backup if it cannot find a prior Full backup or a suitable Full backup.

I’m Confused by the Different Retention Periods: File Retention, Job Retention, Volume Retention. Why are There So Many?

Yes, this certainly can be confusing. The basic reason for so many is to allow flexibility. The File records take quite a lot of space in the catalog, so they are typically records you want to remove rather quickly. The Job records, take very little space, and they can be useful even without the File records to see what Jobs actually ran and when. One must understand that if the File records are removed from the catalog, you cannot use the restore command to restore an individual file since Bacula no longer knows where it is. However, as long as the Volume Retention period has not expired, the data will still be on the tape, and can be recovered from the tape.

I Can’t Figure Out How to Tell the Job Which Volume to Use. What to Do?

This is an interesting statement. In fact, you do not tell Bacula what volumes or tapes to use. It is the inverse. Bacula tells you what tapes it wants. You put tapes at its disposition and it chooses.

So, the trick is to invert your concept of things and put Bacula in charge of handling the tapes. Once you do that, you will be fine. If you want to anticipate what it is going to do, you can generally figure it out correctly and get what you want.

I don’t want to worry about what tape has what data. That is what Bacula is designed for.

How Do I Generate a Password?

Each daemon needs a password. This password occurs in the configuration file for that daemon and in the bacula-dir.conf file. These passwords are plain text. There is no special generation procedure. Most people just use random text.

Passwords are never sent over the wire in plain text. They are always encrypted.

Security surrounding these passwords is best left to your operating system. Passwords are not encrypted within Bacula configuration files.

How to Exclude Files on Windows Regardless of Case?

On Windows, which is case insensitive, the problem is that Bacula thinks that /UNIMPORTANT FILES is different from /Unimportant Files. Since the file exclusion permits wild-cards it is possible to do this:

"/[Uu][Nn][Ii][Mm][Pp][Oo][Rr][Tt][Aa][Nn][Tt] [Ff][Ii][Ll][Ee][Ss]"

As a consequence, the above exclude works for files of any case.

This works only in Bacula Exclude statement and not in Include.