backintime-config(1)
BackInTime configuration files.
Description
backintime-config
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
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
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 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:\ATH’
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-team@lists.launchpad.net>).