Skip to main content

A simple backup solution that's light and portable

Project description

Simbak

For a detailed outline of simbak, visit the wiki.

Simbak is a simple backup solution that is aimed towards individuals who just want a quick and easy way to backup their files. Backups are stored as tar.gz files, so there is no dependence on any application to restore your backups.

Benefits of simbak

  • Simbak uses tar and gzip in order to store the backups, so that recovering the data in backups does not depend on simbak itself.
  • Simbak is also very light, portable, and very easy to use, meaning that there's no large application to install.
  • It's free and open source, meaning anyone can contribute or change simbak to meet their own needs.

Getting started

Installation

To install simbak you can simply use pip.

$ pip install simbak

Using simbak

Important things to know

In order to avoid any issues with backing up, you should manually create your destination paths. This will ensure the confidence in the backup working. The same goes for the logging path, if you want to save the logs to a file, make sure the directory where the log file will be stored in is already created.

Terminal

You can use simbak in many ways, the fastest way would be to use the simbak command in the terminal directly, this will perform a normal backup, use $ simbak --help to see your options.

$ simbak [...]

You can also use the simbak module itself through the python executable.

$ python3 -m simbak [...]

Python script

You can use simbak within your own python code, and you can make python scripts to use simbak (a python script can be prettier than shell script).

import simbak

# This will perform a normal backup.
simbak.backup(...)

If you want a quick way to enable file logging, you can set the directory for where the logs will be stored using the set_file_logger() function. Alternatively you can use the python logging library for complete custom control over logging, but it will require more setup.

import simbak
from simbak.logging import set_file_logger

# Will put the simbak logs into this directory.
set_file_logger('/home/logs/backup-logs/')
simbak.backup(...)

Example usages

Each of these examples will achieve the same reults. They will create a backup of /home/projects/my_project/ and /home/docs/important.txt and it will store the backup in /remote/backups and /local/backups. The backup will be a tar.gz file and it will have the name of important--YYYY-MM-DD--hh-mm-ss, the time is stamped at the end of the backup to ensure the file is unique and not conflicting with other backups.

Python script example

# backup.py

import simbak

simbak.backup(
    sources=[
        "/home/projects/my_project/",
        "/home/docs/important.txt",
    ],
    destinations=[
        "/local/backups/",
        "/remote/backups/",
    ],
    name="important"
)

You can then run this script through the terminal using $ python3 backup.py.

Bash script example

Note: I am using a backslash at the end of each line in order to have a command spread across multiple lines, this helps readability.

# backup.bash

simbak \
    --source \
        "/home/projects/my_project/" \
        "/home/docs/important.txt" \
    --destination \
        "/local/backups/" \
        "/remote/backups/" \
    --name "important"

Terminal example

Using simbak directly in the terminal isn't recommended unless you are backing up one directory or file to one location for a one time occurrence, as you can see the lines can get quite long.

$ simbak -s "/home/projects/my_project/" "/home/docs/important.txt" \
> -d "/local/backups/" "/remote/backups/" \
> --name "important"

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

simbak-0.4.2.tar.gz (9.8 kB view details)

Uploaded Source

Built Distribution

simbak-0.4.2-py3-none-any.whl (11.5 kB view details)

Uploaded Python 3

File details

Details for the file simbak-0.4.2.tar.gz.

File metadata

  • Download URL: simbak-0.4.2.tar.gz
  • Upload date:
  • Size: 9.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.9.1

File hashes

Hashes for simbak-0.4.2.tar.gz
Algorithm Hash digest
SHA256 7987ae88f0d5269d1179365adf953e27d7efeb046b8e0b0aacedb05863bf3ef8
MD5 e93b34bce0bbb37f174966149122bbc7
BLAKE2b-256 18271af6b970c505ddb7df469c2de739a1f63d76c07a1a71b83fa7a27f9ac89c

See more details on using hashes here.

File details

Details for the file simbak-0.4.2-py3-none-any.whl.

File metadata

  • Download URL: simbak-0.4.2-py3-none-any.whl
  • Upload date:
  • Size: 11.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.9.1

File hashes

Hashes for simbak-0.4.2-py3-none-any.whl
Algorithm Hash digest
SHA256 958b2c631664490da4190ae58f98af402531916bca1fe0ac68eba1e4e3a2308f
MD5 5aa94a476b99105b2cf038fac7ee8357
BLAKE2b-256 d9e5d43c8c710b6117e1b7cccb1c6641a644a534e2affc14bdb06eecac9c01f1

See more details on using hashes here.

Supported by

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