New Features in 7.4.0

This chapter presents the new features that have been added to the various versions of Bacula.

New Features in 7.4.3


There are two new RunScript short cut directives implemented in the Director. They are:

Job {
  ConsoleRunBeforeJob = "console-command"

Job {
  ConsoleRunAfterJob = "console-command"

As with other RunScript commands, you may have multiple copies of either the ConsoleRunBeforeJob or the ConsoleRunAfterJob in the same Job resource definition.

Please note that not all console commands are permitted, and that if you run a console command that requires a response, the results are not determined (i.e. it will probably fail).

New Features in 7.4.0

Verify Volume Data

It is now possible to have a Verify Job configured with level=Data to reread all records from a job and optionally check the size and the checksum of all files.

# Verify Job definition
Job {
  Name = VerifyData
  Level = Data
  Client =     # Use local file daemon
  FileSet = Dummy           # Will be adapted during the job
  Storage = File            # Should be the right one
  Messages = Standard
  Pool = Default

# Backup Job definition
Job {
  Name = MyBackupJob
  Type = Backup
  Client = windows1
  FileSet = MyFileSet
  Pool = 1Month
  Storage = File

FileSet {
  Name = MyFileSet
  Include {
    Options {
      Verify = s5
      Signature = MD5
  File = /

To run the Verify job, it is possible to use the ``jobid'' parameter of the ``run'' command.

*run job=VerifyData jobid=10
Run Verify Job
JobName:     VerifyData
Level:       Data
FileSet:     Dummy
Pool:        Default (From Job resource)
Storage:     File (From Job resource)
Verify Job:  MyBackupJob.2015-11-11_09.41.55_03
Verify List: /opt/bacula/working/working/VerifyVol.bsr
When:        2015-11-11 09:47:38
Priority:    10
OK to run? (yes/mod/no): yes
Job queued. JobId=14


11-Nov 09:46 my-dir JobId 13: Bacula 7.4.0 (13Nov15):
  Build OS:               x86_64-unknown-linux-gnu archlinux
  JobId:                  14
  Job:                    VerifyData.2015-11-11_09.46.29_03
  FileSet:                MyFileSet
  Verify Level:           Data
  Verify JobId:           10
  Verify Job:q
  Start time:             11-Nov-2015 09:46:31
  End time:               11-Nov-2015 09:46:32
  Files Expected:         1,116
  Files Examined:         1,116
  Non-fatal FD errors:    0
  SD Errors:              0
  FD termination status:  Verify differences
  SD termination status:  OK
  Termination:            Verify Differences

The current Verify Data implementation requires specifying the correct Storage resource in the Verify job. The Storage resource can be changed with the bconsole command line and with the menu.

Bconsole ``list jobs'' command options

The list jobs bconsole command now accepts new command line options:

Minor Enhancements

New Bconsole "Tee All" Command

The ``@tall'' command allows logging all input/output from a console session.

*@tall /tmp/log
*st dir

Windows Encrypted File System (EFS) Support

The Bacula Enterprise Windows File Daemon for the community version 7.4.0 now automatically supports files and directories that are encrypted on Windows filesystem.

SSL Connections to MySQL

There are five new Directives for the Catalog resource in the bacula-dir.conf file that you can use to encrypt the communications between Bacula and MySQL for additional security.

takes a string variable that specifies the filename of an SSL key file.
takes a string variable that specifies the filename of an SSL certificate file.
takes a string variable that specifies the filename of a SSL CA (certificate authority) certificate.
takes a string variable that specifies the cipher to be used.

Max Virtual Full Interval

This is a new Job resource directive that specifies the time in seconds that is a maximum time between Virtual Full jobs. It is much like the Max Full Interval directive but applies to Virtual Full jobs rather that Full jobs.

New List Volumes Output

The list and llist commands have been modified so that when listing Volumes a new pseudo field expiresin will be printed. This field is the number of seconds in which the retention period will expire. If the retention period has already expired the value will be zero. Any non-zero value means that the retention period is still in effect.

An example with many columns shorted for display purpose is:

*list volumes
Pool: Default
*list volumes
Pool: Default
| id | volumename    | volstatus | enabled | volbytes    | expiresin |
|  1 | TestVolume001 | Full      |       1 | 249,940,696 |         0 |
|  2 | TestVolume002 | Full      |       1 | 249,961,704 |         1 |
|  3 | TestVolume003 | Full      |       1 | 249,961,704 |         2 |
|  4 | TestVolume004 | Append    |       1 | 127,367,896 |         3 |

Kern Sibbald 2017-03-11