Ask HN: Developer Workstation Backups
What is everyone using these days? I used to be a firm believer in Crashplan for both my Linux servers as well as my Mac development machines, but Crashplan really doesn't play well with all the new automatic syncing stuff that Apple has (like fetching copies of your images and files only when necessary) and Dropbox's intelligent sync things. On my Macs Crashplan is always mired in some high CPU activity and consuming disk space. And they stopped supporting Linux machines that don't have a graphical environment (yes I know all the tricks for managing it remotely and they're worse).
So long story short, what are people using to reliably backup their machines without a lot of fuss? Most services don't support Macs or they don't support Linux, or they don't do infinite revisions.
51 comments
[ 2.6 ms ] story [ 93.2 ms ] threadNo. Syncthing is not a great backup application because all changes to your files (modifications, deletions, etc.) will be propagated to all your devices. You can enable versioning, but we encourage you to use other tools to keep your data safe from your (or our) mistakes."
https://docs.syncthing.net/users/faq.html#is-syncthing-my-id...
All documentation and non-code files are in OneDrive, SharePoint, Teams, or good old fashioned shared network drives. IT handles backing that up for us. $Deity bless them, we've never lost anything from a database or file storage.
Documents and stuff are all in google docs/drive or something like that, all my dotfiles / config is in a git repo. I even work like this on my personal machine which is also used for gaming. In case of failure I can just wipe the OS drive and start fresh without any worries.
There have been horror stories of people randomly loosing access to their Google account, probably because some automatic check decided that they violated some term of use. I see how convenient it is to work "in the cloud", but if those are important documents you should keep a local copy as well.
The actual computer/OS that I happen to be using is entirely not a concern for me anymore. Even accounting for installing VS2022, office, etc., I can go from zero to productive in about 30-45 minutes.
Fast storage and networks changed everything for me.
nothing else, if my machine crashes, I just install linux, git and docker and jump back into it.
when the source has been checked out by git, I run the build script which fetches the build environment container for me, which contains the interpreters, compilers, libraries and other tools I need.
Run, don't walk, imo. I swapped to backblaze.
It Works on every desktop and server and takes minimal cpu and memory. Backblaze b2 buckets can be configured to retain overwritten copies, or you can take periodic snapshots within b2.
But the actual workstation is IntelliJ, git, language tooling, neovim, fish shell, and firefox. The rest are constantly changing based on the project, e.g. language tooling and libraries, and most projects either install these automatically or make them clear to install.
i’ve set up my dev workstation so often it takes me like 30 minutes to go from fresh OS to working on a project. maybe one day ill make a shell script or something but the software i need changes so often it doesn’t really matter.
Besides that code is in GIT and passwords are in password manager.
Additionally, I recommend a solution that can restore entire volume images in case of boot drive failures. Time Machine or Carbon Copy Cloner on Mac and Macrium on Windows are nice choices in my experience. Acronis was also very reliable in the past, but since then, they have shifted to yearly nonsense upgrades with questionable value. It reminds me of the transition of Nero Burning ROM into the Nero Media-whatever-center-thingy, where the core functionality remained unchanged while more and more auxiliary features were added.
for linux, ZFS, and a couple of scripts to do snapshotting and copying the backups to a target host.
Would like to add a second cloud destination as a redundancy (especially because B2 is so cheap that it's basically free), but I haven't gotten around to it yet. Will check out Wasabi!
I'm not saying this is the correct approach but it has worked for me.
* SyncThing (to local Synology and cloud server) for my root git folder (I use the following "style" ~/git/<company>/<project>)
* CarbonCopyCloner (to T7 SSD) running daily for a full clone
* Backblaze for my cloud copy
* Time Machine to my Synology just to be safe
Not sure if that meets "without a lot of fuss" but it's all on auto-pilot for me and I never think about it.
https://www.samsung.com/it/memory-storage/portable-ssd/porta...
(Not an affiliate link, AFAIK)
Retrieving backups is a little manual. Perhaps someone has created a nice GUI for it.
* Vorta (https://github.com/borgbase/vorta)
* Pika Backup for Gnome (https://apps.gnome.org/app/org.gnome.World.PikaBackup/)
Vorta is multiplatform and more reliable by my experience.
Not easily accessible though :(
Then I have a folder in my home called Sync that has a library and resources folder inside. Documents and Pictures etc are linked to library, and resources contains docs or things that I want to keep.
The sync folder is setup in syncthing to my laptop and nas, then the nas also backups up that to Backblaze.
Dotfiles and ansible books are in GitHub, via chezmoi.
Otherwise I don’t mind if I lose anything else.