Man page - backintime-config(1)
Packages contains this manual
apt-get install backintime-common
Manual
backintime-config
NAMESYNOPSIS
DESCRIPTION
POSSIBLE KEYWORDS
SEE ALSO
AUTHOR
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.debug
Type: bool Allowed Values:
true|false
Enable debug output to system log for schedule mode.
Default: false
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: false
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: false
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
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.proxy_host
Type: str Allowed Values: text
Proxy host used to connect to remote host.
Default: IP or domain address
profile<N>.snapshots.ssh.proxy_host_port
Type: int Allowed Values:
0-65535
Proxy host port used to connect to remote host.
Default: 22
profile<N>.snapshots.ssh.proxy_user
Type: str Allowed Values: text
Remote SSH user
Default: the local users name
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>).