Wednesday, August 19, 2015

The Poor Man's Way to Sync Multiple Cloud Storage Services

Scenario


  1. You have multiple cloud storage services you want to keep in sync 
  2. Or you want to migrate from one service to another one, but you want to test out the new service before fully committing to it
In both situations you don't want to pay for a service online to do this for you - because why?

The possibly unsafe, but free solution

I cannot guarantee that this solution is totally safe because I haven't extensively tested it out with multiple services. I have only worked with Microsoft's OneDrive and Google's Google Drive services so far. My goal is to keep my Google Drive and OneDrive in sync because I do use both ecosystems and I cannot abandon one to go the other entirely - so I want to use both without inconvenience.

Prerequisites

This example is modeled exactly after my setup, therefore you will require the following: 
  1. Microsoft account
  2. Google account
  3. OneDrive service executable
  4. Google Drive service executable
  5. One computer that will act as an always available server

Basic idea

Before moving on to the setup, the basic idea should be explained so that we can see the big picture of what is happening here. The basic idea is to nest your service's folders one inside of the other like so:
    C:\SomeFolder\OneDrive\GoogleDrive\  

Setup

Unfortunately OneDrive's setup is far less flexible than Google Drive (I am going to call it GDrive moving forward). OneDrive requires that you be okay with not selecting the final folder in the destination path you are choosing. Therefore for this poor man hack to work, you must setup OneDrive first.

Example: C:\myProfileName\someFolder\AnotherFolder\OneDrive

The highlighted portion of the example path is non-negotiable, meaning no matter what you do, the OneDrive setup is going to create that OneDrive folder whether you want it to or not. So don't create a OneDrive folder because it will just create another one inside of it, I guarantee it.

Once you have the OneDrive setup, you can move to the GDrive setup. Luckily the GDrive setup is straight forward, you don't have to worry about the setup creating a folder for you, it let's you choose. Therefore you will put your GDrive folder inside of the OneDrive folder.

I haven't tried it, but in theory, using the same pattern described above - you can continue to setup other Cloud Storage Services and keep nesting your folders. You just have to keep in mind that your inner most folder must be where all of your files are located.

Theoretically Possible:
    C:\SomeFolder\OneDrive\SugarSync\DropBox\GoogleDrive\PutAllYourCrapHere

I happened to start using GDrive first, hence my preference to put it last.

Possible problem(s)

The only possible problem I see with this approach is collisions that may occur because of having multiple sync services watching the exact same folders. The only thing I have to say about this is I have had my folders setup now for a month and I haven't had a problem.

Update 08/30/2015
I just realized you can only do this once, there isn't a way to set this up a second time unless you want to go through the hell of deleting everything from your drives. Using the example above, the only way you can set this up a second time is to delete everything from the slave services and let them sync up with the master again. Explicitly this means delete everything from OneDrive, SugarSync and DropBox. Then setup the syncs services in the order shown above again. This IS the poorman's version.

Warning

This approach will only work if you install all of your cloud sync services on one machine only. This machine will act as your server and keep all of the services in sync. Therefore this means you cannot have these multiples services setup on your other machines. You can only have one of your services installed on other machines - you have to stick to it and not try to recreate what is on your server.

Example:
I have my desktop computer, which is always on, that has OneDrive and GDrive running on it.
I have my Nexus 4 which uses GDrive ONLY
I have my Surface Pro 2 which uses OneDrive ONLY

This setup will prevent any problems as far as I can see.

Conclusion

Don't pay for any syncing services that do exactly what I described above. There just isn't any point.