Apple’s Worldwide Developers Conference to kick off June 10 at 10 a.m. PDT with Keynote address

The Keynote will be available to stream on apple.com, the Apple Developer app, the Apple TV app, and the Apple YouTube channel. On-demand playback will be available after the conclusion of the stream.

Looks like no one’s replied in a while. To start the conversation again, simply ask a new question.

Does Time Machine copy everything all over every time

Hi,

I just recently started using Time Machine. I was wondering what is actually being copied every time a backup runs. To figure this out I checked the folder size of every backup to date, expecting the first one to be by far the largest (about the size of all the content on my mac) and the others to be quite small, reflecting the minor changes in my data from backup to backup. However, as you can see in the screenshot below, this is not what "Get Info" says. According to this check it seems every single backup is about as big as the entire content of my mac. This is actually impossible, as you can see on the right that the hard drive where the backups are stored isn't big enough to contain this much data, let alone with about 800GB of free space to spare. So what's going on here?


Thanks

MacBook Pro 15″, OS X 10.11

Posted on Jun 8, 2020 3:53 AM

Reply
Question marked as Best reply

Posted on Jun 8, 2020 5:05 PM

macOS uses what are called "Hard Links" between files.


Think of a directory entry like an address book. It contains information to contact a person. It DOES NOT contain the person, just a pointer. Multiple people can have address book entries for that same person. There is still only 1 person.


Hard Links are just additional directory entries that point to the same physical file.


Time Machine will either copy the modified or new file into the new backup tree, or it will put a Hard Link in the new backup tree if the file has not changed.


So while it looks like you have 12 copies of a single file in different Time Machine backup generations, but if the file has not changed, it is just multiple directories pointing to the same unmodified file.

Similar questions

6 replies
Question marked as Best reply

Jun 8, 2020 5:05 PM in response to Rupertina

macOS uses what are called "Hard Links" between files.


Think of a directory entry like an address book. It contains information to contact a person. It DOES NOT contain the person, just a pointer. Multiple people can have address book entries for that same person. There is still only 1 person.


Hard Links are just additional directory entries that point to the same physical file.


Time Machine will either copy the modified or new file into the new backup tree, or it will put a Hard Link in the new backup tree if the file has not changed.


So while it looks like you have 12 copies of a single file in different Time Machine backup generations, but if the file has not changed, it is just multiple directories pointing to the same unmodified file.

Jun 9, 2020 4:19 AM in response to BobHarris

Thanks, now I get it! If I understand correctly, what you're describing is similar to "aliases" only there's no "original", which means that you can delete all copies except any one of them and the one left would still contain the data. I wish they'd made it somehow graphically distinct from regular folders and files in Finder though.

To follow up, is there a way to see exactly which files have been added, changed or removed in each backup?

Jun 10, 2020 9:14 AM in response to Rupertina

Hard Link because a standard part of Unix based file systems back in the '60's (aka 1960's) with the very early Unix versions at Bell Labs. Directories only ever contained a name and a pointer to the file's internal metadata 'inode'. The internal metadata inode contained a filed called 'nlink' which is a reference count for each directory that has a pointer to this file. When a directory entry is deleted, the nlink count is decremented. When the nlink count goes to zero, then the storage for the file is deleted, and the metadata inode structure is put on a free list to be used for a new file sometime in the future.


The problem with the nlink reference count is, it does not know what directories contain pointers to the file's inode. To find that information, you would have to search the entire file system tree looking at each and every directory checking to see if the directory entry points to the file you are interested in.


What I'm trying to say is that because the Time Machine developers just piggy backed on existing Unix file system technology, they did not have an easy way to tell if any give Time Machine backed up file is the original or is a hard link. And remember ALL files, even the original, use a Hard Link from the directory to the inode. There is not difference and as long as 1 Hard Link still exists, the file exists.

Does Time Machine copy everything all over every time

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple ID.