man backintime-config

backintime-config(1)             USER COMMANDS            backintime-config(1)

NAME
       config - BackInTime configuration files.

SYNOPSIS
       ~/.config/backintime/config
       /etc/backintime/config

DESCRIPTION
       Back  In  Time  was developed as pure GUI program and so most functions
       are only useable with backintime-qt. But it is possible to use Back  In
       Time  e.g.  on  a headless server. You have to create the configuration
       file    (~/.config/backintime/config)     manually.     Look     inside
       /usr/share/doc/backintime-common/examples/ for examples.

       The configuration file has the following format:
       keyword=arguments

       Arguments  don't  need  to be quoted. All characters are allowed except
       '='.

       Run 'backintime check-config' to  verify  the  configfile,  create  the
       snapshot folder and crontab entries.

POSSIBLE KEYWORDS
       config.version
             Type: int       Allowed Values: 0-99999
             Internal version of current config

             Default: 6

       global.hash_collision
             Type: int       Allowed Values: 0-99999
             Internal value used to prevent hash collisions on mountpoints. Do
             not change this.

             Default: 0

       global.use_flock
             Type: bool      Allowed Values: true|false
             Prevent multiple snapshots (from different profiles or users)  to
             be run at the same time

             Default: false

       profile<N>.name
             Type: str       Allowed Values: text
             Name of this profile.

             Default: Main profile

       profile<N>.schedule.custom_time
             Type:  str       Allowed Values: comma separated int (8,12,18,23)
             or */3
             Custom hours for cronjob. Only valid for profile<N>.schedule.mode
             = 19

             Default: 8,12,18,23

       profile<N>.schedule.day
             Type: int       Allowed Values: 1-28
             Which  day  of  month the cronjob should run? Only valid for pro-
             file<N>.schedule.mode >= 40

             Default: 1

       profile<N>.schedule.mode
             Type:            int                  Allowed             Values:
             0|1|2|4|7|10|12|14|16|18|19|20|25|27|30|40|80
             Which schedule used for crontab. The crontab entry will be gener-
             ated with 'backintime check-config'.
              0 = Disabled
              1 = at every boot
              2 = every 5 minute
              4 = every 10 minute
              7 = every 30 minute
             10 = every hour
             12 = every 2 hours
             14 = every 4 hours
             16 = every 6 hours
             18 = every 12 hours
             19 = custom defined hours
             20 = every day
             25 = daily anacron
             27 = when drive get connected
             30 = every week
             40 = every month
             80 = every year

             Default: 0

       profile<N>.schedule.repeatedly.period
             Type: int       Allowed Values: 0-99999
             How many units to wait between new snapshots with  anacron?  Only
             valid for profile<N>.schedule.mode = 25|27

             Default: 1

       profile<N>.schedule.repeatedly.unit
             Type: int       Allowed Values: 10|20|30|40
             Units to wait between new snapshots with anacron.
             10 = hours
             20 = days
             30 = weeks
             40 = months
             Only valid for profile<N>.schedule.mode = 25|27

             Default: 20

       profile<N>.schedule.time
             Type: int       Allowed Values: 0-24
             What   time   the   cronjob  should  run?  Only  valid  for  pro-
             file<N>.schedule.mode >= 20

             Default: 0

       profile<N>.schedule.weekday
             Type: int       Allowed Values: 1 = monday - 7 = sunday
             Which day of week the cronjob should run?  Only  valid  for  pro-
             file<N>.schedule.mode = 30

             Default: 7

       profile<N>.snapshots.backup_on_restore.enabled
             Type: bool      Allowed Values: true|false
             Rename existing files before restore into FILE.backup.YYYYMMDD

             Default: true

       profile<N>.snapshots.bwlimit.enabled
             Type: bool      Allowed Values: true|false
             Limit rsync bandwidth usage over network. Use this with mode SSH.
             For mode Local you should rather use ionice.

             Default: false

       profile<N>.snapshots.bwlimit.value
             Type: int       Allowed Values: 0-99999
             Bandwidth limit in KB/sec.

             Default: 3000

       profile<N>.snapshots.continue_on_errors
             Type: bool      Allowed Values: true|false
             Continue on errors. This will keep  incomplete  snapshots  rather
             than deleting and start over again.

             Default: true

       profile<N>.snapshots.copy_links
             Type: bool      Allowed Values: true|false
             When   symlinks   are   encountered,  the item that they point to
             (the reference) is copied, rather than the symlink.

             Default: false

       profile<N>.snapshots.copy_unsafe_links
             Type: bool      Allowed Values: true|false
             This tells rsync to copy the  referent  of  symbolic  links  that
             point  outside  the  copied  tree.   Absolute  symlinks  are also
             treated like ordinary files.

             Default: false

       profile<N>.snapshots.cron.ionice
             Type: bool      Allowed Values: true|false
             Run cronjobs with 'ionice -c2 -n7'. This will give BackInTime the
             lowest  IO  bandwidth priority to not interrupt any other working
             process.

             Default: true

       profile<N>.snapshots.cron.nice
             Type: bool      Allowed Values: true|false
             Run cronjobs with 'nice -n19'. This will give BackInTime the low-
             est CPU priority to not interrupt any other working process.

             Default: true

       profile<N>.snapshots.cron.redirect_stderr
             Type: bool      Allowed Values: true|false
             redirect stderr to /dev/null in cronjobs

             Default: False

       profile<N>.snapshots.cron.redirect_stdout
             Type: bool      Allowed Values: true|false
             redirect stdout to /dev/null in cronjobs

             Default: true

       profile<N>.snapshots.dont_remove_named_snapshots
             Type: bool      Allowed Values: true|false
             Keep snapshots with names during smart_remove.

             Default: true

       profile<N>.snapshots.exclude.bysize.enabled
             Type: bool      Allowed Values: true|false
             Enable exclude files by size.

             Default: false

       profile<N>.snapshots.exclude.bysize.value
             Type: int       Allowed Values: 0-99999
             Exclude  files  bigger  than value in MiB. With 'Full rsync mode'
             disabled this will only affect new files because for  rsync  this
             is  a  transfer  option, not an exclude option. So big files that
             has been backed up before will remain in snapshots even  if  they
             had changed.

             Default: 500

       profile<N>.snapshots.exclude.<I>.value
             Type: str       Allowed Values: file, folder or pattern (relative
             or absolute)
             Exclude this file or folder. <I> must be a counter starting  with
             1

             Default: ''

       profile<N>.snapshots.exclude.size
             Type: int       Allowed Values: 0-99999
             Quantity of profile<N>.snapshots.exclude.<I> entries.

             Default: -1

       profile<N>.snapshots.include.<I>.type
             Type: int       Allowed Values: 0|1
             Specify if profile<N>.snapshots.include.<I>.value is a folder (0)
             or a file (1).

             Default: 0

       profile<N>.snapshots.include.<I>.value
             Type: str       Allowed Values: absolute path
             Include this file or folder. <I> must be a counter starting  with
             1

             Default: ''

       profile<N>.snapshots.include.size
             Type: int       Allowed Values: 0-99999
             Quantity of profile<N>.snapshots.include.<I> entries.

             Default: -1

       profile<N>.snapshots.keep_only_one_snapshot.enabled
             Type: bool      Allowed Values: true|false
             NOT YET IMPLEMENTED. Remove all snapshots but one.

             Default: false

       profile<N>.snapshots.local.nocache
             Type: bool      Allowed Values: true|false
             Run  rsync  on  local  machine  with 'nocache'. This will prevent
             files from being cached in memory.

             Default: false

       profile<N>.snapshots.local_encfs.path
             Type: str       Allowed Values: absolute path
             Where to save snapshots in mode 'local_encfs'.

             Default: ''

       profile<N>.snapshots.log_level
             Type: int       Allowed Values: 1-3
             Log level used during takeSnapshot.
             1 = Error
             2 = Changes
             3 = Info

             Default: 3

       profile<N>.snapshots.min_free_inodes.enabled
             Type: bool      Allowed Values: true|false
             Remove snapshots until profile<N>.snapshots.min_free_inodes.value
             free inodes in % is reached.

             Default: true

       profile<N>.snapshots.min_free_inodes.value
             Type: int       Allowed Values: 1-15
             Keep at least value % free inodes.

             Default: 2

       profile<N>.snapshots.min_free_space.enabled
             Type: bool      Allowed Values: true|false
             Remove  snapshots until profile<N>.snapshots.min_free_space.value
             free space is reached.

             Default: true

       profile<N>.snapshots.min_free_space.unit
             Type: int       Allowed Values: 10|20
             10 = MB
             20 = GB

             Default: 20

       profile<N>.snapshots.min_free_space.value
             Type: int       Allowed Values: 1-99999
             Keep at least value + unit free space.

             Default: 1

       profile<N>.snapshots.mode
             Type: str       Allowed Values: local|local_encfs|ssh|ssh_encfs
             Use mode (or backend) for this snapshot. Look at 'man backintime'
             section 'Modes'.

             Default: local

       profile<N>.snapshots.<MODE>.password.save
             Type: bool      Allowed Values: true|false
             Save  password  to  system  keyring  (gnome-keyring  or kwallet).
             <MODE> must be the same as profile<N>.snapshots.mode

             Default: false

       profile<N>.snapshots.<MODE>.password.use_cache
             Type: bool      Allowed Values: true|false
             Cache password in RAM so it can be read by cronjobs. Security is-
             sue:  root  might be able to read that password, too. <MODE> must
             be the same as profile<N>.snapshots.mode

             Default: true if home is not encrypted

       profile<N>.snapshots.no_on_battery
             Type: bool      Allowed Values: true|false
             Don't take snapshots if the Computer runs on battery.

             Default: false

       profile<N>.snapshots.notify.enabled
             Type: bool      Allowed Values: true|false
             Display notifications (errors, warnings) through libnotify.

             Default: true

       profile<N>.snapshots.path
             Type: str       Allowed Values: absolute path
             Where to save snapshots in mode 'local'. This path must contain a
             folderstructure like 'backintime/<HOST>/<USER>/<PROFILE_ID>'

             Default: ''

       profile<N>.snapshots.path.host
             Type: str       Allowed Values: text
             Set Host for snapshot path

             Default: local hostname

       profile<N>.snapshots.path.profile
             Type: str       Allowed Values: 1-99999
             Set Profile-ID for snapshot path

             Default: current Profile-ID

       profile<N>.snapshots.path.user
             Type: str       Allowed Values: text
             Set User for snapshot path

             Default: local username

       profile<N>.snapshots.path.uuid
             Type: str       Allowed Values: text
             Devices  uuid used to automatically set up udev rule if the drive
             is not connected.

             Default: ''

       profile<N>.snapshots.preserve_acl
             Type: bool      Allowed Values: true|false
             Preserve ACL. The  source  and  destination   systems  must  have
             compatible ACL entries for this option to work properly.

             Default: false

       profile<N>.snapshots.preserve_xattr
             Type: bool      Allowed Values: true|false
             Preserve extended attributes (xattr).

             Default: false

       profile<N>.snapshots.remove_old_snapshots.enabled
             Type: bool      Allowed Values: true|false
             Remove all snapshots older than value + unit

             Default: true

       profile<N>.snapshots.remove_old_snapshots.unit
             Type: int       Allowed Values: 20|30|80
             20 = days
             30 = weeks
             80 = years

             Default: 80

       profile<N>.snapshots.remove_old_snapshots.value
             Type: int       Allowed Values: 0-99999
             Snapshots older than this times units will be removed

             Default: 10

       profile<N>.snapshots.rsync_options.enabled
             Type: bool      Allowed Values: true|false
             Past additional options to rsync

             Default: false

       profile<N>.snapshots.rsync_options.value
             Type: str       Allowed Values: text
             rsync   options.   Options   must   be   quoted  e.g.  --exclude-
             from="/path/to/my exclude file"

             Default: ''

       profile<N>.snapshots.smart_remove
             Type: bool      Allowed Values: true|false
             Run smart_remove to clean up old snapshots after a  new  snapshot
             was created.

             Default: false

       profile<N>.snapshots.smart_remove.keep_all
             Type: int       Allowed Values: 0-99999
             Keep all snapshots for X days.

             Default: 2

       profile<N>.snapshots.smart_remove.keep_one_per_day
             Type: int       Allowed Values: 0-99999
             Keep one snapshot per day for X days.

             Default: 7

       profile<N>.snapshots.smart_remove.keep_one_per_month
             Type: int       Allowed Values: 0-99999
             Keep one snapshot per month for X month.

             Default: 24

       profile<N>.snapshots.smart_remove.keep_one_per_week
             Type: int       Allowed Values: 0-99999
             Keep one snapshot per week for X weeks.

             Default: 4

       profile<N>.snapshots.smart_remove.run_remote_in_background
             Type: bool      Allowed Values: true|false
             If  using  mode  SSH  or SSH-encrypted, run smart_remove in back-
             ground on remote machine

             Default: false

       profile<N>.snapshots.ssh.check_commands
             Type: bool      Allowed Values: true|false
             Check if all commands (used during takeSnapshot)  work  like  ex-
             pected on the remote host.

             Default: true

       profile<N>.snapshots.ssh.check_ping
             Type: bool      Allowed Values: true|false
             Check if the remote host is available before trying to mount.

             Default: true

       profile<N>.snapshots.ssh.cipher
             Type: str       Allowed Values: default | aes192-cbc | aes256-cbc
             | aes128-ctr | aes192-ctr | aes256-ctr | arcfour |  arcfour256  |
             arcfour128 | aes128-cbc | 3des-cbc | blowfish-cbc | cast128-cbc
             Cipher  that  is used for encrypting the SSH tunnel. Depending on
             the environment (network bandwidth, cpu and  hdd  performance)  a
             different cipher might be faster.

             Default: default

       profile<N>.snapshots.ssh.host
             Type: str       Allowed Values: IP or domain address
             Remote host used for mode 'ssh' and 'ssh_encfs'.

             Default: ''

       profile<N>.snapshots.ssh.ionice
             Type: bool      Allowed Values: true|false
             Run rsync and other commands on remote host with 'ionice -c2 -n7'

             Default: false

       profile<N>.snapshots.ssh.max_arg_length
             Type: int       Allowed Values: 0, >700
             Maximum  argument length of commands run on remote host. This can
             be tested with 'python3 /usr/share/backintime/common/sshMaxArg.py
             USER@HOST'.
             0 = unlimited

             Default: 0

       profile<N>.snapshots.ssh.nice
             Type: bool      Allowed Values: true|false
             Run rsync and other commands on remote host with 'nice -n19'

             Default: false

       profile<N>.snapshots.ssh.nocache
             Type: bool      Allowed Values: true|false
             Run  rsync on remote host with 'nocache'. This will prevent files
             from being cached in memory.

             Default: false

       profile<N>.snapshots.ssh.path
             Type: str       Allowed Values: absolute or relative path
             Snapshot path on remote host. If the path is relative (no leading
             '/')  it will start from remote Users homedir. An empty path will
             be replaced with './'.

             Default: ''

       profile<N>.snapshots.ssh.port
             Type: int       Allowed Values: 0-65535
             SSH Port on remote host.

             Default: 22

       profile<N>.snapshots.ssh.prefix.enabled
             Type: bool      Allowed Values: true|false
             Add prefix to every command which run through SSH on remote host.

             Default: false

       profile<N>.snapshots.ssh.prefix.value
             Type: str       Allowed Values: text
             Prefix to run before every command on remote host. Variables need
             to  be  escaped with \$FOO. This doesn't touch rsync. So to add a
             prefix  for  rsync  use  profile<N>.snapshots.rsync_options.value
             with --rsync-path="FOO=bar:\$FOO /usr/bin/rsync"

             Default: 'PATH=/opt/bin:/opt/sbin:\$PATH'

       profile<N>.snapshots.ssh.private_key_file
             Type: str       Allowed Values: absolute path to private key file
             Private  key file used for password-less authentication on remote
             host.

             Default: ~/.ssh/id_dsa

       profile<N>.snapshots.ssh.user
             Type: str       Allowed Values: text
             Remote SSH user

             Default: local users name

       profile<N>.snapshots.take_snapshot_regardless_of_changes
             Type: bool      Allowed Values: true|false
             Create a new snapshot regardless if there were changes or not.

             Default: false

       profile<N>.snapshots.use_checksum
             Type: bool      Allowed Values: true|false
             Use checksum to detect changes rather than size + time.

             Default: false

       profile<N>.snapshots.user_backup.ionice
             Type: bool      Allowed Values: true|false
             Run BackInTime with 'ionice -c2 -n7' when taking a  manual  snap-
             shot.  This will give BackInTime the lowest IO bandwidth priority
             to not interrupt any other working process.

             Default: false

       profile<N>.user_callback.no_logging
             Type: bool      Allowed Values: true|false
             Do not catch std{out|err} from user-callback script.  The  script
             will  only write to current TTY. Default is to catch std{out|err}
             and write it to syslog and TTY again.

             Default: false

       profiles
             Type: str       Allowed Values:  int  separated  by  colon  (e.g.
             1:3:4)
             All active Profiles (<N> in profile<N>.snapshots...).

             Default: 1

       profiles.version
             Type: int       Allowed Values: 1
             Internal version of profiles config.

             Default: 1

SEE ALSO
       backintime, backintime-qt.

       Back In Time also has a website: https://github.com/bit-team/backintime

AUTHOR
       This  manual  page  was  written  by  BIT  Team(<bit-team@lists.launch-
       pad.net>).

version 1.3.2                      Nov 2017               backintime-config(1)