Skip to main content

greyrat's backupper for hackers

Project description

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.

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

grebakker-0.4.4.tar.gz (23.1 kB view details)

Uploaded Source

Built Distribution

grebakker-0.4.4-py3-none-any.whl (18.5 kB view details)

Uploaded Python 3

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

Hashes for grebakker-0.4.4.tar.gz
Algorithm Hash digest
SHA256 08fadf2aa06eb33bedfc496ad638b5356b06ada0bc8fde670b3159cc73fa2e07
MD5 a790dabc61bd037fc80f42ecdd6a0e56
BLAKE2b-256 7c5ba1f174fa8b5efccc06e3f776ca8958284aee5e1acf797aa6d56d495c8d70

See more details on using hashes here.

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

Hashes for grebakker-0.4.4-py3-none-any.whl
Algorithm Hash digest
SHA256 4cfb585dd838eace5fffdcba50ffe9a1b93baca02f9c32cec42f866782fffa11
MD5 564c54d5f5e6c76545117b3fc38caf67
BLAKE2b-256 7c3d3a2c610cc1518cee7e6ac22b55ea88a13fae3b697040e08d7452124807dd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page