Computer OSes need a UI for handling long copy operations that may get interrupted.

Damn. I started this on Friday and it's still showing 14 hours to go.

I hope it actually works.

Question: given a process that has been running for over 48 hours, how long should I allow it to run with the estimated time remaining at five seconds?

In conclusion: it didn't work correctly.

I dunno what happened, but it copied over basically everything from 2015 and 2016, then dropped everything between then and now.

So that sucks.

The rsync enthusiasts have convinced me to try that way. Let's see if it can correctly handle the bullshit that lies beneath.

Step one: update to latest rsync.

Step two: read man page.

Watch this space for reports of how well it worked in a few days.

None of the rsync changelogs call out the ability to recognize hardlinked directories. (My source is a Time Machine backup drive.)

Now, maybe it deals with that unusual feature correctly. Maybe the hardlink detection is generic enough that it just works.

Some days, you just have to ask yourself, <Am I the sort of degenerate who's going to go read the rsync code and see if it properly handles hardlinked directories?>

(The answer is yes. It's not obviously broken at first glance, but I'm not going to go further than that.)

So.

Rsync is designed to do a network sync. It wants to run a process on the source and a process on the destination.

When the destination is a network drive, mounted locally, the destination process runs locally, and does all the necessary reading off of the network drive.

Which means that while rsync is technically resumable, the amount of work doesn't go down if it's interrupted.

Because the bottleneck is the network, and every file will go over the network. To send if it's not there, or to read if it is there.

Follow

Apple has done some kind of extra bullshit that makes this not work.

I don't know if it's System Integrity Protection on the backup folder, or some extra spicy ACL bullshit that rsync doesn't know. Either way, it prevents rsync from creating directories on the target drive.

Having given up on migrating the old data, I now start a full system backup.

12 hours, fine.

* major power outage overnight *

* screaming internally *

So it finally completed and I'm now backing up to my network drive.

So let's talk about the devolution of Time Machine.

Time machine is great as a no-decisions system backup with a nice UI. That's always been its strength.

But early on, Time Machine promised that its storage was just files, and this is getting less and less true over time.

It was a trick at the beginning, of course, because it relied on an unusual feature that was only available on HFS+ filesystems: directory hard links.

But if you back up to a network drive, you're really backing up to a file system image with an HFS+ filesystem inside it.

And APFS doesn't support directory hard links either, so if your drive is APFS formatted, you back up to an image as well!

So we've gone from just files to a special unique image file.

And people get burned by this: if the image file gets corrupted, you lose the entire backup.

And Apple's been layering stuff on top of it.

There are special ACLs and System Integrity Protection things that prevent you from manipulating the backups in any useful way.

So it's just a proprietary backup system with a nice UI now.

Which is fine. It's better to back up than to not back up, and Time Machine made a lot of people do that.

But I'm gonna look for something better for the future. Something cross platform, that backs up to plain files.

Sign in to participate in the conversation
Mastodon

a Schelling point for those who seek one