Rclone
rclone logo | |
Maintainer | brianr |
---|---|
Url | https://wiki.contribs.org |
Licence | GPL |
Category | |
Tags | cli, centos, SME, install |
Maintainer
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.
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:
Changelog
Only released version in smecontrib are listed here.