A simple command line wrapper for rclone focused on easy folder syncing
Project description
rcl - A simple command line wrapper for rclone.
rcl is a simple command line wrapper for rclone focused on easy folder syncing. It is loosely based on git's interface and therefore uses the concepts of "local" and "remote" along with having commands such as pull, push and diff.
Feel free to raise any issues, suggest improvements and features or fork and contribute.
Requirements
rcl only acts as a wrapper around rclone, you therefore must first install and configure rclone and ensure that it is properly accessible on your PATH.
Installation
rcl is available on PyPI and can be installed by running pip install rcl.
Note: It is possible that pip will warn you that the install location is not on your$PATH. If so, rcl may not be found until you add the directory shown in the warning to your $PATH.
Usage
To use rcl you add entries which consist of local/remote folder pairs. You can then interact with these entries like they're a connected system.
The folder values you add to entries will directly match what rclone uses and should conform to rclone's interface of:
- Local Folder:
/local/path/to/folder - Remote Folder:
remote:path/to/folder
Commands
| Command | Explanation |
|---|---|
rcl / rcl --help |
Outputs the help and a list of commands. |
rcl add <entry_id> <local_folder> <remote_folder> |
Add a new entry, identified by <entry_id>. |
rcl diff <entry_id> |
Show the difference between the local and remote folder. |
rcl list |
List all entries. |
rcl pull <entry_id> [--dry] |
Pull remote changes to your local. (Sync local to match remote). |
rcl push <entry_id> [--dry] |
Push local changes to the remote. (Sync remote to match local). |
rcl rm <entry_id> |
Remove an entry. |
Examples
| Example | Explanation |
|---|---|
rcl add music /home/user/Music gdrive:Music |
Add a new "music" entry linking the default Linux Music folder with a top-level "Music" folder in a remote called "gdrive". |
rcl push music |
Push local changes to the remote. (Sync remote with local). |
rcl pull music |
Pull remote changes to your local. (Sync local with remote). |
rcl rm music |
Remove the "music" entry. |
Notes
pushandpullcan both be run with the--dryflag which will add--dry-runto the rclone command.pushandpullautomatically add the--progressflag to the rclone command.rclcan be run from any directory as it will always run rclone using the local/remote folders from the entry specified.
Current Limitations
- Opinionated - This wrapper offers a simple interface for specific aspects of syncing I use.
- Manual External Setup - rclone still has to be setup externally prior to use.
- No Input vAl1dation - None of the values supplied to the
addcommand are validated in any way. - Error Handling - There is some python error handling on
rcl rmbut nothing protecting against invalid inputs torcl addor rclone errors.
License
rcl is release under the GNU GPLv3 license so you can use and adapt as you wish.
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
File details
Details for the file rcl-0.1.2.tar.gz.
File metadata
- Download URL: rcl-0.1.2.tar.gz
- Upload date:
- Size: 4.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/44.1.1 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/2.7.17
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cf74f2cf6959049994d549e3cd04dbc8aa3b223284958ac5b8c4b0d1df3acd1f
|
|
| MD5 |
b2b68ecbdde78646997f60748c494267
|
|
| BLAKE2b-256 |
6a9b2540e1b62452b86706c1828804d170d1ed20b427de387bf3e10021cdaa69
|