Time Machine creates a folder on the designated Time Machine volume (local or inside a remote
sparse image) into which it copies the directory tree of all locally attached storage drives, except for files and directories that the user has specified to omit, including the Time Machine volume itself. Every hour thereafter, it creates a new subordinate folder and copies only files that have changed since the last backup and creates (in the case of HFS+ volumes)
hard links to files that already exist on the backup drive. A user can browse the directory hierarchy of these copies as if browsing the primary disk. Some other backup utilities save deltas for file changes, much like
version control systems. Such an approach permits more frequent backups of minor changes, but can often complicate the interaction with the backup volume. By contrast, it is possible to manually browse a Time Machine backup volume without using the Time Machine interface; Time Machine presents each backup to the user as a complete disk copy. As a result, tools like
rsync cannot be used to replicate a Time Machine volume; replication can only reliably be done by imaging the entire filesystem. Apple system events record when each directory is modified on the hard drive. This means that instead of examining every file's modification date when it is activated, Time Machine only needs to scan the directories that changed for files to copy. This differs from the approach taken by similar backup utilities
rsync and
FlyBack, which examine modification dates of all files during backup. Time Machine is also available in the
macOS installation process. One of the features in the
Migration Assistant interface is to restore the contents of a Time Machine backup. In other words, a hard drive can be restored from a Time Machine backup in the event of a catastrophic crash.
OS X Mountain Lion introduced the ability to use multiple volumes simultaneously for Time Machine operations. When the user specifies more than one volume to use, macOS rotates among the desired volumes each time it does a backup. == Exclusion ==