Charly's Column – Rclone

Article from Issue 204/2017

Having a good backup is a matter of course for sys admin columnist Charly K¸hnast, but devices could still fall victim to fire or theft some day. Because he has enough free space on Google Drive, he doesn't need to search long for a solution. The only thing missing is the right tool.

I never wanted to have to lament lost data, which is why I have functioning backups at home. Nevertheless, having an offshore backup seemed to be a good idea in case of a chain of ridiculous circumstances (i.e., absolute disaster). As an Android user, Google gives me 15GB of disk space, which I don't currently use. But the right tool is still missing: Rclone.

Completed binary packages for Linux, Windows, Mac OS, the BSDs, Plan 9, and Solaris can be downloaded from Rclone's website [1]. If you would prefer to build your own and you have a Go compiler on your system, you can proceed with the command

go get -u -v

at the start. I launch the configuration of the storage back ends with rclone config and, with n, launch the path for New remote. I use mygdrive for the name now requested for the remote connection. Figure 1 makes it clear that there should be something for everyone in the supported storage services – even generic FTP/SFTP to set up your own backup corner on a rented server or web space.

Figure 1: Rclone helps you with all major cloud driver providers.

After choosing Google Drive and the automatic configuration, a browser opens so that I can let Rclone access my file storage on Google. This is the end of the configuration.

To check what I've saved on the remote side, the following command suffices:

rclone ls mygdrive:

The colon is mandatory. Because my drive is empty, there is no output. To test it, I copy my Apache config files into the drive:

rclone copy -L -v /etc/apache2/ mygdrive:backup

This takes a second, because Google has relatively aggressive rate limiting (about two files per second). I check straightaway whether the files have arrived in Google's web interface (Figure 2).

Figure 2: Google's web front end shows that the example files transmitted via Rclone have arrived safely.

With History

Google provides a small versioning drive. If I upload changed Apache files again, the drive recognizes this and keep both files for a maximum of 30 days or 100 changes, whichever comes first. I now use the sync sub-command instead of copy:

rclone sync -L -v /etc/apache2/ mygdrive:backup

Rclone synchronizes the local and remote pages and only copies the files that have changed. Files that you delete locally meet the same fate on Google Drive – not vice versa. Rclone cannot manage to synchronize both sides like Rsync. However, I can encrypt files for storage by choosing Encrypt/Decrypt a remote in rclone config.

Rclone is still in active development, so you can watch it closely at work.

Charly Kühnast

Charly Kühnast manages Unix systems in a data center in the Lower Rhine region of Germany. His responsibilities include ensuring the security and availability of firewalls and the DMZ.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

comments powered by Disqus

Direct Download

Read full article as PDF:

Price $2.95