Subsections

- - Enhanced Autochanger Support
  - New Prune Command Option
  - BConsole Features
    - Delete a Client
    - Status Schedule Enhancements
    - Restore option “noautoparent”
  - Tray Monitor Restore Screen

# New Features in 9.2.0

This chapter describes new features that have been added to the current version of Bacula in version 9.0.0

In general, this is a fairly substantial release because it contains a very large number of bug fixes backported from the Bacula Enterprise version. There are also a few new features backported from Bacula Enterprise.

## Enhanced Autochanger Support

Note: this feature was actually backported into version 9.0.0, but the documentation was added much after the 9.0.0 release. To call your attention to this new feature, we have also included the documentation here.

To make Bacula function properly with multiple Autochanger definitions, in the Director's configuration, you must adapt your bacula-dir.conf Storage directives.

Each autochanger that you have defined in an Autochanger resource in the Storage daemon's bacula-sd.conf file, must have a corresponding Autochanger resource defined in the Director's bacula-dir.conf file. Normally you will already have a Storage resource that points to the Storage daemon's Autochanger resource. Thus you need only to change the name of the Storage resource to Autochanger. In addition the Autochanger = yes directive is not needed in the Director's Autochanger resource, since the resource name is Autochanger, the Director already knows that it represents an autochanger.

In addition to the above change (Storage to Autochanger), you must modify any additional Storage resources that correspond to devices that are part of the Autochanger device. Instead of the previous Autochanger = yes directive they should be modified to be Autochanger = xxx where you replace the xxx with the name of the Autochanger.

For example, in the bacula-dir.conf file:

    Autochanger {             # New resource
      Name = Changer-1
      Address = cibou.company.com
      SDPort = 9103
      Password = "xxxxxxxxxx"
      Device = LTO-Changer-1
      Media Type = LTO-4
      Maximum Concurrent Jobs = 50
    }

    Storage {
      Name = Changer-1-Drive0
      Address = cibou.company.com
      SDPort = 9103
      Password = "xxxxxxxxxx"
      Device = LTO4_1_Drive0
      Media Type = LTO-4
      Maximum Concurrent Jobs = 5
      Autochanger = Changer-1  # New directive
    }

    Storage {
      Name = Changer-1-Drive1
      Address = cibou.company.com
      SDPort = 9103
      Password = "xxxxxxxxxx"
      Device = LTO4_1_Drive1
      Media Type = LTO-4
      Maximum Concurrent Jobs = 5
      Autochanger = Changer-1  # New directive
    }

    ...

Note that Storage resources Changer-1-Drive0 and Changer-1-Drive1 are not required since they make up part of an autochanger, and normally, Jobs refer only to the Autochanger resource. However, by referring to those Storage definitions in a Job, you will use only the indicated drive. This is not normally what you want to do, but it is very useful and often used for reserving a drive for restores. See the Storage daemon example .conf below and the use of AutoSelect = no.

So, in summary, the changes are:

- Change Storage to Autochanger in the LTO4 resource.
- Remove the Autochanger = yes from the Autochanger LTO4 resource.
- Change the Autochanger = yes in each of the Storage device that belong to the Autochanger to point to the Autochanger resource with for the example above the directive Autochanger = LTO4.

  Please note that if you define two different autochangers, you must give a unique Media Type to the Volumes in each autochanger. More specifically, you may have multiple Media Types, but you cannot have Volumes with the same Media Type in two different autochangers. If you attempt to do so, Bacula will most likely reference the wrong autochanger (Storage) and not find the correct Volume.

## New Prune Command Option

The bconsole “prune” command can now run the pruning algorithm on all volumes from a Pool or on all Pools.

    * prune allfrompool pool=Default yes
    * prune allfrompool allpools yes

## BConsole Features

### Delete a Client

The `delete client` bconsole command delete the database record of a client that is no longer defined in the configuration file. It also removes all other records (Jobs, Files, ...) associated with the client that is deleted.

### Status Schedule Enhancements

The `status schedule` command can now accept multiple `client` or `job` keywords on the command line. The `limit` parameter is disabled when the `days` parameter is used. The output is now ordered by day.

### Restore option “noautoparent”

During a `bconsole` restore session, parent directories are automatically selected to avoid issues with permissions. It is possible to disable this feature with the `noautoparent` command line parameter.

## Tray Monitor Restore Screen

It is now possible to restore files from the Tray Monitor GUI program.

Figure: Tray Monitor Restore Wizard