greyrat's backupper for hackers
Project description
grebakker
grebakker - a backup solution for hackers (just for the acronym :-) )
Introduction
grebakker is a script that backups files and folders. grebakker uses json to define what should be backupped and how - copied or compressed. The json files can reference each other. grebakker does not need any external applications, libraries, or modules besides plain Python.
grebakker is in a very early development stage. I use it successfully, but there are different things that should be streamlined. It (currently) only supports complete backups, no incremental backups etc. I would be glad to get any feedback on or contribution to this.
Usage
Generate a backup definition of what to do in json and store it in the folder as grebakker.json
:
{
"destination": "d/",
"copy": [
"document.pdf",
"old_backups"
],
"compress": [
"repository",
{ "name": "current", "exclude": ["venv"] }
],
"subfolders": [ "attic" ]
}
Then run grebakker:
grebakker backup f:\backup\2025_05 d:\
That's all... Your files and folders are backupped to the subfolder d/
of the destination folder f:\backup\2025_05
- the file document.pdf
and the folder old_backups
are copied to the destination f:\backup\2025_05\d
, the folder repository
and current
are compressed (excluding the sub-folder venv
in current
) and stored in f:\backup\2025_05\d
as well. grebakker continues with backupping using a backup definition stored in the sub-folder attic
.
Documentation
grebakker is meant to be run on the command line. The documentation consists of a user manual and a man-page like call documentation (yet incomplete). The glossary may be of help.
If you want to contribute, you may check the API documentation or visit grebakker on github where besides the code you may find the grebakker issue tracker or discussions about grebakker.
Additional documentation includes a page with relevant links or the ChangeLog.
License
grebakker is licensed under the GPLv3.
Installation
The current version is grebakker-0.4.4.
You may install grebakker using
python -m pip install grebakker
Or download the latest release from github. You may as well clone or download the grebakker git repository. There is also a page about installing grebakker which lists further options.
Changes
grebakker-0.4.4 (05.07.2025)
- Patching tests
grebakker-0.4.2 (05.07.2025)
- Documentation corrected
Version 0.4.0 (29.06.2025)
- a maintenance version that patches the command line execution
Version 0.2.0 (24.06.2025)
- an initial version
Older versions
You may find the complete change log at the grebakker documentation pages.
Background
I backup all my projects frequently. Being bored of doing it manually, I wrote grebakker for doing it for me.
Status & Contributing
grebakker is in an early development stage. I suppose I will extend it in the future, but I am not under pressure.
Let me know if you need something by adding an issue or by dropping me a mail. I am very interested in opinions, ideas, etc.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file grebakker-0.4.4.tar.gz
.
File metadata
- Download URL: grebakker-0.4.4.tar.gz
- Upload date:
- Size: 23.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
08fadf2aa06eb33bedfc496ad638b5356b06ada0bc8fde670b3159cc73fa2e07
|
|
MD5 |
a790dabc61bd037fc80f42ecdd6a0e56
|
|
BLAKE2b-256 |
7c5ba1f174fa8b5efccc06e3f776ca8958284aee5e1acf797aa6d56d495c8d70
|
File details
Details for the file grebakker-0.4.4-py3-none-any.whl
.
File metadata
- Download URL: grebakker-0.4.4-py3-none-any.whl
- Upload date:
- Size: 18.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
4cfb585dd838eace5fffdcba50ffe9a1b93baca02f9c32cec42f866782fffa11
|
|
MD5 |
564c54d5f5e6c76545117b3fc38caf67
|
|
BLAKE2b-256 |
7c3d3a2c610cc1518cee7e6ac22b55ea88a13fae3b697040e08d7452124807dd
|