Bvckup 2 configuration files
Nov 06, 2014
Bvckup 2 configuration directory
The app keeps all of its configuration and state data on a disk in a single configuration directory. Default location of Bvckup 2 config directory is
If you are still on Windows XP, it's
%UserProfile%\Local Settings\Application Data\Bvckup2
In the service mode, the app runs as two separate processes - the service with the backup engine and a desktop app with just the user interface - and they each use their own directory. The UI uses app's standard config directory. The service uses
Nov 06, 2014
Using custom configuration directory
The app can be told to use arbitrary configuration directory of your choice. There are two ways to do this.
1. You can pass this directory to the app with -c command line option:
bvckup2.exe -c x:\path\to\the\config\directory
2. You can create a file called redirect.ini in default config directory and then just put your configuration location as the first line of this file. If there are any environment variables in the location string, the app will expand them.
Additionally, the *service* configuration directory can be overridden by setting the REG_SZ registry value called ServiceConfigPath under HKLM\Software\Bvckup2 key.
Nov 06, 2014
Configuration directory structure
The directory is organized as follows:
\engine - a folder with the engine data (see below)
\ui - a folder with the UI configuration
\updates - a folder with all previously downloaded app's updates
\bvckup2.ini - settings shared between the engine and the UI
\bvckup2.log - app's primary log file
There will likely be an assortment of other log files, e.g. bvckup2-fsi.log and bvckup2-vss.log. These capture the context of certain operations in the app and they are primarily needed for troubleshooting issues with tech support.
The "engine" sub-directory
The engine folder contains settings and the state data of all configured backups, each in its own sub-folder, starting with backup-0001:
delta\ - sub-folder with checksum files from delta copier
backup.log - plain text file with the log of the backup job
backup.tdb - binary index file of the above, used internally
settings.ini - the backup configuration, all of it
snapshot.dat - binary file with the snapshot of the destination
The "delta" sub-folder contains binary files with per-block checksums for all files in the backup that were copied with the delta copier. This will be the largest part of each backup's configuration, potentially with a lot of files, taking up non-trivial amount of disk space. This folder can be deleted if needed, just keep in mind that doing so will cause the app to re-copy files in full once they are modified at source.
Now, climbing back up to \engine level, there are several files of note -
\engine\bvckup2.lic - a text file with your license
\engine\bvckup2-email.txt - a text file with the email alert template
\engine\bvckup2-engine.ini - the engine configuration
The "ui" sub-directory
This folder host the UI configuration (window state, position, update check status, etc.) in a file called -
The "updates" sub-directory
Whenever you tell the app to download and install the update (in response to the "New version available" prompt), the update is downloaded and stored in this directory.
Nov 06, 2014
The .ini files
The app stores all its configuration settings in INI files. These include bvckup2.ini, bvckup2-engine.ini, bvckup2-ui.ini and a setting.ini for each configured backup job.
The format of .ini files is very simple - one setting per line, starting with the setting name, followed by spaces/tabs, followed by the setting value that spans until the end of the line. Lines starting with # and blank lines are ignored.
For exact details see https://bvckup2.com/support/forum/topic/800
## VERY IMPORTANT ##
All .ini files are read and loaded only when the app starts up. Most of them are updated when the app exits and many are updated when the app is running.
KEEP IN MIND that all .ini files are re-created from scratch when they are updated. You should NOT be modifying .ini files while the app is running or your changes will be overwritten and lost.
Mar 25, 2018
Overriding settings - Engine and UI
In addition to directly editing bvckup2-engine.ini and bvckup2-ui.ini, you can also modify settings in these files by creating a so-called "override" ini file and placing your changes there -
Override files are loaded immediately after primary ini files. These files are never modified by the program.
Overriding settings - Existing backup jobs
Similar mechanism is used for overriding backup job settings. When a job is loaded, its settings are read and then patched as follows:
1. The engine reads \engine\backup-00xx\settings.ini
2. The engine looks for and loads \engine\backup-override.ini
3. The engine looks for and loads \engine\backup-00xx\override.ini
#2 provides a way to apply an override to all jobs at once and #3 is a way to patch a specific job.
DO NOTE that #2 requires release 78.19 or newer.
Overriding settings - New backup jobs
Similar mechanism can be used to override values in a template used to initialize new backup jobs.
1. The engine first sets a new job to hard-coded defaults.
2. The engine looks for and loads \engine\backup-template.ini
3. The engine looks for and loads \engine\backup-override.ini
DO NOTE that #2 and #3 require release 78.19 or newer.
Additionally, the UI will also do legacy processing of new backup settings by loading overrides either from \ui\backup-template.ini or
\ui\backup-override.ini. The difference here is that the former will clear the default exclusions list and the latter will preserve it.
You are discouraged from using UI-side overrides, because it's cleaner to let the engine manage new job defaults.
Mar 25, 2018
How to clear a LIST of options
Some settings are not singular values, but rather lists of similar values. Most notably, exclusion/inclusion rules are of this type, e.g.
conf.filters.src.generic.rule 1 00000010 00000000 *.abc
conf.filters.src.generic.rule 1 00000010 00000000 *.xyz
The list starts empty and every line merely adds an entry to it.
In order to *clear* a list of values just add a line with an empty value part, i.e.
Once this line is processed, the list will be cleared and then you can re-populate it as needed, e.g.
conf.filters.src.generic.rule 1 00000010 00000000 *.123
conf.filters.src.generic.rule 1 00000010 00000000 *.456
DO NOTE that this requires 78.19 or newer.
Topic is locked.