BURP - BackUp and Restore Program

ABOUT
WHY
FEATURES
REQUESTS
CHANGELOG
NEWS
FAQ
DOCS
BURP-UI
DOWNLOAD
LICENCE
CONTRIBUTORS
DONATIONS
SPONSORS
CONTACT

NOTE: The following is the latest version of the man page.
Some features may be different in the version of burp that you are using.


Burp(8)		    System Manager's Manual	       Burp(8)

NAME
       Burp - BackUp and Restore Program

SYNOPSIS
       burp [OPTIONS]

DESCRIPTION
       BackUp and Restore Program.

SERVER OPTIONS
       -c [path]
	      Short  for  'config  file'. The argument is a path to the config
	      file. The default is /etc/burp/burp.conf.

       -F     Foreground mode. The server will fork into  the  background  and
	      run as a daemon if you do not give this option.

       -g     Generate initial CA keys and certificates, and then exit.

       -h     Print help and then exit.

       -?     Print help and then exit.

       -i     Print  an index table of symbols that humans may see burp pro‐
	      duce, and exit.

       -n     No forking mode. The program will accept a  single  query,  deal
	      with  it,	 and  then exit. This is useful for debugging. Implies
	      '-F'.

       -o [option=value]
	      Override a given option. You can use this flag several times  to
	      override multiple options.  You can even reset list options with
	      the special syntax ':=' (example: '-o "include:=/tmp"').

       -Q     Do not log to stdout (overrides config file 'stdout' setting).

       -t     Dry-run mode to test config file syntax.

       -v     Log to stdout (overrides config file 'stdout' setting).

       -V     Print version and exit.

       ADDITIONAL SERVER OPTIONS TO USE WITH '-a c'

       -C [client]
	      Run as if forked via a connection from this client.

CLIENT OPTIONS
       -a [b|t|r|R|l|L|p|v|V|delete|e|T|d|D]
	      Short for 'action'. The arguments mean backup, timed backup, re‐
	      store, Restore, list, long list, parseable list, verify, Verify,
	      delete, estimate, timer check, diff, or long diff, respectively.

       -b [number|a]
	      Short for 'backup number'. The argument is a number, or  'a'  to
	      select all backups.

       -c [path]
	      Short  for  'config  file'. The argument is a path to the config
	      file.  The  default  is  /etc/burp/burp.conf,	 or  %PROGRAM‐
	      FILES%\Burp\burp.conf on Windows.

       -C [client]
	      Allows  you  to specify an alternative client to list or restore
	      from. Requires that the server configuration of the  alternative
	      client  permits your client to do this. See the 'restore_client'
	      and 'super_client' options.

       -d [path]
	      Short for 'directory'. When restoring, the argument is a path to
	      an  alternative directory to restore to. When listing, the argu‐
	      ment is the directory to list.

       -f     Short for 'force overwrite'. Without this option set, a  restore
	      will not overwrite existing files.

       -h     Print help and then exit.

       -?     Print help and then exit.

       -o [option=value]
	      Override	a given option. You can use this flag several times to
	      override multiple options.  You can even reset list options with
	      the special syntax ':=' (example: '-o "include:=/tmp"').

       -i     Print  an index table of symbols that humans may see burp pro‐
	      duce, and exit.

       -q [max secs]
	      When running a timed backup, sleep for a random number  of  sec‐
	      onds  (between  0	 and  the  number given) before contacting the
	      server. Alternatively, this can be specified by the  'randomise'
	      configuration file option.

       -Q     Do not log to stdout (overrides config file 'stdout' setting).

       -r [regex]
	      Short for 'regular expression'. The argument is a case sensitive
	      regular expression with which to match backup files. Use it  for
	      lists, restores and verifies.

       -R [regex]
	      Case insensitive alternative to '-r'.

       -s [number]
	      For  use	with  restores - strip a number of leading path compo‐
	      nents.

       -t     Dry-run mode to test config file syntax.

       -v     Log to stdout (overrides config file 'stdout' setting).

       -x     On restore, do not use the Windows VSS API, and  strip  out  the
	      VSS data. Works both on Windows and non-Windows.

       -X (Windows only)
	      On restore, do not use the Windows VSS API and do not attempt to
	      strip out the VSS data. Give this option when you are  restoring
	      a backup that contains no VSS data.

       -a s   Run this to connect to a running server to get a live monitor of
	      the status of all your backup clients. The live monitor requires
	      ncurses support at compile time.

       -a S   Similar to '-a s', but it prints the main status monitor summary
	      screen to stdout. One application is that a script can run  this
	      and  email  an  administrator  the  output  on  a cron job. This
	      doesn't require ncurses support. There  are  additional  options
	      that can be given with both these options, listed below.

       ADDITIONAL CLIENT OPTIONS TO USE WITH '-a s' and '-a S'

       -C [client]
	      Limit the output to a single client.

       -b [number]
	      Show listable files in a particular backup (requires -C).

       -z [file]
	      Dump a particular log file in a backup (requires -C and -b).

       -d [path]
	      Show a particular path in a backup (requires -C and -b).

       -l [path]
	      Log file for status monitor - useful for debugging.

       ADDITIONAL CLIENT OPTIONS TO USE WITH '-a b'

       -o seed_src=<directory> -o seed_dst=<directory>
	      Make a seeding backup. The source directory is replaced with the
	      destination directory on completion. Both paths need to be abso‐
	      lute.  Your  configured include paths need to be the same as the
	      source directory, or within the source directory. There must  be
	      no  other existing backups of the client running the seed job. A
	      use case might be to make an initial  backup  of	a  local  hard
	      drive,  and then to ship the hard drive to a remote location for
	      subsequent backups.

