1

Problem

After building a Proof-of-Concept setup of Bareos, I can add and update various components like Clients, Devices, etc. But when modifying a FileSet, those changes are not reflected in the running Bareos config.

Details and research

PoC is built on Bareos 20.0.1, installed on a CentOS Linux 8.3 box. Till now all components, concepts and tasks are working as excepted. I can run backup and restore jobs succesfully.

When running bconsole, show filesets the updated fileset is visible (so it is read from config).

When running bconsole, list filesets the previous original fileset is listed. None of my modifications (i.e. added exclusions) is reflected over here.

When running jobs for new clients or rerunning previous jobs, I see no diferrence in FileSets in logging and no effects of my modifications (fewer files due to added exclusions).

Details:

  • Config file location: /etc/bareos/bareos-dir.d/fileset/XX.conf
  • Config file ownership: bareos:bareos

What I've tried

I've tried to reload/restart Bareos in a few ways, with no difference:

  • bconsole, reload
  • systemctl restart bareos-dir
  • reboot server

Tried to educate myself by Bareos and Bacula official documentation of various versions, but couldn't find a specific part which describes this behaviour.

6
  • Do you have "ignore fileset changes" option used somewhere in your FileSet? Also, if you try to see which filesets you really have (via SQL query to the Bareos database: select * from FileSet), do you see newest filesets there (only hashes, but you can deduce which one is new by the datetime)? – Nikita Kipriyanov Mar 19 at 14:40
  • The setting "Ignore File Set Changes" is not set by me, and should fallback to the default setting of "no". When I query the database I only see the original first version of my fileset. Just like bconsole, list filesets does. There is no record of my modified fileset in the database. – acropia Mar 21 at 12:19
  • It seems it didn't read your configuration file. What's in the log files? Are you sure you put FileSet description into correct place where it is expected by BareOS? In my installations, all based on Debian 9 or 10, BareOS 16, 18, 19 or 20, this is /etc/bareos/bareos-dir.d/fileset/<Name>.conf. Earlier BareOS and Bacula versions (I began using Bacula at version 2.4 and Bareos at version 14) did not use split configuration, so there wasn't such directory-separated structure. Are permissions correct? By the way, which software versons (at least OS and BareOS) do you use? – Nikita Kipriyanov Mar 21 at 14:50
  • I think Bareos is able to read the config, because bconsole, show filesets does list the updated version. I'm sure the config file is in the right place, because my first original version was exactly the same location (/etc/bareos/bareos-dir.d/fileset/XX.conf). After a few jobs I modified the same file to add some exclusions. There is no new file, and the ownership of bareos:bareos is also still in place. Software versions: Bareos 20.0.1 on CentOS Linux 8.3 – acropia Mar 22 at 7:24
  • A little Work-in-Progress update from me: It looks like filesets in Bareos are only updated, when the Include statement itself has modified configuration. The exclusions I've added in Fileset, Include, Options were not reflected to the Bareos database. But now I've added a dummy Fileset, Include, File config in the same fileset, the modified fileset is reflected in the database after a started Job with that fileset. I'm test driving this now, and update this thread shortly with the outcome. – acropia Mar 23 at 10:20
0

After testing different situations I've found a solution/workaround. I'm not exactly sure if the current behaviour is intended or bugging, because I can not find anything about it in documentation. And I'm not skilled enough to verify it in source code.

Workaround

  1. Modify the FileSet config file (i.e. filesets/FileSet.conf)
  2. Mofidy at minimum a FileSet, Include, File-statement, even if that is not the change you wanted.
  3. Reload Bareos Director
  4. At the next related Job-execution, the new FileSet is added to the Bareos database

The trick I now use with frequently updates on Exclusions (WildDir) is to add a dummy File-statment like: File = "/tmp/dummy-0001". And number that up on each update.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.