Installation

git clone https://github.com/rclone/rclone.git
cd rclone
go build
./rclone version

Configuration

The configuration is interactive:

rclone config

The config is written to: ~/.config/rclone/rclone.conf

In the config there is a remote or multiple remotes.

Sync

Make source and dest identical, modifying destination only.

The sync can also delete files. if not wanted use copy.

The source folder must be given for the target too:

rclone sync test/ gdrive:test

List

Usefull for encrypted directories:

rclone ls secret:

List directories only:

rclone lsd gdrive:

Mount

works on all operating systems

rclone mount remote:path/to/files /path/to/local/mount

where /path/to/local/mount is an empty, existing directory

Mount runs in foreground mode by default, use the --daemon flag to specify background mode.

When running in background mode the user will have to stop the mount manually:

# Linux
fusermount -u /path/to/local/mount
# OS X
umount /path/to/local/mount

Under the hood VFS is used: Virtual File System

Limitations

Without the use of --vfs-cache-mode this can only write files sequentially, it can only seek when reading. This means that many applications won’t work with their files on an rclone mount without --vfs-cache-mode writes or --vfs-cache-mode full. See the File Caching section for more info.

Caching

--cache-dir string                   Directory rclone will use for caching.
--vfs-cache-mode CacheMode           Cache mode off|minimal|writes|full (default off)
--vfs-cache-max-age duration         Max age of objects in the cache. (default 1h0m0s)
--vfs-cache-max-size SizeSuffix      Max total size of objects in the cache. (default off)
--vfs-cache-poll-interval duration   Interval to poll the cache for stale objects. (default 1m0s)
--vfs-write-back duration            Time to writeback files after last use when using cache. (default 5s

Encryption

The crypt remote encrypts and decrypts another remote. (into a subdirectory. give: remote:path)

You can also use a local pathname instead of a remote which will encrypt and decrypt from that directory which might be useful for encrypting onto a USB stick for example.

For encryption it is used: NaCl Secretbox: XSalsa20 cipher and Poly1305 for integrity

The encryption key is generated from a passphrase. Additionally a Salt is used, so that the same input will lead to different outputs.

THe passphrase is stored in the config file only lightly obscured. So you have to use configuration encryption.