https://github.com/vcputtini/l1borg
l1borg is a utility designed to solve some of my needs for automating the use of BorgBackup. The l1borg load the settings for the backup running from the XML file l1borg.xml, and run the BorgBackup with the necessary parameters, in addition to being able to execute the native BorgBackup commands like: list, info, mount and so on.
https://github.com/vcputtini/l1borg
backup borg borgbackup cpp cpp17
Last synced: 10 months ago
JSON representation
l1borg is a utility designed to solve some of my needs for automating the use of BorgBackup. The l1borg load the settings for the backup running from the XML file l1borg.xml, and run the BorgBackup with the necessary parameters, in addition to being able to execute the native BorgBackup commands like: list, info, mount and so on.
- Host: GitHub
- URL: https://github.com/vcputtini/l1borg
- Owner: vcputtini
- Created: 2021-03-12T17:57:39.000Z (about 5 years ago)
- Default Branch: main
- Last Pushed: 2021-04-07T13:11:51.000Z (about 5 years ago)
- Last Synced: 2025-03-15T20:30:29.515Z (about 1 year ago)
- Topics: backup, borg, borgbackup, cpp, cpp17
- Language: C++
- Homepage:
- Size: 82 KB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## l1borg
The [1]BorgBackup is an amazing program to backup both local and remote using deduplication techniques. It is very simple to use and its features allow us to create scripts to customize and automate your operation.
l1borg is a utility designed to solve some of my needs for automating the use of BorgBackup.
The l1borg load the settings for the backup running from the XML file l1borg.xml, and run the BorgBackup with the necessary parameters.
l1borg doesn't handle remote repositories, but only local.
At thist time, I don't really intend to make it a utility with many functions, and its evolution is linked to my usage needs, but feel free to use it as a starting point for a fork or new ideas.
l1borg was coded entirely in C++. As I consider QtCreator(tm) to be an excellent development environment, I use it for my projects, even if these don't directly involve using the Qt(tm) tools.
### Dependencies for compilation:
gcc/g++ which meets the c++17
Libs: tinyxml2 and Boost
### My environment
Fedora 33
gcc (GCC) 10.2.1 20201125
QtCreator 4.14 (Qt 5.15.2)
cmake version 3.18.4
Boost 1.73
tinyxml2-7.0.1-5
### Flowchart

### Usage
__l1borg__ --help
Valid options are:
--init-repo : Initialize all repositories.
--make-backup : Make backup.
--cmd : Execute a BorgBackup command.
Double quotes are mandatory:
e.g.: l1borg --cmd info PATH/REPONAME --prefix=srv1
(the _--list_, _--info_, _--diff_ and _[u]mount_ commands are only simplifications of analogous commands in BorgBackup.)
--info : all | REPONAME[::FILENAME]
NOTE: Enter only the repository name without the path: e.g: --info R1 | --info R1::archive
--list : all | REPONAME[::FILENAME]"
NOTE: Enter only the repository name without the path: e.g: --list R1 | --list R1::archive
--diff : REPONAME::ARCHIVE1 ARCHIVE2
NOTE: Enter only the repository name without the path
--[u]mount : Mount/umount an archive from a repository
--mount R1::ARCHIVE MOUNTPOINT
--umount MOUNTPOINT"
__l1borg.xml__ Sample: See docs/l1borg.xml
## References
[1] BorgBackup
Copyright (C) 2015-2020 The Borg Collective
Copyright (C) 2010-2014 Jonas Borgström
All rights reserved.