Bacula uses flat text files for configuration. From time to time, people, usually new to the project, ask: why isn’t the configuration in the database?
Bacula uses the database to store information about what files were backed up, from what client, and when. This information is useful when you need to know how if you have a copy of a file from last Tuesday before you wrote crap into it but after you made those important changes. [I tend to refer to Bacula directives with a capital letter; you’ll see this in the next sentence.] If you use the Catalog, you don’t have to go searching through tarballs, or logs to find what you need. Bacula will find it for you.
So, newbies figure that it makes perfect sense to put all this into the Catalog. Yes, on the face of it, that makes sense. Drive everything off the database. Sorry, no, it’s not going to happen.
Flat text files are much better for configuration. They are easily human readable, and the last thing you want to lose if you database crashes is your configuration.
There are claims that writing a GUI interface to Bacula would be much easier if only we had the configuration in the database. Sorry. BAT seems to be a great GUI tool and it works off the existing configuration files.
There has been a call for a configuration tool. I point out Lilac (formerly Fruity) which is a configuration tool for Nagios. It produces the configuration files, then signals Nagios. I think something like that for Bacula would be warmly greeted.