Other

RClone - RSync for Cloud Services

What is RClone

RClone is a command line program that syncs files and directories to and from a handful of cloud services.

Supported services
  • Amazon Drive
  • Amazon S3
  • Backblaze B2
  • Box
  • Ceph
  • Dreamhost
  • Dropbox
  • FTP
  • Google Cloud Storage
  • Google Drive
  • HTTP
  • Hubic
  • Memset Memstore
  • Microsoft Azure Blob Storage
  • Microsoft OneDrive
  • Minio
  • OVH
  • Openstack Swift
  • Oracle Cloud Storage
  • QingStor
  • Rackspace Cloud Files
  • SFTP
  • Wasabi
  • Yandex Disk
  • The local filesystem
Features
  • MD5/SHA1 hashes checked at all times for file integrity
  • Timestamps preserved on files
  • Partial syncs supported on a whole file basis
  • Copy mode to just copy new/changed files
  • Sync (one way) mode to make a directory identical
  • Check mode to check for file hash equality
  • Can sync to and from network, eg two different cloud accounts
  • Optional encryption (Crypt)
  • Optional FUSE mount (rclone mount)
Plataforms
  • Windows
  • OSX
  • Linux
  • FreeBSD
  • NetBSD
  • OpenBSD
  • Plan 9
  • Solaris

OS X Install

From pre-compiled binaries

Download the latest version of rclone.

cd && curl -O https://downloads.rclone.org/rclone-current-osx-amd64.zip

Unzip the download and cd to the extracted folder.

unzip -a rclone-current-osx-amd64.zip && cd rclone-*-osx-amd64

Move rclone to your $PATH. You will be prompted for your password.

sudo mkdir -p /usr/local/bin
sudo mv rclone /usr/local/bin/

(the mkdir command is safe to run, even if the directory already exists).

Remove the leftover files.

cd .. && rm -rf rclone-*-osx-amd64 rclone-current-osx-amd64.zip
From brew

You can install rclone from brew.

First update brew package definition

brew update

Then install it

brew install rclone

Linux Install

From pre-compiled binaries

Fetch and unpack

curl -O https://downloads.rclone.org/rclone-current-linux-amd64.zip

unzip rclone-current-linux-amd64.zip

cd rclone-*-linux-amd64

Copy binary file

sudo cp rclone /usr/bin/

sudo chown root:root /usr/bin/rclone

sudo chmod 755 /usr/bin/rclone

Install manpage

sudo mkdir -p /usr/local/share/man/man1

sudo cp rclone.1 /usr/local/share/man/man1/

sudo mandb
From your package manager

This varies from Linux to Linux. I am sure your major Linux distro has this package in it. Search and install it using the package manager's proper command for your distro.

Configure RClone

It is quite simple to setup. You can setup multiple accounts from many different services.

To start the setup type:

rclone config

Follow the on screen menus. Also be sure to read the online documentation here:

https://rclone.org/docs/

Example of Google Drive Setup

Bwloe is an example of rclone configuration and use. I needed to copy files from an External drive to a Google Drive, and Google's drive client was not letting me, because the drive is a NTFS external volume. RClone to the rescue!

The last command is the copy command. Copying the local folder Documents to the Backup folder in the cloud drive.

Piece of cake, and fast too!

You can have as many as these "remotes" as you wish. Each "remote" is a service account.

 aegon [~] $  rclone config
2017/12/12 12:24:19 NOTICE: Config file "/Users/aegon/.config/rclone/rclone.conf" not found - using defaults
No remotes found - make a new one
n) New remote
s) Set configuration password
q) Quit config
n/s/q> n

name> Remote
Type of storage to configure.
Choose a number from below, or type in your own value
 1 / Amazon Drive
 2 / Amazon S3 (also Dreamhost, Ceph, Minio)
 3 / Backblaze B2
 4 / Box
 5 / Dropbox
 6 / Encrypt/Decrypt a remote
 7 / FTP Connection
 8 / Google Cloud Storage (this is not Google Drive)
 9 / Google Drive
10 / Hubic
11 / Local Disk
12 / Microsoft Azure Blob Storage
13 / Microsoft OneDrive
14 / Openstack Swift (Rackspace Cloud Files, Memset Memstore, OVH)
15 / QingClound Object Storage
16 / SSH/SFTP Connection
17 / Yandex Disk
18 / http Connection

Storage> 9

Google Application Client Id - leave blank normally.
client_id> 
Google Application Client Secret - leave blank normally.
client_secret>

Remote config
Use auto config?
 * Say Y if not sure
 * Say N if you are working on a remote or headless machine or Y didn't work
y) Yes
n) No
y/n> Y

If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
Log in and authorize rclone for access
Waiting for code...
Got code
Configure this as a team drive?
y) Yes
n) No
y/n> N

--------------------
[Remote]
client_id = 
client_secret = 
token = {"access_token":"Za22.GlsgBAObc_C34djZZJkGXHMqck-pwFwzpFPFqh0JX-AN1tHfWlJhre7Af3LReJsUe1cJVdCfpbssjbSaGPzEmL4LqIz4YmllthhN4hof7GIkASA4reNzsYqxNhQK","token_type":"Bearer","refresh_token":"1/QWax9ulZV6OAjFiOGF1nM6jkf2OKuvgTt2BUf5W98vtYS3CFTcFAtwQ93guwm8B-","expiry":"2017-12-12T13:26:16.811362337-02:00"}
--------------------
y) Yes this is OK
e) Edit this remote
d) Delete this remote
y/e/d> y

Current remotes:

Name                 Type
====                 ====
Remote               drive

e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
e/n/d/r/c/s/q> q

 aegon [~] $  rclone copy /Volumes/Untitled/Documents Remote:Backup

And just like that I've copied 80GB of data from an External Volume (whatever the filesystem is) to Google Drive's online storage.

The app is quite light too, it does not "fry" the CPU as Google's sync app or Dropbox's sync app do. I believe it is faster too.

Homepage: https://rclone.org

Documentation: https://rclone.org/docs/

Downloads: https://rclone.org/downloads/

Wiki: https://github.com/ncw/rclone/wiki

Forums: https://forum.rclone.org/

Github Project: https://github.com/ncw/rclone