Provided by: backintime-common_1.5.2-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.one_file_system
             Type: bool      Allowed Values: true|false
             Use  rsync's  "--one-file-system"  to  avoid  crossing  filesystem  boundaries  when
             recursing.

             Default: false

       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(1), backintime-qt(1), backintime-askpass(1)

       Back In Time project website: https://github.com/bit-team/backintime

       Back In Time mailing list: https://mail.python.org/mailman3/lists/bit-dev.python.org

AUTHOR

       Back In Time Team