EXAMPLES
       burp -a b
	      Runs a backup.

       burp -a t
	      Timed backup. The same as 'burp -a b', except that a script is
	      run  on the server before deciding to go ahead. The intention is
	      that this command will be run on a repeating  cron  job  with  a
	      short  interval, and that the server will decide when it is time
	      for a new backup.

       burp -a l
	      Lists the available backups and dates.

       burp -a l -b 1
	      Lists all the files in backup number 1.

       burp -a l -b a
	      Lists all the files in all the backups.

       burp -a l -b c
	      Lists all the files in the current backup.

       burp -a l -b 1 -r myregex
	      Lists all the files in backup number 1 that  match  the  regular
	      expression 'myregex'.

       burp -a L -b 1 -r myregex
	      Long lists all the files in backup number 1 that match the regu‐
	      lar expression 'myregex'. This is like doing an 'ls -l'.

       burp -a L -b 1 -d ''
	      Long list the top level directory of backup 1.

       burp -a L -b 1 -d '/home/graham'
	      Long list the /home/graham directory of  backup  1.  These  '-d'
	      versions	of  the	 list function provide the ability to 'browse'
	      backups.

       burp -C altclient -a L
	      Long list the top level directory of backup 1  of	 client	 'alt‐
	      client'.

       burp -a r -d /tmp/restoredir
	      Restores all the files in the most recent backup into the direc‐
	      tory /tmp/restoredir.

       burp -a r -b 1 -d /tmp/restoredir -r myregex
	      Restores all the files in backup number  1  into	the  directory
	      /tmp/restoredir, if they match the regular expression 'myregex'.

       burp -a r -b 1 -d /tmp/restoredir -r myregex -s 2
	      Restores	all  the  files	 in backup number 1 into the directory
	      /tmp/restore, if they match the  regular	expression  'myregex',
	      and strip 2 leading path components.

       burp -C altclient -a r -b 1 -d /tmp/restoredir -r myregex
	      Restores	all the files in backup number 1 of client 'altclient'
	      into the directory /tmp/restoredir, if that  match  the  regular
	      expression 'myregex'.

       burp -a v
	      Verifies the most recent backup.

       burp -a v -b 1 -r myregex
	      Verifies	everything in backup number 1 that matches the regular
	      expression 'myregex'.

       burp -a delete -b 1
	      Deletes backup number 1. Note that burp will not delete backup
	      directories that other backup directories depend upon.

       burp -a d -b 1 -b 2
	      Report  the  differences	between	 backups 1 and 2 (use -a D for
	      more verbosity).

       burp -a p -b 1
	      Lists all the files in backup number 1, in burp-parsable  list
	      format.  You  may	 append something like '>/tmp/restore_list' to
	      send to a file, edit, then use as an input for restoring. As  in
	      the following command:

       burp -a r -b 1 -o restore_list=/tmp/restore_list
	      Restores	from  backup  7,  matching  the list of files given in
	      /tmp/restore_list. The files given must be ordered as they would
	      be in the output of a burp list command.

       burp -a p -b 6 | burp -a R -b 7
	      Restores	from  backup 7, matching the list of files on standard
	      input, which is provided by burp's list of backup 6 ('-a R' is
	      shorthand for '-a r -o restore_list=-').

       burp -a p -b 6 | burp -a V -b 7
	      Verifies	from  backup 7, matching the list of files on standard
	      input, which is provided by burp's list of backup 6 ('-a V' is
	      shorthand for '-a v -o restore_list=-').

       burp -a s
	      Run the ncurses status monitor.

       burp -a S
	      Print a status monitor snapshot, summarising all clients.

       burp -C testclient -a S
	      Print  a	status	monitor	 snapshot, showing client 'testclient'
	      only.

