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
-
Clone the repository:
git clone https://github.com/yourusername/sinko.git cd sinko -
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:
- Multiple --source options:
python -m source.main --sinko-conf /path/to/sinko.conf.edn --source /extra/file1.txt --source /extra/dir2
- 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
de32fcfe4ea471c9469f8e80ac7e9f84c7bde00fd95e4a2cae47d8282c66f0fc
|
|
| MD5 |
3856fed6eef86af863bf88fcd3a52524
|
|
| BLAKE2b-256 |
d13ab53f2508e713fc01eff6a018ec1820474b06ce09218d414f7d88da038eae
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a650eec867a23d918655801be92769a40c7b11a0ac707dec8c0cb315cc015d4a
|
|
| MD5 |
356186255fb9ace1f9000fedf4e5b637
|
|
| BLAKE2b-256 |
ec84a595b2ffd21e18285ccc79344943433accaca30814764654746489d72802
|