Steve Grunwell

Open-source contributor, speaker, and coffee snob

Tag: Backups

One row in a document archive, full of boxes and binders

Automatic, Whole-Home Time Machine Backups

Over the holidays, I decided to tackle a problem that’s been on the back-burner for a while: how can my wife and I automatically back up our Macs to a common Time Machine drive? We already have a router I’m happy with (the NETGEAR R6400, which is a couple years old now), so I didn’t want to replace a solid router with Apple’s Time Capsule, especially given that the line seems to have been discontinued. Is there a way to keep a common Time Machine drive on the network?

Up until this point, Kim and I have gotten by with our own Time Machine disks that live on our desks: when we’d remember, we’d plug in the disks and ensure a backup was made. I can’t speak for Kim, but I know my backup history was…spotty, to say the least.

When Kim started her own business in 2017, we upgraded her older MacBook Pro with a new SSD and kept the old drive housed where the rarely-used optical drive used to live. All told, she has just shy of a terabyte of storage on her machine, but was (just barely) backing up to a 500GB Time Machine disk. Wanting to ensure that client files and portfolio pieces alike were backed up securely, Kim asked if I could set something up to make the process easier; this is what I found.

Continue reading→

An antique hour glass, resting on a rocky beach

Exclude Dependencies from Time Machine Backups

If you’ve used a Mac in the last decade or so, you’ve likely been prompted to configure Time Machine, macOS’ built-in automated backup solution; simply connect your backup disk (or use certain network attached storage devices) and Time Machine will automatically make incremental backups of your machine. In the event that your computer’s lost/stolen, its hard drive is corrupted, or you simply deleted that super important file, Time Machine makes it easy to restore your computer’s previously healthy state.

Where Time Machine is less convenient is in the case of developers: modern development practices often rely on dependency management tools (e.g. Composer, npm, etc.) to pull in third-party dependencies. Instead of including full copies of external libraries, developers can say “my application relies on package N at version X.Y.Z”, and the dependency manager can download the necessary code as a build step. This is great for keeping third-party assets both versioned and out of version control, but for the developer working on multiple projects it poses a bit of a problem: you end up with a ton of project dependencies on your machine!

Continue reading→

Be excellent to each other.