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-qt4. 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
-
Type: int Allowed Values: 0-99999
- global.use_flock
-
-
Type: bool Allowed Values: true|false
Prevent multiple snapshots (from different profiles or users) to be run at the same timeDefault: false
-
Type: bool Allowed Values: true|false
- profile<N>.name
-
-
Type: str Allowed Values: text
Name of this profile.Default: Main profile
-
Type: str Allowed Values: text
- profile<N>.snapshots.automatic_backup_anacron_period
-
-
Type: int Allowed Values: 0-99999
How many units to wait between new snapshots with anacron? Only valid for profile<N>.snapshots.automatic_backup_mode = 25|27Default: 1
-
Type: int Allowed Values: 0-99999
- profile<N>.snapshots.automatic_backup_anacron_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>.snapshots.automatic_backup_mode = 25|27Default: 20
-
Type: int Allowed Values: 10|20|30|40
- profile<N>.snapshots.automatic_backup_day
-
-
Type: int Allowed Values: 1-28
Which day of month the cronjob should run? Only valid for profile<N>.snapshots.automatic_backup_mode >= 40Default: 1
-
Type: int Allowed Values: 1-28
- profile<N>.snapshots.automatic_backup_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 yearDefault: 0
-
Type: int Allowed Values: 0|1|2|4|7|10|12|14|16|18|19|20|25|27|30|40|80
- profile<N>.snapshots.automatic_backup_time
-
-
Type: int Allowed Values: 0-24
What time the cronjob should run? Only valid for profile<N>.snapshots.automatic_backup_mode >= 20Default: 0
-
Type: int Allowed Values: 0-24
- profile<N>.snapshots.automatic_backup_weekday
-
-
Type: int Allowed Values: 1 = monday - 7 = sunday
Which day of week the cronjob should run? Only valid for profile<N>.snapshots.automatic_backup_mode = 30Default: 7
-
Type: int Allowed Values: 1 = monday - 7 = sunday
- profile<N>.snapshots.backup_on_restore.enabled
-
-
Type: bool Allowed Values: true|false
Rename existing files before restore into FILE.backup.YYYYMMDDDefault: true
-
Type: bool Allowed Values: true|false
- 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
-
Type: bool Allowed Values: true|false
- profile<N>.snapshots.bwlimit.value
-
-
Type: int Allowed Values: 0-99999
Bandwidth limit in KB/sec.Default: 3000
-
Type: int Allowed Values: 0-99999
- profile<N>.snapshots.check_for_changes
-
-
Type: bool Allowed Values: true|false
Perform a dry-run before taking snapshots. Don't take a new snapshot if nothing has changed. Only valid with profile<N>.snapshots.full_rsync = falseDefault: true
-
Type: bool Allowed Values: true|false
- 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
-
Type: bool Allowed Values: true|false
- 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
-
Type: bool Allowed Values: true|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
-
Type: bool Allowed Values: true|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 interupt any other working process.Default: true
-
Type: bool Allowed Values: true|false
- profile<N>.snapshots.cron.nice
-
-
Type: bool Allowed Values: true|false
Run cronjobs with 'nice -n 19'. This will give BackInTime the lowest CPU priority to not interupt any other working process.Default: true
-
Type: bool Allowed Values: true|false
- profile<N>.snapshots.cron.redirect_stderr
-
-
Type: bool Allowed Values: true|false
redirect stderr to /dev/null in cronjobsDefault: False
-
Type: bool Allowed Values: true|false
- profile<N>.snapshots.cron.redirect_stdout
-
-
Type: bool Allowed Values: true|false
redirect stdout to /dev/null in cronjobsDefault: true
-
Type: bool Allowed Values: true|false
- profile<N>.snapshots.custom_backup_time
-
-
Type: str Allowed Values: comma separated int (8,12,18,23) or */3
Custom hours for cronjob. Only valid for profile<N>.snapshots.automatic_backup_mode = 19Default: 8,12,18,23
-
Type: str Allowed Values: comma separated int (8,12,18,23) or */3
- profile<N>.snapshots.dont_remove_named_snapshots
-
-
Type: bool Allowed Values: true|false
Keep snapshots with names during smart_remove.Default: true
-
Type: bool Allowed Values: true|false
- profile<N>.snapshots.exclude.bysize.enabled
-
-
Type: bool Allowed Values: true|false
Enable exclude files by size.Default: false
-
Type: bool Allowed Values: true|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
-
Type: int Allowed Values: 0-99999
- 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 1Default: ''
-
Type: str Allowed Values: file, folder or pattern (relative or absolute)
- profile<N>.snapshots.exclude.size
-
-
Type: int Allowed Values: 0-99999
Quantity of profile<N>.snapshots.exclude.<I> entries.Default: -1
-
Type: int Allowed Values: 0-99999
- profile<N>.snapshots.full_rsync
-
-
Type: bool Allowed Values: true|false
Full rsync mode. May be faster but snapshots are not read-only anymore and destination file-system must support all linux attributes (date, rights, user, group...)Default: false
-
Type: bool Allowed Values: true|false
- profile<N>.snapshots.full_rsync.take_snapshot_regardless_of_changes
-
-
Type: bool Allowed Values: true|false
Create a new snapshot regardless if there were changes or not. Only valid with profile<N>.snapshots.full_rsync = trueDefault: false
-
Type: bool Allowed Values: true|false
- profile<N>.snapshots.gnu_find_suffix_support
-
-
Type: bool Allowed Values: true|false
Remote SSH host support GNU find suffix (find -exec COMMAND {} +).Default: true
-
Type: bool Allowed Values: true|false
- 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
-
Type: int Allowed Values: 0|1
- profile<N>.snapshots.include.<I>.value
-
-
Type: str Allowed Values: absolute path
Include this file or folder. <I> must be a counter starting with 1Default: ''
-
Type: str Allowed Values: absolute path
- profile<N>.snapshots.include.size
-
-
Type: int Allowed Values: 0-99999
Quantity of profile<N>.snapshots.include.<I> entries.Default: -1
-
Type: int Allowed Values: 0-99999
- profile<N>.snapshots.keep_only_one_snapshot.enabled
-
-
Type: bool Allowed Values: true|false
NOT YET IMPLEMENTED. Remove all snapshots but one.Default: false
-
Type: bool Allowed Values: true|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
-
Type: bool Allowed Values: true|false
- profile<N>.snapshots.local_encfs.path
-
-
Type: str Allowed Values: absolute path
Where to save snapshots in mode 'local_encfs'.Default: ''
-
Type: str Allowed Values: absolute path
- profile<N>.snapshots.log_level
-
-
Type: int Allowed Values: 1-3
Log level used during take_snapshot.
1 = Error
2 = Changes
3 = InfoDefault: 3
-
Type: int Allowed Values: 1-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
-
Type: bool Allowed Values: true|false
- profile<N>.snapshots.min_free_inodes.value
-
-
Type: int Allowed Values: 1-15
Keep at least value % free inodes.Default: 2
-
Type: int Allowed Values: 1-15
- 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
-
Type: bool Allowed Values: true|false
- profile<N>.snapshots.min_free_space.unit
-
-
Type: int Allowed Values: 10|20
10 = MB
20 = GBDefault: 20
-
Type: int Allowed Values: 10|20
- profile<N>.snapshots.min_free_space.value
-
-
Type: int Allowed Values: 1-99999
Keep at least value + unit free space.Default: 1
-
Type: int Allowed Values: 1-99999
- 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
-
Type: str Allowed Values: local|local_encfs|ssh|ssh_encfs
- 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.modeDefault: false
-
Type: bool Allowed Values: true|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.modeDefault: true if home is not encrypted
-
Type: bool Allowed Values: true|false
- profile<N>.snapshots.no_on_battery
-
-
Type: bool Allowed Values: true|false
Don't take snapshots if the Computer runs on battery.Default: false
-
Type: bool Allowed Values: true|false
- profile<N>.snapshots.notify.enabled
-
-
Type: bool Allowed Values: true|false
Display notifications (errors, warnings) through libnotify.Default: true
-
Type: bool Allowed Values: true|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: ''
-
Type: str Allowed Values: absolute path
- profile<N>.snapshots.path.host
-
-
Type: str Allowed Values: text
Set Host for snapshot pathDefault: local hostname
-
Type: str Allowed Values: text
- profile<N>.snapshots.path.profile
-
-
Type: str Allowed Values: 1-99999
Set Profile-ID for snapshot pathDefault: current Profile-ID
-
Type: str Allowed Values: 1-99999
- profile<N>.snapshots.path.user
-
-
Type: str Allowed Values: text
Set User for snapshot pathDefault: local username
-
Type: str Allowed Values: text
- 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: ''
-
Type: str Allowed Values: text
- 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
-
Type: bool Allowed Values: true|false
- profile<N>.snapshots.preserve_xattr
-
-
Type: bool Allowed Values: true|false
Preserve extended attributes (xattr).Default: false
-
Type: bool Allowed Values: true|false
- profile<N>.snapshots.remove_old_snapshots.enabled
-
-
Type: bool Allowed Values: true|false
Remove all snapshots older than value + unitDefault: true
-
Type: bool Allowed Values: true|false
- profile<N>.snapshots.remove_old_snapshots.unit
-
-
Type: int Allowed Values: 20|30|80
20 = days
30 = weeks
80 = yearsDefault: 80
-
Type: int Allowed Values: 20|30|80
- profile<N>.snapshots.remove_old_snapshots.value
-
-
Type: int Allowed Values: 0-99999
Snapshots older than this times units will be removedDefault: 10
-
Type: int Allowed Values: 0-99999
- profile<N>.snapshots.rsync_options.enabled
-
-
Type: bool Allowed Values: true|false
Past additional options to rsyncDefault: false
-
Type: bool Allowed Values: true|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: ''
-
Type: str Allowed Values: text
- 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
-
Type: bool Allowed Values: true|false
- profile<N>.snapshots.smart_remove.keep_all
-
-
Type: int Allowed Values: 0-99999
Keep all snapshots for X days.Default: 2
-
Type: int Allowed Values: 0-99999
- 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
-
Type: int Allowed Values: 0-99999
- 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
-
Type: int Allowed Values: 0-99999
- 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
-
Type: int Allowed Values: 0-99999
- 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 machineDefault: false
-
Type: bool Allowed Values: true|false
- 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
-
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
- profile<N>.snapshots.ssh.host
-
-
Type: str Allowed Values: IP or domain address
Remote host used for mode 'ssh' and 'ssh_encfs'.Default: ''
-
Type: str Allowed Values: IP or domain address
- 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
-
Type: bool Allowed Values: true|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 = unlimitedDefault: 0
-
Type: int Allowed Values: 0, >700
- profile<N>.snapshots.ssh.nice
-
-
Type: bool Allowed Values: true|false
Run rsync and other commands on remote host with 'nice -n 19'Default: false
-
Type: bool Allowed Values: true|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
-
Type: bool Allowed Values: true|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: ''
-
Type: str Allowed Values: absolute or relative path
- profile<N>.snapshots.ssh.port
-
-
Type: int Allowed Values: 0-65535
SSH Port on remote host.Default: 22
-
Type: int Allowed Values: 0-65535
- 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
-
Type: bool Allowed Values: true|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'
-
Type: str Allowed Values: text
- 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
-
Type: str Allowed Values: absolute path to private key file
- profile<N>.snapshots.ssh.user
-
-
Type: str Allowed Values: text
Remote SSH userDefault: local users name
-
Type: str Allowed Values: text
- profile<N>.snapshots.take_snapshot.<STEP>.user.script
-
-
Type: str Allowed Values: absolute path
Run this scrip on events defined by <STEP>.
Possible events for <STEP>:
before
after
new_snapshot
errorDefault: ''
-
Type: str Allowed Values: absolute path
- profile<N>.snapshots.use_checksum
-
-
Type: bool Allowed Values: true|false
Use checksum to detect changes rather than size + time.Default: false
-
Type: bool Allowed Values: true|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 interupt any other working process.Default: false
-
Type: bool Allowed Values: true|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
-
Type: bool Allowed Values: true|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
-
Type: str Allowed Values: int separated by colon (e.g. 1:3:4)
- profiles.version
-
-
Type: int Allowed Values: 1
Internal version of profiles config.Default: 1
-
Type: int Allowed Values: 1