Monday, January 27, 2014

Nested Cloud Storage and NTFS Symbolic Link

Having a bunch of free cloud storage from the likes of Google Drive, SkyDrive, Dropbox, Box.com and many others, you could embark on a synchronization strategy to back up to your precious files up in the cloud and even give you a convenience or two.

Scrounging around the internet I found you could do some rather interesting sync and backup using the cloud storage on offer.

As of this writing, I have:

Google Drive = 15GB variable with email storage
SkyDrive = 7GB plus a free 1 year 20GB storage for being a Windows Phone user
DropBox = 2GB, can be bump up by doing various task, and recently a link from my mobile Samsung Note 2 gave me a bonus 48GB storage for two years!
Box.com = 10GB
Ubuntu One = 5GB
Amazon = 5GB
Apple iCloud = 5GB


From the above list, the top end for fast syncing back up and versatility goes to Google Drive, SkyDrive and Dropbox. Amazon and Apple iCloud are not very useful for file backup, though Amazon promotes it as a way to store your MP3 purchases and to stream your music purchases. How they stream is a mystery to me as their server is very slow. Same goes with Apple iCloud, another hopeless online cloud storage.

As for Ubuntu One, I use it to automatically back up my wife's iPhone 5 photos since it wasn't one of the prohibitive apps that her bank disallowed her to use. Actually her bank disallowed her company phone to install any cloud storage especially apps with the word "cloud" and uses an in-house app to check her phone security. Since Ubuntu One was not barred for use, well may as well use it to back up her photos that she takes, automatically.

However Ubuntu One desktop app currently is not versatile enough as I could not changed the desktop storage folder location. So it will just be for iPhone photo back up for now.

Nested Cloud Storage Idea


Here's an interesting idea that I came across, instead of installing each cloud storage separately how about nesting them? That way, the same file or folder could be backed up to separate cloud storage.

Nested Cloud Storage Idea using Skydrive, Google Drive, Dropbox, etcI decided to give that a try by using Box.com residing inside a SkyDrive folder. I could nest more, but it would probably get too complicated. Besides, having too many active desktop cloud storage app would slow down your PC, and I'm suffering from that now, will have to redo my project.

Changing the Box.com default folder location was a little tricky and requires editing its Registration keys in Windows. You can find more info in the Box.com website if you plan to use Box.com.

Technically you should nest the small capacity cloud storage service into a bigger cloud storage service, eg 2+GB Dropbox nested within 7GB Skydrive and nesting it further to 15GB Google Drive. That way the smaller size cloud storage won't spill over on the quota imposed. However in my case, there were many special offerings from each service and there were expiry on the services so it was difficult to judge who should sit inside who. Besides I am just using to store document files mostly, though number in the thousands, didn't take up that large a space.

My initial testing with a few files with Box.com nested within SkyDrive went rather smoothly. However when I threw in thousands of files, that's when I noticed Box.com just couldn't cope with the huge amount of files for synchronization. Looks like I will have to scrap using Box.com for large quantity of files sync and back up. It's probably suitable for small number of files, but I wonder what would happen if the number of files became very huge. Would it still function well?

So the conclusion, if you want to nest your desktop cloud storage folder, you can, but make sure you choose the service that have a speedy upload/download link such as Google Drive, SkyDrive and Dropbox or it is going to be a drag waiting for the thousands of files uploading, downloading while syncing.

Using NTFS Symbolic Link for folder


Another interesting option is to have your files sync up to various cloud storage is to use the NTFS Symbolic Link. Symbolic in NTFS are similar to Unix and Linux file / folder symbolic link. When you link a file or folder to another file or folder symbolically, the attributes of the file or folder is shared to the link, while not taking up any physical storage (except for the link file itself). After all they point to the same file or folder.

So instead of nesting the cloud storage folder, you could link some specific files that you want the various cloud services to synchronize.

For my project, I only want to link the folder within the folder of say SkyDrive and Dropbox. So whatever files I added or modified in SkyDrive or vice versa, would be instantaneously updated in the link folder. Well it is the same files anyway.

Creating the link requires using DOS command line, and you will need to fire up cmd.exe plus some line commands to get it done. The command to use was mkdir, but somehow I didn't have enough privilege to use it despite being the administrator. Digging around, I found a nifty little program from flexhex.com which I could use to quickly link a folder to another target folder location.

I didn't want to link my entire SkyDrive or Dropbox folder together, just some specific folders so this symbolic linking of NTFS folder seemed like a good fit. You also don't need to decide who should sit inside who, however you do need to know which desktop app should hold the original folder as the main sync / backup cloud service as there is some limitation when using NTFS symbolic folder linking.

Initially I made Dropbox as main, but decided to let my SkyDrive be the main folder. Though Dropbox has fast upload/download sync speed but still no where as fast as SkyDrive. So SkyDrive will have to be the main file holder.

There's another drawback to using symbolic link. Though the files can be instantaneously access from the symbolic linked folder, the cloud service do not detect the changes in the files or folders until the next PC boot up. If you can live with the delay of sync / back up onto the next boot cycle, then this technique of using various cloud storage service for back up could be a good option to try.

So my final set up


Actually nested cloud storage is quite a good idea as is simpler to set up, but you need to choose a speedy cloud storage service. As for using NTFS symbolic link folder, if you don't mind the delay on the detection of files folders modification which then cycle to the next PC boot up for synchronization back up, this project idea could still be viable.

As for me, the thousand of files requiring hours of uploading backup meant that I will stay on with the NFTS symbolic folder link for now.





No comments: