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:
python src\grebakker.py 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.
Installation
You may install the latest release using pip:
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.
License
grebakker is licensed under the GPLv3.
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.
- Introduction
- Usage
- Documentation
- Installation
- License
- Background
- Status & Contributing
Table of contents