A profile contains information about what files and folders will be backed-up, where the backup files will be saved, and when the backups will be created.
The settings for each profile are independant of other profiles. Create separate profiles for each set of data that you want to manage.
For example, you may want to create hourly snapshots for your documents and upload them to your DropBox account. You may also want to create weekly backups of your music collection and upload them to your Google Drive account. Creating separate profiles allows you to manage each set of data independantly.
Start Baqpaq using the icon in Application Menu. Click the Create button to create a new profile.
A new profile has been created. You need to enter some information before it can be used.
- Select the destination path for backups. The selected folder must be empty. If there are any files in this path, you will get an error when you initialize the profile.
- Click the Initialize button to create an empty data repository.
An empty repository will be created as shown below. The file profile.json contains the settings for the profile. Other files in this folder are created by Borg.
- Go to the Source section, and add the folders that you want to include in snapshots.
You can include your entire home directory (/home/<user>), or specific files and folders like your documents (/home/<user>/Documents) or Pictures (/home/<user>/Pictures).
The profile is now complete. We can go ahead and create our first snapshot. Close the Profile window and come back to the Main Window.
Snapshots are saved using BorgBackup as the storage backend. BorgBackup is an popular open-source tool for creating backups.
You can select compression method from General tab. LZ4 is the fastest. ZStd gives better compression.
Changing compression method
When you create a snapshot the compression method will be applied to new data blocks that are added to backup repository. Changing the compression method does not re-compress existing data blocks.
Borg has an in-built heuristic to check if a block is compressible. Incompressible data blocks are saved without compression. The selected compression method will be applied only to data blocks that can be compressed.
If you wish to backup files and folders that you don’t have access for, then run Baqpaq as Admin (root user) and create a new profile.
To remove a profile, open the Manage Profiles window, and select the profile to be removed. Click the Remove button.
Removing a profile does not remove the backup files. This is for safety. The backup folder must be deleted manually to delete backups.
Backups can be imported by selecting the backup folder. If the profile.json file is found, it will be imported. Otherwise, it will be treated as a normal Borg repository and imported as a new profile.
To import an existing profile, open the Manage Profiles window. Click the Import Profile button and select the folder that contains the backups.
Profile settings need to be reviewed after import.
- If you are importing the profile on a different system, then any paths added to the Source and Exclude sections may not exist on the new system. Check and update the paths if needed.
- The passphrase field will be blank. The correct password needs to be entered. Click the Check button to verify if the passphrase is correct.
Profiles for each user are separate. You need to change permissions for the backup files if you are importing the profile as a different user.
For example, if you are logged-in as “sam” and import the profile with Baqpaq running as normal user, then the profile is owned by “sam”. Make sure that the files in the backup path are owned by “sam” as well.
You will get a prompt to update the file ownership when you import the profile. You can also do it manually with the following command.
sudo chown -R $USER:$USER /path/to/backup/folder
Review and modify other settings as needed.
Taking backup of app settings
If you are going to reinstall your system, save a copy of the folder
/home/<user>/.config/baqpaq to a USB drive.
Copy the folder back after re-installing the system.
This will save you some time.
In case you forgot to save the folder, you need to import the profiles one-by-one on the new system. Use the Import button as described above to import each backup folder one-by-one.
Duplicate backup paths
Two profiles cannot use the same backup path. If you try to import a profile that uses the same backup path as another existing profile, then you will get an error while importing. Delete the existing profile and try importing again.
You need to provide the correct password again after importing a profile. Click the Check button to verify if the password is correct.
Always ensure to review the settings after import to avoid any problems.
Baqpaq uses BorgBackup as the storage backend. Borg stores the files in a opaque format in a data repository. To view the files and folders inside the repository, it needs to be mounted to a temporary path.
Click the Mount button in toolbar to mount all backups to a temporary folder.
Click Open to view the contents in a file manager.
Copy any files and folders that you need and unmount the profile when you finish. Click the Unmount button to unmount the backups and return to the Main Window.
Mounting a profile that has a large number of snapshots can result in poor performance while browsing the folders. It is recommended to mount a single snapshot instead of mounting the entire repository. You can double-click any snapshot in the list to mount it.
The filesystem mounted in the temporary folder is virtual and read-only. The contents cannot be modified.
The profile will be in a locked state while mounted. Scheduled tasks will fail if it runs while the profile is locked. Close any open applications that are using the mounted files and unmount the profile after you finish.
Files and directories to exclude can be added to the Exclude section in Profile Settings. To exclude a file or directory, click the Add Files or Add Folders button and select the files or directories to exclude.
You can edit the entry after adding it by selecting and clicking the entry in the list. You can also add wildcard characters to match and exclude multiple items.
Baqpaq uses the
--patterns-from option provided by Borg with Fnmatch syntax.
These patterns use a variant of shell pattern matching:
* matches any number of characters (including path separator)
? matches any single character
[…] matches any single character specified (including ranges like a-z)
[!…] matches any character not specified
Meta-characters must be wrapped in brackets for a literal match.
For example, use
[?] to match the literal character
* will match all characters (including the path separator
- To exclude both the directory and its content, add the path without a trailing slash (‘/’)
- To include the folder but exclude its content, add the path with a trailing slash (‘/’)
This is same as:
Include item from excluded directory
- To include an item from an excluded directory,
prefix it with a plus sign (
For example, consider the following requirement.
Include folder A
Exclude folder A/B
Include file A/B/file.txt
Exclude all other files in A/B
In this case, the filters to add to the exclude list will look like this:
Following prefixes can be used before the path:
!) is the default prefix if no prefix is specified.
Borg will not recurse into the directory, and it will not look for matches
inside the directory.
Use the exclude prefix (
-) if you want to exclude the directory,
but also include some specific items from inside the directory.
- You can switch to a shell-style syntax by adding the prefix
Like fnmatch patterns these are similar to shell patterns.
The difference is that
* will match zero or more characters, except for the path separator (
To match all characters, use
- You can switch to a regular-expressions-style syntax by adding the prefix
Please refer the Borg documentation for more information.