Items to Implement Before Production

We recommend you take your time before implementing a production a Bacula backup system since Bacula is a rather complex program, and if you make a mistake, you may suddenly find that you cannot restore your files in case of a disaster. This is especially true if you have not previously used a major backup product.

If you follow the instructions in this section, you will have covered most of the major problems that can occur. It goes without saying that if you ever find that we have left out an important point, please inform us, so that we can document it to the benefit of everyone.

Critical Items

The following assumes that you have installed Bacula, you more or less understand it, and that you have set up a basic production configuration. If you haven’t done the above, please do so and then come back here. The following is a sort of checklist that points with perhaps a brief explanation of why you should do it. In most cases, you will find the details elsewhere in the documentation. The order is more or less the order you would use in setting up a production system (if you already are in production, use the checklist anyway).

  • Test your tape drive for compatibility with Bacula by using the test command of the btape utility (see the btape section).

  • Better than doing the above is to walk through the nine steps in the of the Tape Testing section. It may take you a bit of time, but it will eliminate surprises.

  • Test the end of tape handling of your tape drive by using the fill command of the btape utility (see the btape section).

  • Do at least one restore of files. If you backup multiple OS types (Linux, Solaris, MacOS, FreeBSD, Windows, etc.), restore files from each system type. The Restoring Files section shows you how.

  • Write a bootstrap file to a separate system for each backup job. The Write Bootstrap directive is described in the Director Configuration section, and more details are available in the Bootstrap File section. Also, the default bacula-dir.conf comes with a Write Bootstrap directive defined. This allows you to recover the state of your system as of the last backup.

  • Backup your catalog. An example of this is found in the default bacula-dir.conf file. The backup script is installed by default and should handle any database, though you may want to make your own local modifications. See also Backing Up Your Bacula Database - Security Considerations for more information.

  • Write a bootstrap file for the catalog. An example of this is found in the default bacula-dir.conf file. This will allow you to quickly restore your catalog in the event it is wiped out – otherwise it is many excruciating hours of work.

  • Make a copy of the bacula-dir.conf, bacula-sd.conf, and bacula-fd.conf files that you are using on your server. Put it in a safe place (on another machine) as these files can be difficult to reconstruct if your server dies.

  • Prepare tools and documentation in case of disaster recovery! See Disaster Recovery.

  • Bacula assumes all filenames are in UTF-8 format. This is important when saving the filenames to the catalog. For Windows machine, Bacula will automatically convert from Unicode to UTF-8, but on Unix, Linux, *BSD, and MacOS X machines, you must explicitly ensure that your locale is set properly. Typically this means that the LANG environment variable must end in .UTF-8. A full example is en_US.UTF-8. The exact syntax may vary a bit from OS to OS, and exactly how you define it will also vary. On most modern Windows machines, you can edit the configuration files with notepad and choose output encoding UTF-8.