Rclone

From SME Server
Jump to: navigation, search



rclone
NeedImage.svg
rclone logo
Maintainerbrianr
Urlhttps://wiki.contribs.org
LicenceGPL
CategoryCategory:cli
Tags clicentosSMEinstall
Warning.png Warning:
Only for testing purpose, please report in bugzilla

Maintainer

Brian Read

Version

Requires command level knowledge to install and run.

Description

Rclone is a program written in Go to allow local files to be saved to one of many cloud servers. It tries to emulate rsync.

Current cloud providers supported are:

   Amazon Drive
   Amazon S3
   Backblaze B2
   Box
   Ceph
   DigitalOcean Spaces
   Dreamhost
   Dropbox
   FTP
   Google Cloud Storage
   Google Drive
   HTTP
   Hubic
   Memset Memstore
   Microsoft Azure Blob Storage
   Microsoft OneDrive
   Minio
   Nextloud
   OVH
   Openstack Swift
   Oracle Cloud Storage
   Ownloud
   pCloud
   put.io
   QingStor
   Rackspace Cloud Files
   SFTP
   Wasabi
   WebDAV
   Yandex Disk
   The local filesystem

I have only tested it against Dropbox.

Installation

Rclone is made available as a statically linked executible and can be installed as follows: (https://rclone.org/install/)

curl -O https://downloads.rclone.org/rclone-current-linux-amd64.zip
unzip rclone-current-linux-amd64.zip
cd rclone-*-linux-amd64
sudo cp rclone /usr/bin/
sudo chown root:root /usr/bin/rclone
sudo chmod 755 /usr/bin/rclone

Note that this loads the 64 bit version, other versions are available.

Then you can run the configuration process:

rclone config

Choose your cloud provider and follow the instructions for a headless server.

For Dropbox I had to run rclone on a desktop with a browser, giving permission for rclone to be allowed to connect to Dropbox and then copy and paste a key string across to the smeserver.

Useage

Here is the shell script that I developed and tested to see if it would work:

!/bin/sh
signal-event pre-backup
cd /
rclone mkdir smeserver-dropbox:backup
rclone mkdir smeserver-dropbox:backup/smeserver
rclone mkdir smeserver-dropbox:backup/smeserver/etc/e-smith/templates-user-custom
rclone mkdir smeserver-dropbox:backup/smeserver/etc/e-smith/templates-custom
rclone mkdir smeserver-dropbox:backup/smeserver/home
rclone mkdir smeserver-dropbox:backup/smeserver/ssh
rclone mkdir smeserver-dropbox:backup/smeserver/root
rclone copy -v  / smeserver-dropbox:backup/smeserver --files-from backup-files-list-rclone
rclone copy -v  "etc/e-smith/templates-custom/" "smeserver-dropbox:backup/smeserver/etc/e-smith/templates-custom/"
rclone copy -v  "etc/e-smith/templates-user-custom/" "smeserver-dropbox:backup/smeserver/etc/e-smith/templates-user-custom/"
rclone copy -v  etc/ssh smeserver-dropbox:backup/smeserver/ssh
rclone copy -v  root smeserver-dropbox:backup/smeserver/root
rclone copy -v  home/e-smith/ smeserver-dropbox:backup/smeserver/home/ --exclude "tmp/**"

Incremental Backup

holk has documented a use of rclone that will give an incremental backup for up to 7 days (or whatever you might want)

See here:

https://forums.contribs.org/index.php/topic,53562.msg278216.html#msg278216

Encrypted

Rclone allows the remote data to be encrypted by specifying an intermediate remote which does the encrypting.

See here.

I have not tried this, but it looks pretty easy to add in and does not involve the SMEServer software.

Restore

I assume that you can restore by just copying the data back from the cloud provider and then doing a signal-event post-upgrade; signal-event reboot;

Uninstall

Just delete /usr/bin/rclone and the config file /root/.config/rclone/rclone.conf

Bugs

Please raise bugs under the SME-Contribs section in bugzilla and select the smeserver-rclone component or use this link


Below is an overview of the current issues for this contrib:
No open bugs found.

Changelog

Only released version in smecontrib are listed here.