Skip to main content

Tests codecov

ezbak

ezbak is a backup manager. It creates, prunes, and restores compressed archives of files and directories on the local filesystem, in AWS S3, or both, with regex file filtering, count-based and time-based retention, and point-in-time restore. It was written primarily to move shared state between jobs and hosts in an orchestrated environment like Nomad or Kubernetes. In that setting the Docker container is the main way to run it; a Python package and a command-line tool run the same backups from your own code or a shell.

ezbak is a small, focused backup manager. It does not aim to replace restic, borg, or a full backup system.

Documentation

Full documentation lives at natelandau.github.io/ezbak:

Install

uv add ezbak            # Python package
uv tool install ezbak   # command-line tool
docker pull ghcr.io/natelandau/ezbak:latest   # container

ezbak requires Python 3.11 or higher.

Quickstart

Each interface runs the same backup. Every example below writes a my-backup-<timestamp>.tgz archive to the storage location.

Python:

from ezbak import ezbak

backups = ezbak(name="my-backup", source_paths=["/data"], storage_paths=["/backups"], keep_last=7)
backups.create_backup()
backups.restore_backup(restore_path="/restore")

Command line:

ezbak --name my-backup --storage ~/Backups create --source ~/Documents

Container:

docker run -it \
    -v /path/to/source:/source:ro \
    -v /path/to/backups:/backups \
    -e EZBAK_ACTION=backup \
    -e EZBAK_NAME=my-backup \
    -e EZBAK_SOURCE_PATHS=/source \
    -e EZBAK_STORAGE_PATHS=/backups \
    -e EZBAK_KEEP_LAST=7 \
    ghcr.io/natelandau/ezbak:latest

See the quickstart for listing and restoring across all three.

Contributing

See CONTRIBUTING.md.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ezbak-1.3.0.tar.gz (51.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ezbak-1.3.0-py3-none-any.whl (62.2 kB view details)

Uploaded Python 3

File details

Details for the file ezbak-1.3.0.tar.gz.

File metadata

  • Download URL: ezbak-1.3.0.tar.gz
  • Upload date:
  • Size: 51.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.14

File hashes

Hashes for ezbak-1.3.0.tar.gz
Algorithm Hash digest
SHA256 ad3bc150ab93007da1952ce0a422a6b75c0df8b1283712fc3b50d89e2c08514b
MD5 8c38981c5f70d326fea45b810d6d4f2f
BLAKE2b-256 2d4f0397baeaad90aa5c37f3ca06ceb75cff9a51e0decc5608b9375ea6a70336

See more details on using hashes here.

File details

Details for the file ezbak-1.3.0-py3-none-any.whl.

File metadata

  • Download URL: ezbak-1.3.0-py3-none-any.whl
  • Upload date:
  • Size: 62.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.14

File hashes

Hashes for ezbak-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 10e84c829f6222695ce5e4cdd7cda68905e031e8ee62ec9e089f6cb3b80630ec
MD5 e62ec89af5bb2d4fc2e1168b4128b9da
BLAKE2b-256 cc708f8122917769829aa29b8ae0f914d82eefebc482eb3f041d7f0870ba0fef

See more details on using hashes here.

Release history Release notifications | RSS feed

1.5.1

2 files

1.5.0

2 files

1.4.0

2 files

1.3.1

2 files

This release

1.3.0 This release

2 files

1.2.1

2 files

1.2.0

2 files

1.1.0

2 files

1.0.1

2 files

1.0.0

2 files

0.12.4

2 files

0.12.3

2 files

0.12.2

2 files

0.12.1

2 files

0.12.0

2 files

0.11.6

2 files

0.11.4

2 files

0.11.3

2 files

0.11.2

2 files

0.11.1

2 files

0.10.2

2 files

0.10.0

2 files

0.9.0

2 files

0.8.3

2 files

0.8.2

2 files

0.8.1

2 files

0.8.0

2 files

0.7.0

2 files

0.6.3

2 files

0.6.2

2 files

0.6.1

2 files

0.6.0

2 files

0.5.0

2 files

0.4.0

2 files

0.3.0

2 files

0.2.1

2 files

0.2.0

2 files

Supported by

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