Skip to main content

grebakker

License: GPL PyPI version test Downloads Downloads Coverage Status Documentation Status Dependecies

Donate

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.

Metadata

Release files for grebakker 0.4.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for grebakker 0.4.4
File Size Uploaded
grebakker-0.4.4.tar.gz 23.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for grebakker 0.4.4
File Interpreter ABI Platform
grebakker-0.4.4-py3-none-any.whl Python 3 none any Details

Total release size: 41.6 kB

Release files / grebakker-0.4.4.tar.gz

Download URL grebakker-0.4.4.tar.gz
Size 23.1 kB
Tags Source
SHA-256 checksum
How to use checksums
08fadf2aa06eb33bedfc496ad638b5356b06ada0bc8fde670b3159cc73fa2e07
BLAKE2b-256 checksum
How to use checksums
7c5ba1f174fa8b5efccc06e3f776ca8958284aee5e1acf797aa6d56d495c8d70
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.4

Release files / grebakker-0.4.4-py3-none-any.whl

Download URL grebakker-0.4.4-py3-none-any.whl
Size 18.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4cfb585dd838eace5fffdcba50ffe9a1b93baca02f9c32cec42f866782fffa11
BLAKE2b-256 checksum
How to use checksums
7c3d3a2c610cc1518cee7e6ac22b55ea88a13fae3b697040e08d7452124807dd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.4

Release history Release notifications | RSS feed

This release

0.4.4 This release

2 release files

0.4.2

2 release files

0.4.0

2 release files

0.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page