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

  • Workspace – rclone

    As a simple and reliable command-line backup utility that supports popular cloud storage services, rclone makes a perfect tool for maintaining an off-site backup of your data. This article can help you to get started.

  • Google Drive File Sync with rclone
  • FOSSPicks

    Graham nearly made it through an entire month of FOSSPicks without an esoteric audio discovery. And then he found VeeSeeVSTRack.

  • Website Backup

    Shared hosting is the best way for first-time webmasters to get started. But what do you do about backup?

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More