My wife and I were 2 days into a relaxing vacation for my 40th birthday. We were getting ready to hike Zion National Park, checking our camera bags, dusting off our hiking boots and cooking a nice spread of scrambled eggs, toast, and oatmeal. I decided to check my email before heading off the grid and a particular email from Dropbox scared me.
Allow me to paraphrase the email:
Hey, we’re turning symlink support off. We’ll go ahead and replace any symlink’d files you had with an actual symlink. You’re welcome. We don’t really know when we’ll do this, maybe we’ve already done it. ¯\_(ツ)_/¯. The reasoning behind this painstakingly researched decision is as follows: we felt like it.Dropbox Email
I humorously jest, but my reaction at the time was anything but humorous. They specifically used the word “Replace” in the email to describe the change. Since Replace is Delete followed by Save, I became worried that they were going to, for instance, replace a 10 MB raw file with a 1 kb symlink to the raw file.
Why Symlinks Were Useful
The root problem here is that the Dropbox client only allows you to backup a single root folder, the Dropbox folder. So if you want to store 2 TB of data on Dropbox, you need your Dropbox folder on a 2 TB disk.
Like many home servers, mine has a mish-mash of storage. A 500 GB SSD for the OS and a bunch of cheap and slow 1 TB drives for all the data. I used symlinks to allow Dropbox to backup folders that were on other disks. Disks that were larger than the disk where my Dropbox folder lived.
The Fallout – Do I Need Dropbox?
The first indicator that the change had taken effect was that my 500 GB SSD was full. The dropbox client made a copy of every symlink’d folder but with a new name and then attempted to download them in their entirety, obviously failing once my disk ran out of space.
Apart from this, the change went off without any losses, with the exception of my personal time. The search for a Dropbox replacement began.
What Do I Actually Need?
I determined that my needs were as follows:
- Satisfy the rule of three – 3 total backups, 2 local, 1 off-site
- Ability to share large files & folders with customers
- A linux client that can run on the command line
None of these requirements are unique to Dropbox, although #3 seems to be a trickier prospect than I had imagined. This led me to the next question.
Where Is Dropbox as a Product Headed?
I read the most recent 10-K filing from Dropbox. I had always imagined Dropbox as simple cloud storage, but their big goal is “Creating a new way of working”. They want to be a smart workspace, like Slack but with more features and sharing and collaboration. When Dropbox Paper first came out, it felt like an odd thing for a cloud storage company to create. But in the context of a smart workspace, it tracks.
The 10-K filing has a section on Risk Factors where they list possible ways that the Dropbox business could go down the toilet. From this list, I found the following items particularly relevant to this situation:
We may not be able to respond to rapid technological changes, extend our platform, or develop new features or products.
Any failure to offer high-quality customer support may harm our relationships with our users and our financial results.
Our business depends on a strong brand, and if we are not able to maintain and enhance our brand, our ability to expand our base of users will be impaired and our business, results of operations, and financial condition will be harmed.
Our ability to sell subscriptions to our platform could be harmed by real or perceived material defects or errors in our platform.Dropbox 10-K for fiscal year ended December 31, 2018
So you could almost say that this situation was predicted by Dropbox. Dropbox made a change that was communicated very poorly and implemented on an unknown timeline. This created distrust of their brand.
I’m sure the percentage of users negatively affected by this is so small that it will go unnoticed. The main takeaway for me is that I am looking for simple cloud storage with a good linux client and Dropbox is headed in a different direction. That direction isn’t bad, it’s just not what brought me to Dropbox and isn’t something that interests me with the feature set available at present.
I considered local sync solutions like SyncThing and Reslio. I considered pure backup solutions like Backblaze, iDrive and Crashplan. Sync + Backup solutions like pCloud. I also looked at some more low-level options that would involve rolling your own like Backblaze B2 and Wasabi.
My dilemma was that for every solution that was cheaper than Dropbox, I would find an alarming number of unhappy Reddit users looking for alternatives. The complaints would range from files not syncing, backups being lost, to low ingress speed and wonky client software. These may have been exceptions to these services but the Reddit threads were recent and numerous. I’m not looking to trade my problems for a set of new problems.
Then we’re left with the solutions that are more expensive than Dropbox. These solutions fell into the “roll your own cloud storage” category, of which my top pick was Wasabi based on price and reviews. This is the ultimate solution I find myself leaning towards but at <= 2 TB it is not a better value than Dropbox.
My Stopgap Solution
As much as I hate to say it, I am hard-pressed to find a good alternative to the 2 TB Dropbox plan that meets all my requirements. Even offerings like Drive and OneDrive seem attractive until you see that there is zero official linux support. If I use a 3rd party client like OverGrive or InSync and then Google changes the drive API (again), well suddenly my server can’t back anything up.
My stopgap solution sticks with Dropbox but can easily change to another cloud provider without much of a change to my backup scripts thanks to the nifty tool I found. The folders that were originally symlinks are now excluded from my Dropbox home folder using selective sync. I then launch a nightly rclone to push deltas from the source locations up to my long term storage folders on Dropbox.
I think this architecture has some advantages when dealing with long-term backups. For instance, I’ve specified for rclone to use the
copy command instead of
sync, so the operation becomes a 1-way affair. This means if I’m, you know, sleepwalking or hypnotized and happen to login to my Dropbox account and delete my backup folders, it won’t sync/delete my original files as well.
I have to admit that I was a complete stranger to rclone until this whole symlink debacle. I’m really excited to have found it. If you are just starting out, I’d recommend the use of the
--dry-run flag to safely preview exactly what the commands are doing.
As far as Dropbox goes, I am not happy with them, I’ve got one foot out the door and am actively looking for equal value and equivalent performance – with an official linux client.
Are you in the same boat? Where did you land? Are you using a 3rd party Drive or OneDrive client? Please share your solutions with me.