SERVER CONFIGURATION FILE OPTIONS
       . [glob]
	      Read additional configuration files.

       mode=server
	      Required to run in server mode.

       listen=[address]:[port]
	      Defines the main TCP address and port that  the  server  listens
	      on. Specify multiple 'listen' entries on separate lines in order
	      to listen on multiple addresses and ports. Each pair can be con‐
	      figured with its own 'max_children' value.

       listen_status=[address]:[port]
	      Defines the main TCP address and port that the server listens on
	      for status requests. Specify multiple 'listen_status' entries on
	      separate	lines  in  order  to  listen on multiple addresses and
	      ports. Each pair	can  be	 configured  with  its	own  'max_sta‐
	      tus_children' value. Comment out to have no status server.

       network_allow=[string]
	      Allows access for the specified network or address. For example:
	      '::1' or '127.0.0.1/8'. Specify multiple 'network_allow' entries
	      on  separate  lines  to allow multiple networks or addresses. If
	      this option is not given, all networks are allowed. This	option
	      can  be  overridden by the client configuration files in client‐
	      confdir on the server.

       network_allow_status=[string]
	      Allows access for the specified network or address to the status
	      server.  For  example:  '::1' or '127.0.0.1/8'. Specify multiple
	      'network_allow' entries on separate lines to allow multiple net‐
	      works  or	 addresses.  If this option is not given, all networks
	      are allowed. This option can be overridden by the client config‐
	      uration files in clientconfdir on the server.

       cname_lowercase=[0|1]
	      Whether  to  force  lowercase  cname  when looking-up in client‐
	      confdir. This also affects the fqdn lookup on  the  client  (see
	      client  configuration  options  for  details). The default is 0.
	      When set to 1 the name provided by the client while authenticat‐
	      ing will be lowercased.

       cname_fqdn=[0|1]
	      Whether  to keep fqdn cname (like 'testclient.example.com') when
	      looking-up in clientconfdir. This also affects the  fqdn	lookup
	      on  the  client  (see client configuration options for details).
	      The default is 1. When set to 0, the fqdn provided by the client
	      while  authenticating will be stripped ('testclient.example.com'
	      becomes 'testclient').

       daemon=[0|1]
	      Whether to daemonise. The default is 1.

       fork=[0|1]
	      Whether to fork children. The default is 1.

       directory=[path]
	      Path to the directory in which to store backups.

       directory_tree=[0|1]
	      When turned on (which is the default) and the client is on  ver‐
	      sion  1.3.6  or  greater, the structure of the storage directory
	      will mimic that of the original filesystem on the client.

       timestamp_format=[strftime format]
	      This allows you to tweak the format of the timestamps  of	 indi‐
	      vidual  backups.	See  'man strftime' to see available substitu‐
	      tions. If this option is unset, burp uses  "%Y-%m-%d  %H:%M:%S
	      %z".

       password_check=[0|1]
	      Allows  you  to turn client password checking on or off. The de‐
	      fault is on. SSL certificates will still be checked if you  turn
	      passwords	 off. This option can be overridden by the client con‐
	      figuration files in clientconfdir on the server.

       clientconfdir=[path]
	      Path to the directory that contains client configuration files.

       lockfile=[path]
	      Path to the lockfile that ensures that two server processes can‐
	      not run simultaneously.

       pidfile=[path]
	      Synonym for lockfile.

       syslog=[0|1]
	      Log to syslog. Defaults to off.

       stdout=[0|1]
	      Log to stdout. Defaults to on.

       keep=[number]
	      Number of backups to keep. This can be overridden by the client‐
	      confdir configuration files  in  clientconfdir  on  the  server.
	      Specify  multiple	 'keep'	 entries on separate lines in order to
	      keep multiple periods of backups. For example, assuming that you
	      are  doing  a  backup  a	day, keep=7 keep=4 keep=6 (on separate
	      lines) will keep 7 daily backups, 4 weekly backups (7x4=28), and
	      6	 multiples of 4 weeks (7x4x6=168) - roughly 6 monthly backups.
	      Effectively, you will be guaranteed to be able to restore up  to
	      168 days ago, with the number of available backups exponentially
	      decreasing as you go back in time to that point. In  this	 exam‐
	      ple,  every  7th	backup	will  be hardlinked to allow burp to
	      safely delete intermediate backups when necessary. You can  have
	      as  many	'keep' lines as you like, as long as they don't exceed
	      52560000 when multiplied	together.  That	 is,  a	 backup	 every
	      minute for 100 years.

       manual_delete=[path]
	      This  can be overridden by the clientconfdir configuration files
	      in clientconfdir on the server. When the server needs to	delete
	      old backups, or rubble left over from generating reverse patches
	      with librsync=1, it will normally delete them in place.  If  you
	      use  the	'manual_delete' option, the files will be moved to the
	      path specified for deletion at a later point. You will then need
	      to  configure  a cron job, or similar, to delete the files your‐
	      self. Do not specify a path that is not on the  same  filesystem
	      as the client storage directory.

       hardlinked_archive=[0|1]
	      On  the  server, defines whether to keep hardlinked files in the
	      backups, or whether to generate reverse deltas  and  delete  the
	      original	files.	Can be set to either 0 (off) or 1 (on). Disad‐
	      vantage: More disk space will be used Advantage:	Restores  will
	      be faster, and since no reverse deltas need to be generated, the
	      time and effort the server needs at the end of a backup  is  re‐
	      duced.

       max_hardlinks=[number]
	      On  the  server,	the  number of times that a single file can be
	      hardlinked. The bedup program also obeys this setting.  The  de‐
	      fault is 10000.

       librsync=[0|1]
	      When  set to 0, delta differencing will not take place. That is,
	      when a file changes, the server will request the whole new file.
	      The  default  is	1. This option can be overridden by the client
	      configuration files in clientconfdir on the server.

       librsync_max_size=[B/KB/MB/GB]
	      Only use librsync when a file is less than the given size.  Both
	      the most recently backed up version of a file and the version to
	      be backed up are checked. The default is 0, which means the  op‐
	      tion is off. This option can be overridden by the client config‐
	      uration files in clientconfdir on the server.

       compression=zlib[0-9] (or gzip[0-9])
	      Choose the level of zlib compression for files stored  in	 back‐
	      ups.  Setting  0	or zlib0 turns compression off. The default is
	      zlib9. This option can be overridden by the client configuration
	      files  in	 clientconfdir	on  the server. 'gzip' is a synonym of
	      'zlib'.

       hard_quota=[B/KB/MB/GB]
	      Do not back up the client if the estimated size of all files  is
	      greater  than the specified size. Example: 'hard_quota = 100GB'.
	      Set to 0 (the default) to have no limit.

       soft_quota=[B/KB/MB/GB]
	      A warning will be issued when the estimated size of all files is
	      greater than the specified size and smaller than hard_quota. Ex‐
	      ample: 'soft_quota = 95GB'. Set to 0 (the default)  to  have  no
	      warning.

       version_warn=[0|1]
	      When  this is on, which is the default, a warning will be issued
	      when the client version does not match the server version.  This
	      option  can  be  overridden by the client configuration files in
	      clientconfdir on the server.

       path_length_warn=[0|1]
	      When this is on, which is the default, a warning will be	issued
	      when  the	 client	 sends a path that is too long to replicate in
	      the storage area tree structure. The file will still be saved in
	      a numbered file outside of the tree structure, regardless of the
	      setting of this option. This option can  be  overridden  by  the
	      client configuration files in clientconfdir on the server.

       client_lockdir=[path]
	      Path to the directory in which to keep per-client lock files. By
	      default, this is set to the path given by	 the  'directory'  op‐
	      tion.

       user=[username]
	      Run  as  a particular user. This can be overridden by the client
	      configuration files in clientconfdir on the server.

       group=[groupname]
	      Run as a particular group. This can be overridden by the	client
	      configuration files in clientconfdir on the server.

       readall=[0|1]
	      Keep  readall  capability when dropping root privileges (default
	      0). When enabled changes default atime to 1.

       umask=[umask]
	      Set the file creation umask. Default is 0022.

       ratelimit=[Mb/s]
	      Set the network send rate limit, in Mb/s. If this option is  not
	      given,  burp will send data as fast as it can. If you want the
	      server's sending speed to be limited, you will also need to  set
	      this option on the server side.

       network_timeout=[s]
	      Set  the	network	 timeout in seconds. If no data is sent or re‐
	      ceived over a period of this length, burp will	give  up.  The
	      default is 7200 seconds (2 hours).

       working_dir_recovery_method=[resume|delete]
	      This  option tells the server what to do when it finds the work‐
	      ing directory of an interrupted backup (perhaps somebody	pulled
	      the plug on the server, or something). This can be overridden by
	      the client configurations files in clientconfdir on the  server.
	      Options are...

       delete: Just delete the old working directory.

       resume:	Continue  the  previous backup from the point at which it left
       off. NOTE: If the client has changed its include/exclude	 configuration
       since  the  backup  was interrupted, the recovery method will automati‐
       cally switch to 'delete'. See also the 'resume attempts' option.

       max_resume_attempts=[number]
	      If working_dir_recovery_method is 'resume',  this	 option	 tells
	      the  server how many times to attempt to resume before giving up
	      and deleting the working directory.  The	default	 is  0,	 which
	      means to never give up.

       client_can_delete=[0|1]
	      Turn  this off to prevent clients from deleting backups with the
	      '-a delete' option. The default is that clients can delete back‐
	      ups. Restore clients can override this setting.

       client_can_diff=[0|1]
	      Turn  this  off to prevent clients from diffing backups with the
	      '-a d' option. The default is that clients can diff backups. Re‐
	      store clients can override this setting.

       client_can_force_backup=[0|1]
	      Turn  this  off to prevent clients from forcing backups with the
	      '-a b' option. Timed backups will still  work.  The  default  is
	      that clients can force backups.

       client_can_list=[0|1]
	      Turn  this  off to prevent clients from listing backups with the
	      '-a l' option. The default is that clients can list backups. Re‐
	      store clients can override this setting.

       client_can_monitor=[0|1]
	      Turn this off to prevent clients from being able to run the sta‐
	      tus monitor. The default is that clients can run the status mon‐
	      itor. Restore clients can override this setting.

       client_can_restore=[0|1]
	      Turn  this  off to prevent clients from initiating restores with
	      the '-a r' option. The default is that clients can initiate  re‐
	      stores. Restore clients can override this setting.

       client_can_verify=[0|1]
	      Turn  this  off  to prevent clients from initiating a verify job
	      with the '-a v' option. The default is that clients can initiate
	      a verify job. Restore clients can override this setting.

       super_client=[client]
	      A client that is permitted to list, verify, restore, delete, and
	      diff files belonging to any other client, according to  the  su‐
	      per_client's client_can permissions (eg, 'client_can_list'). You
	      may specify multiple super_clients. If this is  too  permissive,
	      you  may	set  a super_client for individual original clients in
	      the  individual  clientconfdir  files,  or  look	at  the	  're‐
	      store_client' option.

       restore_client=[client]
	      A client that is permitted to list, verify, restore, delete, and
	      diff files belonging to  any  other  client,  according  to  the
	      client_can permissions on both the restore_client and the origi‐
	      nal_client (eg, 'client_can_list'). You may specify multiple re‐
	      store_clients.  If  this	is  too	 permissive, you may set a re‐
	      store_client for individual original clients in  the  individual
	      clientconfdir files.

       ssl_cert_ca=[path]
	      The  path	 to the SSL CA certificate. This file will probably be
	      the same on both the server and the client. The file should con‐
	      tain just the certificate in PEM format. For more information on
	      this,   and   the	   other    ssl_*    options,	 please	   see
	      docs/burp_ca.txt.

       ssl_cert=[path]
	      The path to the server SSL certificate. It works for me when the
	      file contains the concatenation of the certificate  and  private
	      key in PEM format.

       ssl_key=[path]
	      The path to the server SSL private key in PEM format.

       ssl_key_password=[password]
	      Only needed for loading an encrypted certificate.

       ssl_cert_password=[password]
	      Synonym for ssl_key_password.

       ssl_ciphers=[cipher list]
	      Allowed SSL ciphers. See openssl ciphers for details.

       ssl_compression=zlib[0|5] (or gzip[0|5])
	      Choose  the  level  of  zlib  compression over SSL. Setting 0 or
	      zlib0 turns SSL compression off. Setting	non-zero  gives	 zlib5
	      compression (it is not currently possible for openssl to set any
	      other level). The default is 5. 'gzip' is a synonym of 'zlib'.

       ssl_verify_peer_early=[0|1]
	      Verify and authenticate client certificates at SSL layer	before
	      receiving	 or  sending  Burp  traffic. The default is to
	      verify client certificates only after password authentication.

       ssl_dhfile=[path]
	      Path to Diffie-Hellman parameter	file.  To  generate  one  with
	      openssl, use a command like this: openssl dhparam -dsaparam -out
	      dhfile.pem 2048

       max_parallel_backups=[number]
	      Defines the number  of  max  parallel  backups  (the  number  of
	      clients  that  are in a "working" state). The default is 0 - un‐
	      limited.

       max_children=[number]
	      Defines the number of child processes to	fork  (the  number  of
	      clients that can simultaneously connect. The default is 5. Spec‐
	      ify multiple 'max_children' entries on  separate	lines  if  you
	      have configured multiple 'listen' entries.

       max_status_children=[number]
	      Defines the number of status child processes to fork (the number
	      of status clients that can simultaneously connect.  The  default
	      is 5. Specify multiple 'max_status_children' entries on separate
	      lines if you have configured multiple 'listen_status' entries.

       max_storage_subdirs=[number]
	      Defines the number of subdirectories in the data storage	areas.
	      The  maximum number of subdirectories that ext3 allows is 32000.
	      If you do not set this option, it defaults to 30000.

       timer_script=[path]
	      Path to the script to run when a client connects with the	 timed
	      backup  option.  If  the script exits with code 0, a backup will
	      run. The first three arguments are the client name, the path  to
	      the  'current'  storage directory, and the path to the top level
	      storage directories. The next two arguments  are	reserved,  and
	      user arguments (see timer_arg) are appended after that. An exam‐
	      ple timer script is provided. The	 timer_script  option  can  be
	      overridden by the client configuration files in clientconfdir on
	      the server. If this option is not set, equivalent code  internal
	      to Burp will be run instead. The internal code also uses
	      the timer_arg parameters.

       timer_arg=[string]
	      A user-definable argument to the timer script. You can have many
	      of  these. The timer_arg options can be overridden by the client
	      configuration files in clientconfdir on the server.

       timer_repeat_interval=[m]
	      During a timed backup, the timer script can be  run  at  regular
	      intervals.  If the client is out of timeband, the backup will be
	      interrupted. For example, setting 5 will cause burp to check ev‐
	      ery  five minutes. The default is 0, which means that the script
	      will only run once at the start of the backup.

       notify_success_script=[path]
	      Path to the script to run when a backup succeeds. User arguments
	      are  appended after the first six reserved arguments. An example
	      notify script is provided. The notify_success_script option  can
	      be  overriddden  by  the	client	configuration files in client‐
	      confdir on the server.

       notify_success_arg=[string]
	      A user-definable argument to the notify success script. You  can
	      have  many of these. The notify_success_arg options can be over‐
	      riddden by the client configuration files	 in  clientconfdir  on
	      the server.

       notify_success_warnings_only=[0|1]
	      Set to 1 to send success notifications when there were warnings.
	      If this and notify_success_changes_only are not turned on,  suc‐
	      cess notifications are always sent.

       notify_success_changes_only=[0|1]
	      Set  to  1  to send success notifications when there were new or
	      changed files. If this and notify_success_warnings_only are  not
	      turned on, success notifications are always sent.

       notify_failure_script=[path]
	      The same as notify_success_script, but for backups that failed.

       notify_failure_arg=[string]
	      The same as notify_success_arg, but for backups that failed.

       notify_failure_on_backup_with_failovers_left=[0|1]
	      In the case where there are server_failover entries left to try,
	      you may not wish to notify on backup failure. The default is on.

       notify_failure_on_backup_working_dir_deletion=[0|1]
	      On the next backup attempt after a backup	 was  interrupted,  it
	      may  not be possible to resume the previous backup. In this case
	      (or if working_dir_recovery_method is  'delete'),	 the  previous
	      backup  will be deleted. You may wish to be notified about this.
	      The default is off.

       dedup_group=[string]
	      Enables you to group clients  together  for  file	 deduplication
	      purposes.	 For  example,	you might want to set 'dedup_group=xp'
	      for each Windows XP client, and then run the bedup program on  a
	      cron job every other day with the option '-g xp'.

       server_script_pre=[path]
	      Path  to	a  script to run on the server after each successfully
	      authenticated connection but before any work is carried out. The
	      arguments	 to it are 'pre', '(client command)', '(client name)',
	      '(0 or 1 for success or failure)', '(timer script	 exit  code)',
	      and  then	 arguments  defined  by	 server_script_pre_arg. If the
	      script returns non-zero, the task asked for by the  client  will
	      not  be run. This command and related options can be overriddden
	      by the  client  configuration  files  in	clientconfdir  on  the
	      server.

       server_script_pre_arg=[string]
	      A user-definable argument to the server pre script. You can have
	      many of these.

       server_script_pre_notify=[0|1]
	      Turn on to send a notification email when the server pre	script
	      returns  non-zero.  The output of the script will be included in
	      the email. The default is off. Most people will  not  want  this
	      turned  on  because  clients  usually  contact  the server at 20
	      minute intervals and this could cause a lot of emails to be gen‐
	      erated. Requires the notify_failure options to be set.

       server_script_post=[path]
	      Path  to a script to run on the server before the client discon‐
	      nects. The arguments  to	it  are	 'post',  '(client  command)',
	      '(client	name),	'(0  or	 1  for	 success or failure)', '(timer
	      script   exit   code)',	and   then   arguments	 defined    by
	      server_script_post_arg.  This command and related options can be
	      overriddden by the client configuration files  in	 clientconfdir
	      on the server.

       server_script_post_arg=[string]
	      A	 user-definable	 argument  to  the server post script. You can
	      have many of these.

       server_script_post_notify=[0|1]
	      Turn on to send a notification email when the server post script
	      returns  non-zero.  The output of the script will be included in
	      the email. The default is off. Requires the  notify_failure  op‐
	      tions to be set.

       server_script=[path]
	      You can use this to save space in your config file when you want
	      to  run	the   same   server   script   twice.	It   overrides
	      server_script_pre	 and  server_script_post. This command and re‐
	      lated options can be overriddden	by  the	 client	 configuration
	      files in clientconfdir on the server.

       server_script_arg=[path]
	      Goes  with server_script and overrides server_script_pre_arg and
	      server_script_post_arg.

       server_script_notify=[0|1]
	      Turn on to send notifications email when the server pre and post
	      scripts  return  non-zero.  The output of the script will be in‐
	      cluded in the email.  The	 default  is  off.  Requires  the  no‐
	      tify_failure options to be set.

       server_script_post_run_on_fail=[0|1]
	      If  this is set to 1, server_script_post will always be run. The
	      default is 0, which means that if the  task  asked  for  by  the
	      client fails, server_script_post will not be run.

       autoupgrade_dir=[path]
	      Path  to	autoupgrade  directory	from  which upgrades are down‐
	      loaded. The option can be left unset in order not to autoupgrade
	      clients.	Please	see docs/autoupgrade.txt in the source package
	      for more help with this option.

       ca_conf=[path]
	      Path to certificate authority configuration file. The CA config‐
	      uration  file  will usually be /etc/burp/CA.cnf. The CA direc‐
	      tory indicated by CA.cnf	will  usually  be  /etc/burp/CA.  If
	      ca_conf  is  set and the CA directory does not exist, the server
	      will  create,  populate  it,  and	  the	paths	indicated   by
	      ssl_cert_ca,  ssl_cert, ssl_key and ssl_dhfile will be overwrit‐
	      ten. For more detailed information on this and  the  other  ca_*
	      options, please see docs/burp_ca.txt.

       ca_name=[name]
	      Name  of	the  CA	 that  the server will generate when using the
	      ca_conf option.

       ca_server_name=[name]
	      The name that the server will put into its own SSL  certificates
	      when using the ca_conf option.

       ca_burp_ca=[path]
	      Path to the burp_ca script when using the ca_conf option.

       ca_crl=[path]
	      Override the default path to the certificate revocation list.

       ca_crl_check=[0|1]
	      Whether to check for revoked certificates in the certificate re‐
	      vocation list.

       monitor_browse_cache=[0|1]
	      Whether or not the server should cache the directory tree when a
	      monitor  client is browsing. Advantage: browsing is faster. Dis‐
	      advantage: more memory is used.

       label=[string]
	      You can have multiple labels, and they can be overridden in  the
	      client  configuration files in clientconfdir on the server. They
	      will appear as an array of strings in the server status  monitor
	      JSON  output.  The  idea is to provide a mechanism for arbitrary
	      values to be passed to clients of the server status monitor.

       enabled=[0|1]
	      Set this to 0 if you want to disable all clients. The default is
	      1.  This	option can be overridden per-client in the client con‐
	      figuration files in clientconfdir on the server.

       fail_on_warning=[0|1]
	      If a warning is generated during a backup, fail the backup.  The
	      default  is  0.  This option can be overridden per-client in the
	      client configuration files in clientconfdir on the server.

CLIENT CONFIGURATION FILE OPTIONS
       . [glob]
	      Read additional configuration files. On  Windows,	 the  glob  is
	      unimplemented - you will need to specify an actual file.

       mode=client
	      Required to run in client mode.

       server=[host:port]
	      Defines  the  server  to connect to. If you don't specify a port
	      here, you will need to specify it separately.

       server_failover=[host:port]
	      Defines a failover server to connect to. You  can	 provide  more
	      than  one	 'server_failover' entry. The client will try the next
	      failover server if it fails  to  connect.	 IMPORTANT:  The  burp
	      client  currently does not have the capability to have a differ‐
	      ent SSL profile for each server, so for this to  work  for  you,
	      you  will	 need  to  have	 the  same CA and certificates on each
	      server.

       failover_on_backup_error=[0|1]
	      Failover to failover servers on backup errors as well  as	 fail‐
	      ures to connect. The default is off.

       port=[port]
	      Defines  the  TCP	 port on the server that we will send requests
	      to. If this option is set, it is the default for these  options,
	      which can be overridden individually: port_backup, port_restore,
	      port_verify, port_list, port_delete. If this option is not  set,
	      you will need to set all of the port options separately.

       port_backup=[port]
	      Defines  the TCP port on the server that we will send backup re‐
	      quests to. If not set, it defaults to the port option.

       port_restore=[port]
	      Defines the TCP port on the server that we will send restore re‐
	      quests to. If not set, it defaults to the port option.

       port_verify=[port]
	      Defines  the TCP port on the server that we will send verify re‐
	      quests to. If not set, it defaults to the port_restore option.

       port_list=[port]
	      Defines the TCP port on the server that we will  send  list  re‐
	      quests to. If not set, it defaults to the port option.

       port_delete=[port]
	      Defines  the TCP port on the server that we will send delete re‐
	      quests to. If not set, it defaults to the port option.

       status_port=[port]
	      Defines the TCP port that the server is listening on for	status
	      requests.

       cname=[client name]
	      Defines the client name to identify as to the server.

       cname_lowercase=[0|1]
	      Whether  to force lowercase cname when detecting cname automati‐
	      cally (ie. no cname provided above). The default is 0. When  set
	      to  1  the name returned by the get_fqdn function will be lower‐
	      cased.

       cname_fqdn=[0|1]
	      Whether to keep fqdn cname (like 'testclient.example.com')  when
	      detecting cname automatically (ie. no cname provided above). The
	      default is 1. When set to 0, the fqdn returned by	 the  get_fqdn
	      function	will  be  stripped  ('testclient.example.com'  becomes
	      'testclient').

       password=[password]
	      Defines the password to send to the server.

       enabled=[0|1]
	      Set this to 0 if you want to disable a client. The default is 1.
	      This option can also be set in the client configuration files in
	      clientconfdir on the server.

       lockfile=[path]
	      Path to the lockfile that ensures that two client processes can‐
	      not run simultaneously (this currently doesn't work on Windows).

       pidfile=[path]
	      Synonym for lockfile.

       syslog=[0|1]
	      Log to syslog. Defaults to off.

       stdout=[0|1]
	      Log to stdout. Defaults to on.

       progress_counter=[0|1]
	      Print progress counters on stdout. Defaults to on.

       randomise=[max secs]
	      When  running  a timed backup, sleep for a random number of sec‐
	      onds (between 0 and the  number  given)  before  contacting  the
	      server. Alternatively, this can be specified by the '-q' command
	      line option.

       user=[username]
	      Run as a particular user (not supported on Windows).

       group=[groupname]
	      Run as a particular group (not supported on Windows).

       ratelimit=[Mb/s]
	      Set the network send rate limit, in Mb/s. If this option is  not
	      given,  burp will send data as fast as it can. If you want the
	      client's sending speed to be limited, you will also need to  set
	      this option on the client side.

       network_timeout=[s]
	      Set  the	network	 timeout in seconds. If no data is sent or re‐
	      ceived over a period of this length, burp will	give  up.  The
	      default is 7200 seconds (2 hours).

       ca_burp_ca=[path]
	      Path  to	the  burp_ca	script (burp_ca.bat on Windows). For
	      more information on this, please see docs/burp_ca.txt.

       ca_csr_dir=[path]
	      Directory where certificate signing requests are generated.  For
	      more information on this, please see docs/burp_ca.txt.

       ssl_cert_ca=[path]
	      The  path	 to the SSL CA certificate. This file will probably be
	      the same on both the server and the client. The file should con‐
	      tain just the certificate in PEM format. For more information on
	      this and the other ssl_* options, please see docs/burp_ca.txt.

       ssl_cert=[path]
	      The path to the client SSL certificate. It works for me when the
	      file  contains  the concatenation of the certificate and private
	      key in PEM format.

       ssl_key=[path]
	      The path to the client SSL private key in PEM format.

       ssl_key_password=[password]
	      Only needed for loading an encrypted certificate.

       ssl_cert_password=[password]
	      Synonym for ssl_key_password.

       ssl_peer_cn=[string]
	      Must match the common name  in  the  SSL	certificate  that  the
	      server  gives  when  it connects. If ssl_peer_cn is not set, the
	      server name will be used instead.

       ssl_ciphers=[cipher list]
	      Allowed SSL ciphers. See openssl ciphers for details.

       server_can_override_includes=[0|1]
	      To prevent the server from being able to override your local in‐
	      clude/exclude list, set this to 0. The default is 1.

       server_can_restore=[0|1]
	      To  prevent  the server from initiating restores, set this to 0.
	      The default is 1. You will also need to give a location for  the
	      files to be restored to with the 'restoreprefix' option.

       restoreprefix=[path]
	      When  restoring, this path will be prefixed to the restore path.
	      The '-d' command line option overrides this setting.  This  set‐
	      ting is required if you are using server initiated restores.

       encryption_password=[password]
	      Set  this	 to enable client side file AES-CBC-256 encryption. If
	      you do not want encryption, leave this field out of your	config
	      file.  IMPORTANT:	 Configuring  an  encryption_password  renders
	      delta differencing pointless, since the smallest real change  to
	      a file will make the whole file look different. Therefore, acti‐
	      vating this option turns off delta differencing so that whenever
	      a	 client	 file  changes, the whole new file will be uploaded on
	      the next backup. ALSO IMPORTANT: If you manage to lose your  en‐
	      cryption password, you will not be able to unencrypt your files.
	      You should therefore think about having a copy of the encryption
	      password	somewhere  off-box,  in	 case of your client hard disk
	      failing. Take care when copying and pasting  special  characters
	      between  client  conf  files, as the encoding of the config file
	      matters. FINALLY: If you change your  encryption	password,  you
	      will end up with a mixture of files on the server with different
	      encryption and it may become tricky to  restore  more  than  one
	      file  at	a time. For this reason, if you change your encryption
	      password, you may want to start a fresh  chain  of  backups  (by
	      moving  the  original set aside, for example). Burp will
	      cope fine with turning the same encryption password on  and  off
	      between  backups,	 and  will restore a backup of mixed encrypted
	      and unencrypted files without a problem.

       glob_after_script_pre=[0|1]
	      Set this to 0 if you do not want	include_glob  settings	to  be
	      evaluated after the pre script is run. The default is 1.

       backup_script_pre=[path]
	      Path  to	a  script to run before a backup. It is not run if the
	      server decides it is not yet time for a backup. The arguments to
	      it are 'pre', 'reserved2' to 'reserved5', and then arguments de‐
	      fined   by   backup_script_pre_arg   -   unless	 the	option
	      'backup_script_reserved_args'  is	 off,  then only arguments de‐
	      fined by backup_script_pre_arg are passed to it. If  the	script
	      fails  (ie.  when	 the return code is not 0), then the backup is
	      aborted.

       backup_script_pre_arg=[string]
	      A user-definable argument to the backup pre script. You can have
	      many of these.

       backup_script_post=[path]
	      Path  to a script to run after a backup. The arguments to it are
	      'post', [0|1] if the backup failed or succeeded, 'reserved3'  to
	      'reserved5',	and	 then	  arguments	defined	    by
	      backup_script_post_arg - unless  the  option  'backup_script_re‐
	      served_args'   is	  off,	 then	only   arguments   defined  by
	      backup_script_post_arg are passed to it.

       backup_script_post_arg=[string]
	      A user-definable argument to the backup  post  script.  You  can
	      have many of these.

       backup_script_post_run_on_fail=[0|1]
	      If  this is set to 1, backup_script_post will be run whether the
	      backup succeeds or not. The  default  is	0,  which  means  that
	      backup_script_post will only be run if the backup succeeds.

       restore_script_pre=[path]
	      Path  to	a  script to run before a restore. The arguments to it
	      are 'pre', 'reserved2' to 'reserved5', and  then	arguments  de‐
	      fined   by  restore_script_pre_arg  -  unless  the  option  're‐
	      store_script_reserved_args' is off, then only arguments  defined
	      by restore_script_pre_arg are passed to it.

       restore_script_pre_arg=[string]
	      A	 user-definable	 argument  to  the restore pre script. You can
	      have many of these.

       restore_script_post=[path]
	      Path to a script to run after a restore. The arguments to it are
	      'post', [0|1] if the restore failed or succeeded, 'reserved3' to
	      'reserved5',    and    then    arguments	  defined    by	   re‐
	      store_script_post_arg  -	unless	the option 'restore_script_re‐
	      served_args'  is	off,  then  only  arguments  defined  by   re‐
	      store_script_post_arg are passed to it.

       restore_script_post_arg=[string]
	      A	 user-definable	 argument  to the restore post script. You can
	      have many of these.

       restore_script_post_run_on_fail=[0|1]
	      If this is set to 1, restore_script_post will be run whether the
	      restore  succeeds or not. The default is 0, which means that re‐
	      store_script_post will only be run if the restore succeeds.

       backup_script=[path]
	      You can use this to save space in your config file when you want
	      to  run  the same script before and after a backup. It overrides
	      backup_script_pre and backup_script_post.

       backup_script_arg=[path]
	      Goes with backup_script and overrides backup_script_pre_arg  and
	      backup_script_post_arg.

       backup_script_reserved_args=[0|1]
	      Whether  to  pass	 reserved arguments to backup scripts. The de‐
	      fault is on.

       restore_script=[path]
	      You can use this to save space in your config file when you want
	      to  run the same script before and after a restore. It overrides
	      restore_script_pre and restore_script_post.

       restore_script_arg=[path]
	      Goes with restore_script	and  overrides	restore_script_pre_arg
	      and restore_script_post_arg.

       restore_script_reserved_args=[0|1]
	      Whether  to  pass reserved arguments to restore scripts. The de‐
	      fault is on.

       autoupgrade_dir=[path]
	      Path to autoupgrade directory  into  which  upgrades  are	 down‐
	      loaded.  Please  see  docs/autoupgrade.txt in the source package
	      for more help with this option. If you do not want  your	client
	      to autoupgrade, do not set this option.

       autoupgrade_os=[string]
	      Name  of	the  client operating system. Should match a directory
	      name in the server's autoupgrade_dir. If you do  not  want  your
	      client to autoupgrade, do not set this option.

       monitor_exe=[path]
	      Where to look to find the burp binary to use when forking a mon‐
	      itor client. This might be needed on systems that don't have any
	      sensible	way  to	 self-determine	 a  process' own path, such as
	      openbsd.

INCLUDES / EXCLUDES
       The following options specify exactly what is backed up. The client can
       specify	these  options,	 or  if you include at least one 'include=' or
       'include_glob=' in the client configuration files on  the  server,  the
       server will override them all.

       include=[path]
	      Path  to	include	 in  the backup. You can have multiple include
	      lines. Use forward slashes '/', not backslashes '\' as path  de‐
	      limiters.

       exclude=[path]
	      Path  to	exclude from the backup. You can have multiple exclude
	      lines. Use forward slashes '/', not backslashes '\' as path  de‐
	      limiters.

       include_glob=[glob expression]
	      Include  paths  that  match  the	glob  expression. For example,
	      '/home/*/Documents'  will	 include  '/home/user1/Documents'  and
	      '/home/user2/Documents' if directories 'user1' and 'user2' exist
	      in '/home'. The Windows implementation currently limits the  ex‐
	      pression	to  contain only one '*', with one exception - you may
	      also specify '*:' to expand to detected fixed drives.

       include_regex=[regular expression]
	      Include paths that match the regular  expression.	 You  need  at
	      least one 'include' or 'include_glob' option to have files to be
	      matched against the  regex.  If  you  have  at  least  one  'in‐
	      clude_regex'  line, then any path NOT matching the regex will be
	      excluded from your backup.

       exclude_regex=[regular expression]
	      Exclude paths that match the regular expression.

       include_logic=[logic expression]
	      Not yet implemented. See	'exclude_logic'	 for  details  on  the
	      'logic expression' syntax.

       exclude_logic=[logic expression]
	      Exclude  paths  that  match the 'logic expression'. A 'logic ex‐
	      pression' may contain several tests chained with boolean	opera‐
	      tors. The supported operators are: 'and', 'or', 'not' as well as
	      groups of expressions surrounded by parentheses.	The  supported
	      tests   are:   'file_size',   'file_match',   'path_match'   and
	      'file_ext'. The 'file_size' test supports comparisons with  '>',
	      '>=',  '<',  '<=',  '='  and  take a size as parameter, example:
	      'file_size<=5Mb'. The 'file_ext' test takes an extension as  pa‐
	      rameter, example: 'file_ext=pst'. Finally, the 'file_match'  and
	      'path_match' tests take a regular expression as parameter, exam‐
	      ple:  file_match=b$.  'file_match'  is  ran against the filename
	      (example 'file1') while 'path_match' is  ran  against  the  full
	      path  of	the file (example: '/home/test/file1'). A complete ex‐
	      pression may look like '(file_size>=5Mb and file_size<=10Mb) and
	      (file_ext=pst or file_match=movies) and not file_ext=mp3'. There
	      are some limitations though, white-spaces and  parentheses  must
	      be escaped inside a test either by quoting the expression or es‐
	      caping   a   given    character:	  'file_match="perso(nnal)?"',
	      'file_match=a filename'.

       include_ext=[extension]
	      Extensions  to  include in the backup. Case insensitive. Nothing
	      else will be included in the backup. You can have	 multiple  in‐
	      clude  extension	lines. For example, set 'txt' to include files
	      that end in '.txt'. You need to specify  an  'include'  line  so
	      that burp knows where to start looking.

       exclude_ext=[extension]
	      Extensions to exclude from the backup. Case insensitive. You can
	      have multiple exclude extension lines. For example, set 'vdi' to
	      exclude VirtualBox disk images.

       exclude_comp=[extension]
	      Extensions  to  exclude  from compression. Case insensitive. You
	      can have multiple exclude compression lines.  For	 example,  set
	      'gz' to exclude gzipped files from compression.

       exclude_fs=[fstype]
	      File  systems  to exclude from the backup. Case insensitive. You
	      can have multiple exclude file system lines.  For	 example,  set
	      'tmpfs'  to  exclude tmpfs. Burp has an internal mapping
	      of file system names to file system IDs. If you  know  the  file
	      system  ID, you can use that instead. For example, 'exclude_fs =
	      0x01021994' will also exclude tmpfs.

       include_fs=[fstype]
	      File systems to include into the backup. Case  insensitive.  You
	      can  have	 multiple  include file system lines. For example, set
	      'ext4' to include ext4. Burp has an internal mapping  of
	      file  system names to file system IDs. If you know the file sys‐
	      tem ID, you can use that instead.	 For  example,	'include_fs  =
	      0x01021994' will also include tmpfs. If at least one file system
	      is included, all other filesystems will be excluded per default.
	      Included directories that do not live on an included file system
	      will be skipped, even if cross_all_filesystems  is  enabled  and
	      they contain subdirectories with included file systems.

	      Note  that  on SunOS systems include_fs and exclude_fs will do a
	      case sensitive compare of the string  descriptors	 of  the  file
	      systems  instead	of  the	 numeric IDs (see f_basetype member is
	      struct statvfs).

       min_file_size=[B/KB/MB/GB]
	      Do not back up files that are less than the specified size.  Ex‐
	      ample: 'min_file_size = 10MB'. Set to 0 (the default) to have no
	      limit.

       max_file_size=[B/KB/MB/GB]
	      Do not back up files that are greater than the  specified	 size.
	      Example:	'max_file_size = 10MB'. Set to 0 (the default) to have
	      no limit.

       cross_filesystem=[path]
	      Allow backups to cross a particular filesystem mountpoint.

       cross_all_filesystems=[0|1]
	      Allow backups to cross all filesystem mountpoints.

       nobackup=[file name]
	      If this file system entry exists, the content of	the  directory
	      containing it will not be backed up.

       read_fifo=[path]
	      Do  not  back  up the given fifo itself, but open it for reading
	      and back up the contents as if it were a regular file.

       read_all_fifos=[0|1]
	      Open all fifos for reading and back up the contents as  if  they
	      were regular files.

       read_blockdev=[path]
	      Do  not  back  up the given block device itself, but open it for
	      reading and back up the contents as if it were a regular file.

       read_all_blockdevs=[0|1]
	      Open all block devices for reading and back up the  contents  as
	      if they were regular files.

       split_vss=[0|1]
	      When  backing  up	 Windows  computers, this option allows you to
	      save the VSS header data separate from the file  data.  The  de‐
	      fault  is	 off,  which  means  that the VSS header data is saved
	      prepended to the file data.

       strip_vss=[0|1]
	      When backing up Windows computers, this  option  allows  you  to
	      prevent the VSS header data being backed up. The default is off.
	      To restore a backup that has no VSS information on Windows,  you
	      need to give the client the '-x' command line option.

       vss_drives=[list of drive letters]
	      When  backing  up	 Windows  computers, this option allows you to
	      specify which drives have VSS snapshots taken of	them.  If  you
	      omit  this option, burp will automatically decide based on the
	      'include' options. If you want no drives to have snapshots taken
	      of them, you can specify '0'.

       acl=[0|1]
	      If  acl  support is compiled into burp, this allows you to de‐
	      cide whether or not to backup acls at runtime.  The  default  is
	      '1'.

       xattr=[0|1]
	      If xattr support is compiled into burp, this allows you to de‐
	      cide whether or not to backup xattrs at runtime. The default  is
	      '1'.

       atime=[0|1]
	      This  allows  you	 to  control whether the client uses O_NOATIME
	      when opening files and directories. The default is 0, which  en‐
	      ables  O_NOATIME.	 This means that the client can read files and
	      directories without updating the access times. However, this  is
	      only  possible  if  you are running as root, or are the owner of
	      the file or directory. If this is not the case (perhaps you only
	      have  group  or  world access to the files), you will get errors
	      until you set atime=1. With atime=1, the access  times  will  be
	      updated on the files and directories that get backed up.

       scan_problem_raises_error=[0|1]
	      When  enabled,  this causes problems in the phase1 scan (such as
	      an 'include' being missing) to be treated as fatal  errors.  The
	      default is off.

SERVER CLIENTCONFDIR FILE
       For  the	 server to know about clients that can contact it, you need to
       place a file named after the client in clientconfdir.  Files  beginning
       with '.' or ending with '~' are ignored. Directories are also ignored.

       The file name must match the name in the 'cname' field on the client.

       ssl_peer_cn=[string]  must match the common name in the SSL certificate
       that the client gives when it connects. If ssl_peer_cn is not set,  the
       client name will be used instead (the clientconfdir file name).

       The  file needs to contain a line like password=[password] that matches
       the same field on the client, or passwd=[hash] - where the  plain  text
       password	 on  the  client will be tested against a hash of the kind you
       might find in /etc/passwd.

       Additionally, the following options can be  overridden  here  for  each
       client:
	      client_can_delete	    client_can_force_backup    client_can_list
	      client_can_monitor     client_can_restore	     client_can_verify
	      client_lockdir  compression dedup_group directory directory_tree
	      enabled  fail_on_warning	hard_quota  keep  label	 librsync  li‐
	      brsync_max_size manual_delete network_allow network_allow_status
	      notify_failure_arg  notify_failure_on_backup_with_failovers_left
	      notify_failure_on_backup_working_dir_deletion	  notify_fail‐
	      ure_script notify_success_arg notify_success_script  notify_suc‐
	      cess_warnings_only   password_check  path_length_warn  rblk_mem‐
	      ory_max	 restore_client	   server_script_arg	 server_script
	      server_script_notify  server_script_post_arg  server_script_post
	      server_script_post_notify		server_script_post_run_on_fail
	      server_script_pre_arg server_script_pre server_script_pre_notify
	      soft_quota super_client syslog  timer_arg	 timer_repeat_interval
	      timer_script  timestamp_format  version_warn  working_dir_recov‐
	      ery_method

       Additionally, the includes and excludes can be overridden here, as  de‐
       scribed in the section above.

       As  with	 the other configuration files, extra configuration can be in‐
       cluded with the '. path/to/config/file' syntax.

Some notes on SSL certificates
       The burp example configs come with example SSL certificates and keys.
       You  can	 use  these and burp will work. But if you are worried about
       network security, you should generate your own  certificates  and  keys
       and  point  your	 config	 files to them. To create the example files, I
       used a handy interface to openssl, called  'tinyca'  (http://tinyca.sm-
       zone.net/).  If	you  are  using	 Debian,  you can run 'apt-get install
       tinyca' to get it. There is also the option of using  burp_ca,	 which
       you can find in the source distribution, courtesy of Patrick Koppen.

Examining backups
       As  well	 as  using the client list options described above, you can go
       directly to the storage directory on the	 server.  The  backups	for  a
       client  are in the directory named after the client. Inside each backup
       directory is a file called manifest.gz.

       This contains a list of all the files in the  backup,  and  where  they
       originally came from on the client.

       There  is  also a 'log.gz' file in the backup directory, which contains
       the output generated by the server during the backup.

       The 'data' directory contains complete backup files.

       The 'deltas.reverse' directory contains reverse deltas that can be  ap‐
       plied  to  the  data from the next backup in the sequence (indicated by
       the contents of the 'forward' file).

       Anything with a .gz suffix is compressed in zlib	 (gzip)	 format.   You
       can use standard tools, such as zcat, zless or cp, to view them or copy
       them elsewhere. Files from Windows backups will	probably  contain  VSS
       headers and/or footers. For help stripping these, see the vss_strip man
       page.

Server initiated backups
       You can queue a backup on the server, to be performed when  the	client
       next makes contact. To do this, you put a file called 'backup' into the
       top level of the client storage directory. The contents of the file are
       ignored.

Server initiated restores
       You  can queue a restore on the server, to be performed when the client
       next makes contact. To do this, you put a file  called  'restore'  into
       the  top	 level	of  the	 client storage directory. The client can deny
       server initiated restores  by  setting  "server_can_restore=0"  in  its
       burp.conf.  The  client  also needs to specify 'restoreprefix' in its
       configuration as a destination for the restored files. Valid fields  to
       include in the restore file are:

       orig_client=[client]
	      The  original  client  to	 restore from. Equivalent to '-C' when
	      initiating a restore from a client. Do  not  include  this  line
	      when  restoring  to  the	original  client.  See	also  the 're‐
	      store_client' and 'super_client' server options.

       backup=[number|a]
	      The number of the backup to restore  from.  Equivalent  to  '-b'
	      when initiating a restore from the client.

       overwrite=[0|1]
	      Whether  to  overwrite  existing	files. Equivalent to '-f' when
	      initiating a restore from the client.

       strip=[number]
	      Number of leading path components to strip. Equivalent  to  '-s'
	      when initiating a restore from the client.

       restoreprefix=[path]
	      Appended	to  the	 client-side 'restoreprefix' setting, and then
	      prefixed to the restore path.

       stripfrompath=[string]
	      Strip matching string  from  restore  paths  (before  prefix  is
	      prepended).

       regex=[regular expression]
	      Only  restore  files matching the regular expression. Equivalent
	      to '-r' when initiating a restore from the client.

       include=[path]
	      Restore directories and files that match the path. If  it	 is  a
	      directory,  the  contents of the directory will be restored. You
	      can have multiple 'include' lines. There is no  equivalent  when
	      initiating a restore from the client.

SIGNALS
       Sending	signal	1  (HUP)  to  the main server process will cause it to
       reload. For the vast majority of configuration changes, a reload is un‐
       necessary as the server will pick up changes "on-the-fly". Sending sig‐
       nal 12 (USR2) to the main server process will cause it  to  wait	 until
       there  are  no longer any child processes, and then exit. The intention
       is to help with upgrades without interrupting current backups.  if  you
       are running upstart, a new burp server process will start up when the
       old one exits.

RETURN CODES (SERVER)
       0: success
       1: error

RETURN CODES (CLIENT)
       0: success
       1: error
       2: restore gave warnings
       3: timer conditions on the server were not met
       4: could not connect to server
       5: max parallel backups reached

BUGS
       If you find bugs, please report them to the email list. See the website
       <http://burp.grke.net/> for details.

AUTHOR
       The main author of Burp is Graham Keeling.

COPYRIGHT
       See the LICENCE file included with the source distribution.

				 Burp		       Burp(8)


Donate with Bitcoin

Burp is open and free software. I work on it in my spare time. If you would like this work to continue, please consider making a small donation.


Burp, don't suck. Last updated: March 2024
By Graham Keeling