Skip to main content

A flexible backup tool supporting local and remote backups using rsync and SSH

Project description

Sinko Backup Tool

Sinko is a flexible backup tool that supports both local and remote backups using rsync and SSH.

SINKO is a lightweight, open-source file backup tool designed with simplicity in mind. Inspired by the functionality of rsync, SINKO streamlines the process of synchronizing and backing up files across directories and systems. By focusing on the essential features you need to keep your files secure, SINKO eliminates the complexity often associated with robust backup tools. This straightforward approach makes SINKO an accessible solution for users of all skill levels, allowing you to safeguard your valuable data without getting bogged down in intricate configurations.

Features

  • Local backups using rsync
  • Remote backups using SSH
  • Configuration using a config file
  • Command-line interface
  • Extremely easy to use

Installation

  1. Clone the repository:

    git clone https://github.com/yourusername/sinko.git
    cd sinko
    
  2. Install the required dependencies:

    pip install -r requirements.txt
    

Usage

To use Sinko, you need to create an EDN configuration file (e.g., sinko.conf.edn) with the following structure:

{:source ["/path/to/file1.txt"
         "/path/to/file2.txt"
         "/path/to/directory/file3.txt"]
 :destination "/path/to/backup/directory"}

Then, you can run the backup tool using the following command:

python -m source.main --sinko-conf /path/to/sinko.conf.edn

You can specify additional source files/directories via command line in two ways:

  1. Multiple --source options:
python -m source.main --sinko-conf /path/to/sinko.conf.edn --source /extra/file1.txt --source /extra/dir2
  1. Colon-delimited paths in a single --source option:
python -m source.main --sinko-conf /path/to/sinko.conf.edn --source "/extra/file1.txt:/extra/dir2:/extra/file3.txt"

The final backup source list will be a combination of sources from both the config file and command line options. When using colon-delimited paths, make sure to properly quote the argument if it contains special characters.

For the destination directory, the CLI option takes precedence over the config file if both are specified. You can override the destination directory from the config file using the --destination option:

python -m source.main --sinko-conf /path/to/sinko.conf.edn --destination /new/backup/path

Note that all CLI options except --source must be provided at most once. The following options cannot be duplicated:

  • --sinko-conf
  • --destination
  • --remote
  • --log-level

For remote backups, add the --remote flag:

python -m source.main --remote --sinko-conf /path/to/sinko.conf.edn

Testing

To run the tests, use the following command:

pytest

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License.

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

sinko-0.1.0.tar.gz (9.5 kB view details)

Uploaded Source

Built Distribution

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

sinko-0.1.0-py3-none-any.whl (12.2 kB view details)

Uploaded Python 3

File details

Details for the file sinko-0.1.0.tar.gz.

File metadata

  • Download URL: sinko-0.1.0.tar.gz
  • Upload date:
  • Size: 9.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.11

File hashes

Hashes for sinko-0.1.0.tar.gz
Algorithm Hash digest
SHA256 de32fcfe4ea471c9469f8e80ac7e9f84c7bde00fd95e4a2cae47d8282c66f0fc
MD5 3856fed6eef86af863bf88fcd3a52524
BLAKE2b-256 d13ab53f2508e713fc01eff6a018ec1820474b06ce09218d414f7d88da038eae

See more details on using hashes here.

File details

Details for the file sinko-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: sinko-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 12.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.11

File hashes

Hashes for sinko-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a650eec867a23d918655801be92769a40c7b11a0ac707dec8c0cb315cc015d4a
MD5 356186255fb9ace1f9000fedf4e5b637
BLAKE2b-256 ec84a595b2ffd21e18285ccc79344943433accaca30814764654746489d72802

See more details on using hashes here.

Supported by

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