2 releases
0.1.1 | May 28, 2023 |
---|---|
0.1.0 | Jul 20, 2022 |
#2485 in Command line utilities
42KB
767 lines
revocatio
A health monitor for your backups.
Summary
(For a detailed breakdown, consult the project wiki, but here's an overview copied from there.)
revocatio
is not a backup tool itself. It cannot and will not make backups of your computer, databases, or anything else you have running.
revocatio
is a tool to verify that your backups (written by other services) are where you expect them to be, being updated, and still valid. A common usage is to schedule it to run daily as a cron job or similar. It will then look for the backups specified in its configuration file and check a variety of criteria for each one. For example, all of the following checks are possible:
- For backups that are simply written to a file, is there a file with the correct title larger than 1 MB written within the last two days?
- For backups made with BorgBackup, is the most recent archive from within the last day? Does it pass
borg --verify-data
? - For backups of a Postgres database made with
pg_dump
, are the backups present and recent enough, and do they successfully extract withpg_restore
?
Furthermore, revocatio
can be configured to run any command--such as sending an email--when any checks fail.
To get started, run revocatio --create-config
to scaffold the default configuration. You'll need to edit the newly created file to match your setup (see the command output to find out where the file is located).
Installing
If you have a Rust toolchain installed, revocatio
can be installed with cargo:
cargo install revocatio
The current stable release is v0.1.0. Don't let the low version number scare you--revocatio
is well tested, both in its own test suite and in real world usage!
Features
revocatio
recognizes several backup formats:
- BorgBackup
- Compressed/plain files
pg_restore
dumps from a database
Other formats are planned, and patches with formats you would like to see included are welcomed! You can also request support for a new format by emailing the project discussion list.
Contributing
Please send any contributions to the project development mailing list. If you're unfamiliar with sending patches to a mailing list, check out this guide for getting started.
Also, please ensure that you run these commands before mailing the development list:
git config format.subjectPrefix 'PATCH revocatio'.
git config sendemail.to ~reesmichael1/revocatio-dev@lists.sr.ht
Resources
Documentation is available on the project wiki.
You can ask any questions you may have about the project on the general discussion mailing list.
Please file any bugs, improvements, feature/format requests, etc., on the project ticket tracker.
Dependencies
~8–19MB
~278K SLoC