Ditching Dropbox for S3
I’ve been paying Dropbox $132 a year for personal file storage. Most of what’s in there I haven’t touched in years: photo backups, old project files, a Google Takeout export, some music, a copy of my Twitter archive, and the general accumulation of a decade of digital life. Two hundred and ten gigabytes of stuff I want to keep but rarely need to access.
That’s an expensive filing cabinet.
The Math
S3 Infrequent Access costs $0.0125 per gigabyte per month. For 210 GB, that’s $2.63 a month, or $31.50 a year. Glacier Deep Archive for a cold backup of the same data costs $0.00099 per gigabyte, or $2.49 a year. Combined that’s $34 a year. Dropbox was costing me $132. That’s nearly a hundred dollars a year I was spending on inertia.
The tradeoff is real: Dropbox has a nice desktop app, file sharing, and a web interface. S3 has none of that. But for an archive of files I open maybe twice a year, I don’t need any of that. I need cheap, durable storage with a CLI. S3 is exactly that.
The Migration
The tool is rclone. It supports both Dropbox and S3 as backends, handles OAuth for Dropbox, and can copy between cloud providers without needing enough local disk to stage the entire transfer. You configure two remotes and tell it to copy from one to the other. If you’d rather not deal with a CLI, services like Movebot do the same thing for a one-time fee, but rclone is free and does the job fine.
Setting up the Dropbox remote is an OAuth flow in the browser. Setting up S3 is a config block pointing at your AWS credentials. The copy command is one line:
rclone copy dropbox: s3:my-archive-bucket/ \
--s3-storage-class STANDARD_IA \
--progress \
--transfers 8
The data streams through your local machine on the way from Dropbox to S3. There’s no direct server-to-server path between them. For 210 GB that took a few hours overnight. If it gets interrupted, you re-run the same command and it picks up where it left off, skipping files that already exist at the destination.
One gotcha: if you use 1Password’s credential_process for AWS authentication (which I do), rclone won’t pick that up through its env_auth setting. You need to export the credentials as environment variables before running the copy:
export AWS_ACCESS_KEY_ID=$(op read "op://Private/your-vault/access_key_id")
export AWS_SECRET_ACCESS_KEY=$(op read "op://Private/your-vault/secret_access_key")
After the copy finished, I ran rclone check to verify every file. Twenty-eight thousand four hundred and one files, zero differences.
Organizing the Mess
A raw Dropbox dump is not a filing system. My top-level directory structure included gems like 2019-12-08 Random, nope, a folder named after what turned out to be my Twitter user ID, and the inevitable Camera Uploads 2. A decade of “I’ll organize this later” made manifest.
I created a second S3 bucket with a clean folder structure and used rclone to copy everything into it. Since both buckets are in the same AWS region, this is a server-side copy. The data never leaves S3, and 210 GB reorganizes in minutes.
The new structure:
photos/ - Camera uploads, events, iPhoto, Flickr, screenshots
documents/ - Docs, paperwork, books
media/ - Video, audio, music, games
exports/ - Google Takeout, Facebook, Twitter archive
backups/ - System backups, legacy 1Password vaults
security/ - Keys, GPG
projects/ - Old code, side projects, work repos
The original Dropbox dump goes to Glacier Deep Archive for long-term cold storage at $0.21 a month. The organized copy stays on S3 Infrequent Access for the rare occasions I need to find something.
The Numbers
| Monthly | Annual | |
|---|---|---|
| Dropbox Plus | $11.00 | $132.00 |
| S3-IA (organized, 210 GB) | $2.63 | $31.50 |
| Glacier Deep Archive (raw backup, 210 GB) | $0.21 | $2.49 |
| S3 total | $2.84 | $33.99 |
| Savings | $98.01/yr |
A hundred dollars a year isn’t life-changing money. But it’s a hundred dollars a year I was paying for a service whose only remaining value to me was “my files are already there.” That’s not a feature. That’s inertia.
Is This for Everyone
No. If you use Dropbox for file sharing, collaboration, or syncing across devices, S3 is not a replacement. If you want a web interface for browsing your files, S3’s console is functional but not pleasant. If you want to access files from your phone, you’ll need a third-party app.
But if you’re like me and your Dropbox has quietly become a $132-a-year archive of files you never open, rclone and S3 will do the same job for the cost of a coffee.