I discovered a tool called rClone a few months back.
It's like rsync, but your sources and destinations can be cloudy as well as local, e.g. Dropbox & Google Drive or Onedrive & Box or all-of-them and S3.
If you're not sure what rsync is, this isn't going to be for you. If however you have a large amount of data in the ‘the cloud’ and need to shift it around between providers.. then read on.
rClone supports something like 50 cloud providers and after just a small amount of inconvenience supplying it with API keys you can quite quickly start using it to talk to them.
I started playing with rClone when I was looking for a way to back some data up, but this evening, I had a slightly different need.
I wanted to migrate over 900GB of data from one service to another. I was dreading doing this (again! fml!) over my home broadband, which is a 4G affair, when it struck me that rClone could probably help.
15 minutes later, I had a Digitalocean VM running with rClone installed and had configured both Dropbox and Google Drive as sources.
bash> rclone sync -vv dropbox: googledrive:
Then with this single command, all my data begain hairpining through this VM at something averaging 400+Mbs without coming anywhere near my home network.
When it was finished, I killed the VM. Total cost of about 12h usage which is about 14p. This would have taken me all week to manage properly at home.
The end result, was 900GB of data pinged over to Google from Dropbox cheaply, very very quickly and securely.
If you're looking to move between cloudy providers, I highly recommend it. rClone for the win.
and no, sorry, iCloud Drive isn’t supported, because.. well.. Apple just aren’t very good at that stuff are they.