Provided by: backintime-common_1.5.2-1_all
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