Provided by: backintime-common_1.4.3-1_all bug

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 usable 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

       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.language
             Type: str       Allowed Values: text
             Language code (ISO 639) used to translate the  user  interface.  If  empty  the  operating  systems
             current  local  is  used.  If  'en'  the  translation is not active and the original English source
             strings are used. It is the same if the value is unknown.

             Default: ''

       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 profile<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  generated  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-2400
             Position-coded number with the format "hhmm" to specify the hour  and  minute  the  cronjob  should
             start (eg. 2015 means a quarter past 8pm). Leading zeros can be omitted (eg. 30 = 0030). Only valid
             for profile<N>.schedule.mode = 20 (daily), 30 (weekly), 40 (monthly) and 80 (yearly)

             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 profile<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 lowest 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 issue: 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 background 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 expected 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  command  length of commands run on remote host. This can be tested for all ssh profiles in
             the       configuration       with        'python3        /usr/share/backintime/common/sshMaxArg.py
             [initial_ssh_cmd_length]'.
             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 snapshot. 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-dev@python.org>).

version 1.4.3                                       Jan 2024                                backintime-config(1)