Skip to main content

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.

Metadata

Release files for sinko 0.1.0

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

Source distribution (sdist)

Source distribution for sinko 0.1.0
File Size Uploaded
sinko-0.1.0.tar.gz 9.5 kB Details

Built distribution (wheel)

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

Total release size: 21.8 kB

Release files / sinko-0.1.0.tar.gz

Download URL sinko-0.1.0.tar.gz
Size 9.5 kB
Tags Source
SHA-256 checksum
How to use checksums
de32fcfe4ea471c9469f8e80ac7e9f84c7bde00fd95e4a2cae47d8282c66f0fc
BLAKE2b-256 checksum
How to use checksums
d13ab53f2508e713fc01eff6a018ec1820474b06ce09218d414f7d88da038eae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.11

Release files / sinko-0.1.0-py3-none-any.whl

Download URL sinko-0.1.0-py3-none-any.whl
Size 12.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a650eec867a23d918655801be92769a40c7b11a0ac707dec8c0cb315cc015d4a
BLAKE2b-256 checksum
How to use checksums
ec84a595b2ffd21e18285ccc79344943433accaca30814764654746489d72802
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.11

Release history Release notifications | RSS feed

This release

0.1.0 This release

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