Time Machine (macOS)


Time Machine is a backup software application distributed as part of macOS, desktop operating system developed by Apple. The software is designed to work with AirPort Time Capsule, the Wi-Fi router with built-in hard disk, as well as other internal and external disk drives. It was introduced in Mac OS X Leopard.

Overview

Time Machine creates incremental backups of files that can be restored at a later date. It allows the user to restore the whole system or specific files from the Recovery HD or the macOS Install DVD. It works within Mail, iWork, iLife, and several other compatible programs, making it possible to restore individual objects without leaving the application. According to an Apple support statement:
“Time Machine is a backup utility, not an archival utility, it is not intended as offline storage. Time Machine captures the most recent state of your data on your disk. As snapshots age, they are prioritized progressively lower compared to your more recent ones.”

For backups to a network drive, Time Machine allows the user to back up Mac computers over the network, and supports backing up to certain network attached storage devices or servers, depending on the version of Time Machine. Earlier versions worked with a wide variety of NAS servers, but later versions require the server to support a recent version of Apple’s Apple Filing Protocol, and Time Machine no longer works with servers using earlier versions of the Server Message Block protocol typical for Windows servers. Some of the legacy support can be re-enabled by using hand-tuned configuration options, accessed through the Terminal. Apple's Time Capsule acts as a network storage device specifically for Time Machine backups, allowing both wired and wireless backups to the Time Capsule's internal hard drive. Time Machine may also be used with any external or internal volume.
Time Machine saves hourly backups for the past 24 hours, daily backups for the past month, and weekly backups for everything older than a month until the volume runs out of space. At that point, Time Machine deletes the oldest weekly backup.

User interface

Time Machine's user interface when retrieving a file uses Apple's Core Animation API. Upon its launch, Time Machine "floats" the active Finder or application window from the user's desktop to a backdrop depicting the user's blurred desktop wallpaper. Behind the current active window are stacked windows, with each window representing a snapshot of how that folder or application looked on the given date and time in the past. When toggling through the previous snapshots, the stacked windows extend backwards, giving the impression of flying through a "time tunnel." While paging through these "windows from the past," a previous version of the data may be retrieved.

Storage

Time Machine works with locally connected storage disks, which must be formatted in the HFS+ volume format—APFS-formatted won't work, as well as with remote storage media shared from other systems, including Time Capsule, via the network.
When using remote storage, Time Machine uses sparse bundles. This acts as an isolation layer, which makes the storage neutral to the actual file system used by the network server, and also permits the replication of the backup from one storage medium to another. Sparse bundles are mounted by macOS like any other device, presenting their content as a HFS+ formatted volume, functionally similar to a local storage.

Requirements

Time Machine places strict requirements on the backup storage medium. The only officially supported configurations are:
On a Time Capsule, the backup data is stored in an HFS+ disk image and accessed via Apple Filing Protocol. Although it is not officially supported, users and manufacturers have configured FreeBSD and Linux servers and network-attached storage systems to serve Time Machine-enabled Macs.

Operation

Time Machine creates a folder on the designated Time Machine volume into which it copies the directory tree of all locally attached disk 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 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; the use of hard links presents each backup to the user as a complete disk copy.
Time Machine creates multiple hard links to unmodified directories. Multiple linking of directories is a peculiar feature for HFS+, and is not supported on modern Unix file systems including Apple's own APFS. 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 Leopard, Snow Leopard, and Lion installation process. One of the features in the Migration Assistant interface is to re-install 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.
Coding differences between OS X Mountain Lion and Mavericks have resulted in compatibility issues related to Time Machine's system restoration functionality. Time Machine backups created by Apple computers purchased as recently as late 2012 cannot be used for system restoration on 2013 or 2014 models.. However, the data from the backup can still be recovered by directly accessing the files from the Time Machine Volume.

Exclusion

Time Machine supports two forms of exclusion: one based on a user-configured list of paths, the other based on the extended file attribute. Since the attribute is applied to the file or directory directly, moving or copying will not affect the exclusion. The attribute should contain the string in any property list format. Writing instead sets the exclusion for iOS backups.
Google Chrome is known to use the attribute to exclude its histories. Third-party backup applications that respect this setting include CrashPlan and Arq. Apple wraps the attribute into the command-line utility as well as a CoreServices API.