backintime-config(1)
π NAME π
okay so this is the manual for backintime-config(1) β the config page, aka the whole entire tea on BackInTime configuration files. π«Ά
π¦ SYNOPSIS π¦
~/.config/backintime/config
/etc/backintime/config
πΈ DESCRIPTION πΈ
ngl, Back In Time was originally built as a pure GUI program, so most of its functions are only usable with backintime-qt. But bestie, you can absolutely use Back In Time on, like, a headless server. The catch? You have to create the configuration file (~/.config/backintime/config) manually, with your own two hands. π
Look inside /usr/share/doc/backintime-common/examples/ for examples.
The configuration file has this format:
keyword=arguments
Arguments do not need to be quoted, no cap. Every character is allowed except =.
Run backintime check-config to verify the configfile, create the snapshot folder and crontab entries. That's the vibe check for your config, fr fr. β¨
π POSSIBLE KEYWORDS π
global.hash_collisionβ Type:int. Allowed Values:0-99999. Internal value used to prevent hash collisions on mountpoints. Do not change this. Like, seriously, hands off. π Default:0global.languageβ Type:str. Allowed Values: text. Language code (ISO 639) used to translate the user interface. If it's empty, the operating system's current locale is used. If it'sen, the translation is not active and the original English source strings are used. Same thing happens if the value is unknown. Default:''global.use_flockβ Type:bool. Allowed Values:true|false. Prevent multiple snapshots (from different profiles or users) from being run at the same time. Default:falseprofile<N>.nameβ Type:str. Allowed Values: text. Name of this profile. Default:Main profileprofile<N>.schedule.custom_timeβ Type:str. Allowed Values: comma separated int (8,12,18,23) or*/3. Custom hours for cronjob. Only valid forprofile<N>.schedule.mode=19. Default:8,12,18,23profile<N>.schedule.dayβ Type:int. Allowed Values:1-28. Which day of month the cronjob should run? Only valid forprofile<N>.schedule.mode>=40. Default:1profile<N>.schedule.debugβ Type:bool. Allowed Values:true|false. Enable debug output to system log for schedule mode. Default:falseprofile<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 is used for crontab. The crontab entry will be generated withbackintime check-config. Here's the whole menu, bestie:0= Disabled1= at every boot2= every 5 minute4= every 10 minute7= every 30 minute10= every hour12= every 2 hours14= every 4 hours16= every 6 hours18= every 12 hours19= custom defined hours20= every day25= daily anacron27= when drive get connected30= every week40= every month80= 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 forprofile<N>.schedule.mode=25|27. Default:1profile<N>.schedule.repeatedly.unitβ Type:int. Allowed Values:10|20|30|40. Units to wait between new snapshots with anacron.10= hours20= days30= weeks40= 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.2015means a quarter past 8pm). Leading zeros can be omitted (eg.30=0030). Only valid forprofile<N>.schedule.mode=20(daily),30(weekly),40(monthly) and80(yearly). Default:0profile<N>.schedule.weekdayβ Type:int. Allowed Values:1= monday -7= sunday. Which day of week the cronjob should run? Only valid forprofile<N>.schedule.mode=30. Default:7profile<N>.snapshots.backup_on_restore.enabledβ Type:bool. Allowed Values:true|false. Rename existing files before restore intoFILE.backup.YYYYMMDD. Default:trueprofile<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 useionice. Default:falseprofile<N>.snapshots.bwlimit.valueβ Type:int. Allowed Values:0-99999. Bandwidth limit in KB/sec. Default:3000profile<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:trueprofile<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:falseprofile<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:falseprofile<N>.snapshots.cron.ioniceβ Type:bool. Allowed Values:true|false. Run cronjobs withionice -c2 -n7. This will give BackInTime the lowest IO bandwidth priority to not interrupt any other working process. Default:trueprofile<N>.snapshots.cron.niceβ Type:bool. Allowed Values:true|false. Run cronjobs withnice -n19. This will give BackInTime the lowest CPU priority to not interrupt any other working process. Default:trueprofile<N>.snapshots.cron.redirect_stderrβ Type:bool. Allowed Values:true|false. redirect stderr to/dev/nullin cronjobs. Default:Falseprofile<N>.snapshots.cron.redirect_stdoutβ Type:bool. Allowed Values:true|false. redirect stdout to/dev/nullin cronjobs. Default:trueprofile<N>.snapshots.dont_remove_named_snapshotsβ Type:bool. Allowed Values:true|false. Keep snapshots with names duringsmart_remove. Default:trueprofile<N>.snapshots.exclude.bysize.enabledβ Type:bool. Allowed Values:true|false. Enable exclude files by size. Default:falseprofile<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:500profile<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 with1. Default:''profile<N>.snapshots.exclude.sizeβ Type:int. Allowed Values:0-99999. Quantity ofprofile<N>.snapshots.exclude.<I>entries. Default:-1profile<N>.snapshots.include.<I>.typeβ Type:int. Allowed Values:0|1. Specify ifprofile<N>.snapshots.include.<I>.valueis a folder (0) or a file (1). Default:0profile<N>.snapshots.include.<I>.valueβ Type:str. Allowed Values: absolute path. Include this file or folder.<I>must be a counter starting with1. Default:''profile<N>.snapshots.include.sizeβ Type:int. Allowed Values:0-99999. Quantity ofprofile<N>.snapshots.include.<I>entries. Default:-1profile<N>.snapshots.keep_only_one_snapshot.enabledβ Type:bool. Allowed Values:true|false. NOT YET IMPLEMENTED. Remove all snapshots but one. Default:falseprofile<N>.snapshots.local.nocacheβ Type:bool. Allowed Values:true|false. Run rsync on local machine withnocache. This will prevent files from being cached in memory. Default:falseprofile<N>.snapshots.local_encfs.pathβ Type:str. Allowed Values: absolute path. Where to save snapshots in modelocal_encfs. Default:''profile<N>.snapshots.log_levelβ Type:int. Allowed Values:1-3. Log level used duringtakeSnapshot.1= Error2= Changes3= Info
Default: 3
profile<N>.snapshots.min_free_inodes.enabledβ Type:bool. Allowed Values:true|false. Remove snapshots untilprofile<N>.snapshots.min_free_inodes.valuefree inodes in % is reached. Default:falseprofile<N>.snapshots.min_free_inodes.valueβ Type:int. Allowed Values:1-15. Keep at least value % free inodes. Default:2profile<N>.snapshots.min_free_space.enabledβ Type:bool. Allowed Values:true|false. Remove snapshots untilprofile<N>.snapshots.min_free_space.valuefree space is reached. Default:falseprofile<N>.snapshots.min_free_space.unitβ Type:int. Allowed Values:10|20.10= MB20= GB
Default: 20
profile<N>.snapshots.min_free_space.valueβ Type:int. Allowed Values:1-99999. Keep at least value + unit free space. Default:1profile<N>.snapshots.modeβ Type:str. Allowed Values:local|local_encfs|ssh|ssh_encfs. Use mode (or backend) for this snapshot. Look atman backintimesection 'Modes'. Default:localprofile<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 asprofile<N>.snapshots.mode. Default:falseprofile<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 asprofile<N>.snapshots.mode. Default:trueif home is not encryptedprofile<N>.snapshots.no_on_batteryβ Type:boolΒ· Allowed Values:true|falseBestie, if the laptop is running on battery, do NOT take snapshots. Like, let it rest, it's tired. Default:falseprofile<N>.snapshots.notify.enabledβ Type:boolΒ· Allowed Values:true|falseShow notifications (errors, warnings) through libnotify. Yes queen, tell me when something's up. Default:trueprofile<N>.snapshots.one_file_systemβ Type:boolΒ· Allowed Values:true|falseUses rsync's--one-file-systemso it doesn't go wandering across filesystem boundaries while recursing. Stay in your lane, babe. Default:falseprofile<N>.snapshots.pathβ Type:strΒ· Allowed Values: absolute path Where your snapshots live in modelocal. This path must contain a folder structure likebackintime/<HOST>/<USER>/<PROFILE_ID>Default:''profile<N>.snapshots.path.hostβ Type:strΒ· Allowed Values: text Sets the Host for the snapshot path. Default: local hostnameprofile<N>.snapshots.path.profileβ Type:strΒ· Allowed Values:1-99999Sets the Profile-ID for the snapshot path. Default: current Profile-IDprofile<N>.snapshots.path.userβ Type:strΒ· Allowed Values: text Sets the User for the snapshot path. Default: local usernameprofile<N>.snapshots.path.uuidβ Type:strΒ· Allowed Values: text The device's uuid, used to automatically set up a udev rule if the drive isn't connected. iykyk. Default:''profile<N>.snapshots.preserve_aclβ Type:boolΒ· Allowed Values:true|falsePreserve ACL. Heads up: the source and destination systems must have compatible ACL entries for this option to work properly. Otherwise it's giving chaos. Default:falseprofile<N>.snapshots.preserve_xattrβ Type:boolΒ· Allowed Values:true|falsePreserve extended attributes (xattr). Keep the whole vibe of your files intact. Default:falseprofile<N>.snapshots.remove_old_snapshots.enabledβ Type:boolΒ· Allowed Values:true|falseRemove all snapshots older than value + unit. Out with the old β¨ Default:trueprofile<N>.snapshots.remove_old_snapshots.unitβ Type:intΒ· Allowed Values:20|30|8020= days30= weeks80= years Default:80
profile<N>.snapshots.remove_old_snapshots.valueβ Type:intΒ· Allowed Values:0-99999Snapshots older than this many units will be removed. Default:10profile<N>.snapshots.rsync_options.enabledβ Type:boolΒ· Allowed Values:true|falsePass additional options to rsync. (Yes, the original says "Past". We're keeping it, we don't gatekeep typos π) Default:falseprofile<N>.snapshots.rsync_options.valueβ Type:strΒ· Allowed Values: text The actual rsync options. They must be quoted, e.g.--exclude-from="/path/to/my exclude file"Default:''profile<N>.snapshots.smart_removeβ Type:boolΒ· Allowed Values:true|falseRunsmart_removeto clean up old snapshots after a new snapshot was created. Spring cleaning but make it automatic π§Ή Default:falseprofile<N>.snapshots.smart_remove.keep_allβ Type:intΒ· Allowed Values:0-99999Keep all snapshots for X days. Default:2profile<N>.snapshots.smart_remove.keep_one_per_dayβ Type:intΒ· Allowed Values:0-99999Keep one snapshot per day for X days. Default:7profile<N>.snapshots.smart_remove.keep_one_per_monthβ Type:intΒ· Allowed Values:0-99999Keep one snapshot per month for X month. (Their wording, not mine π«Ά) Default:24profile<N>.snapshots.smart_remove.keep_one_per_weekβ Type:intΒ· Allowed Values:0-99999Keep one snapshot per week for X weeks. Default:4profile<N>.snapshots.smart_remove.run_remote_in_backgroundβ Type:boolΒ· Allowed Values:true|falseIf you're using modeSSHorSSH-encrypted, runsmart_removein the background on the remote machine. Default:falseprofile<N>.snapshots.ssh.check_commandsβ Type:boolΒ· Allowed Values:true|falseCheck that all commands (used duringtakeSnapshot) actually work like they're supposed to on the remote host. Trust but verify, bestie. Default:trueprofile<N>.snapshots.ssh.check_pingβ Type:boolΒ· Allowed Values:true|falseCheck if the remote host is even available before trying to mount. No point knocking if nobody's home. Default:trueprofile<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-cbcThe cipher used to encrypt the SSH tunnel. Depending on the environment (network bandwidth, cpu and hdd performance) a different cipher might be faster. It's giving β¨optimizationβ¨. Default:defaultprofile<N>.snapshots.ssh.hostβ Type:strΒ· Allowed Values: IP or domain address The remote host used for modesshandssh_encfs. Default:''profile<N>.snapshots.ssh.ioniceβ Type:boolΒ· Allowed Values:true|falseRun rsync and other commands on the remote host with'ionice -c2 -n7'. Default:falseprofile<N>.snapshots.ssh.max_arg_lengthβ Type:intΒ· Allowed Values:0, >700Maximum command length of commands run on the remote host. You can test this for all ssh profiles in the configuration with'python3 /usr/share/backintime/common/sshMaxArg.py LENGTH'.0= unlimited Default:0profile<N>.snapshots.ssh.niceβ Type:boolΒ· Allowed Values:true|falseRun rsync and other commands on the remote host with'nice -n19'. Default:falseprofile<N>.snapshots.ssh.nocacheβ Type:boolΒ· Allowed Values:true|falseRun rsync on the remote host with'nocache'. This will prevent files from being cached in memory. Default:falseprofile<N>.snapshots.ssh.pathβ Type:strΒ· Allowed Values: absolute or relative path The snapshot path on the remote host. If the path is relative (no leading/) it will start from the remote User's homedir. An empty path will be replaced with'./'. Default:''profile<N>.snapshots.ssh.portβ Type:intΒ· Allowed Values:0-65535SSH Port on the remote host. Default:22profile<N>.snapshots.ssh.prefix.enabledβ Type:boolΒ· Allowed Values:true|falseAdd a prefix to every command that runs through SSH on the remote host. Default:falseprofile<N>.snapshots.ssh.prefix.valueβ Type:strΒ· Allowed Values: text The prefix to run before every command on the remote host. Variables need to be escaped with\$FOO. Important: this doesn't touch rsync. So to add a prefix for rsync, useprofile<N>.snapshots.rsync_options.valuewith--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 The private key file used for password-less authentication on the remote host. π Default:~/.ssh/id_dsaprofile<N>.snapshots.ssh.proxy_hostβ Type:strΒ· Allowed Values: text Proxy host used to connect to the remote host. Default: IP or domain addressprofile<N>.snapshots.ssh.proxy_host_portβ Type:intΒ· Allowed Values:0-65535Proxy host port used to connect to the remote host. Default:22profile<N>.snapshots.ssh.proxy_userβ Type:strΒ· Allowed Values: text Remote SSH user. Default: the local user's nameprofile<N>.snapshots.ssh.userβ Type:strΒ· Allowed Values: text Remote SSH user. Default: local user's nameprofile<N>.snapshots.take_snapshot_regardless_of_changesβ Type:boolΒ· Allowed Values:true|falseCreate a new snapshot regardless of whether there were changes or not. Main character energy: it's happening anyway π Default:falseprofile<N>.snapshots.use_checksumβ Type:boolΒ· Allowed Values:true|falseUse checksum to detect changes rather than size + time. Default:falseprofile<N>.snapshots.user_backup.ioniceβ Type:boolΒ· Allowed Values:true|falseRun BackInTime with'ionice -c2 -n7'when taking a manual snapshot. This gives BackInTime the lowest IO bandwidth priority so it doesn't interrupt any other working process. Polite queen behavior π Default:falseprofile<N>.user_callback.no_loggingβ Type:boolΒ· Allowed Values:true|falseDo not catchstd{out|err}from the user-callback script. The script will only write to the current TTY. The default is to catchstd{out|err}and write it to syslog and TTY again. Default:falseprofilesβ Type:strΒ· Allowed Values:intseparated by colon (e.g.1:3:4) All active Profiles (that's the<N>inprofile<N>.snapshots...). Default:1profiles.versionβ Type:intΒ· Allowed Values:1Internal version of profiles config. Don't touch it, it's doing its job π 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>).
okay that's literally the whole thing, bestie β you ate that π«Άβ¨ This page is from version 1.5.5, dated November 2024, and it's the manual for backintime-config(1). Now go configure your backups, you icon ππ
π¦ where this page comes from
- debian trixie: backintime-common 1.5.5-1 Β· GPL-2.0-or-later
- fedora 43: backintime-common 1.5.5-4.fc43 Β· GPL-2.0-or-later
- ubuntu questing: backintime-common 1.5.5-1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms