Time Machine (macOS)
Time Machine's Retrieval Interface on OS X 10.10 Yosemite
|Operating system||macOS 10.5 or newer|
|Part of a series on|
Time Machine is a backup software application distributed as part of macOS, the desktop operating system developed by Apple. The software is designed to work with external storage devices and most commonly used with external disk drives. It was first introduced in Mac OS X Leopard.
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. It also works within a number of applications such as Mail and iWork, making it possible to restore individual objects (e.g. emails, contacts, text documents, presentations) 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 (AFP), and Time Machine no longer works with servers using earlier versions of the Server Message Block (SMB) 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, which was introduced in 2008 and discontinued in 2018, acted 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 other external or internal volumes.
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.
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 (or presently deleted data) may be retrieved.
Time Machine works with locally connected storage disks, which must be formatted in the APFS or HFS+ volume formats. Support for backing up to APFS volumes was added with macOS 11 Big Sur and since then APFS is the default volume format.
Time Machine also works 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.
Time Machine places strict requirements on the backup storage medium. The only officially supported configurations are:
- A storage drive or partition connected directly to the computer, either internally or by a bus like USB or Thunderbolt and formatted as APFS or journaled HFS+. If the volume format is not correct, Time Machine will prompt the user to reformat it.
- A folder on another Mac on the same network.
- A drive shared by an Apple Time Capsule on the same network.
- A drive connected to an Apple AirPort Extreme 802.11ac model on the same network. (Earlier generations of the AirPort Extreme are not supported.)
- Local network volumes connected using the Apple Filing Protocol or via an SMB3 share that advertises a number of capabilities.
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 also configured FreeBSD and Linux servers and network-attached storage systems to serve Time Machine-enabled Macs.
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.
Time Machine on HFS+ volumes 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 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. 
Time Machine supports two forms of exclusion: one based on a user-configured list of paths (plus a set of system defaults), the other based on the extended file attribute
com.apple.metadata:com_apple_backup_excludeItem dependencies. 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
com.apple.backup in any property list format. Writing
com.apple.MobileBackup 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
tmutil command-line utility as well as a CoreServices API.
- MobileMe Backup
- List of backup software
- Version control
- AirPort Time Capsule
- Backup options built into Microsoft Windows: System Restore, File History
- Apple. "Apple - Mac OS X Leopard - Features - Time Machine". Retrieved December 21, 2007.
- "Time Machine keeps saying not enough space | Communities". discussions.apple.com. Retrieved October 21, 2017.
- "Time Machine over SMB Specification". Documentation Archive. Apple Inc. September 13, 2016. Retrieved April 24, 2019.
- "Backup disks you can use with Time Machine". Apple Support. Apple Inc. Retrieved November 30, 2020.
- Matthias Kretschmann. "HowTo: Make Ubuntu A Perfect Mac File Server And Time Machine Volume". Retrieved September 11, 2009.
- MKurtz. "NSLU2-Linux - HowTo / TimeMachineBackups". Retrieved September 11, 2009.
- harryd71. "Mac OS X Time Machine and FreeNAS 0.7". Retrieved January 17, 2010.
- QNAP Systems Inc. "QNAP NAS support for Apple Time Machine". Retrieved November 30, 2020.
- Bastian Bechtold. "Using a Raspberry Pi as a Time Capsule for Mountain Lion". Retrieved August 23, 2012.
- Alonso, Noel. "Using Netatalk: AFP Services on a Linux Server". AFP548.com. Retrieved November 1, 2013. Also see slowfranklin's comment and its replies. To add the guest UAM, add
AFPD_UAMLIST="-U uams_guest.so"to the
- Bas van de Wiel. "Ironclad Time Machine backups on FreeBSD". Retrieved March 18, 2016.
- Pond, James (August 31, 2013). "How Time Machine Works its Magic". Apple OSX and Time Machine Tips. baligu.com. File System Event Store,Hard Links. Retrieved May 19, 2019.
- Butts, Jeff (September 25, 2017). "Time Machine and APFS: What You Need to Know". The Mac Observer. Retrieved April 23, 2019.
- Caldwell, Serenity (February 21, 2012). "Ten exciting system changes in Mountain Lion". Mac-world. Retrieved April 29, 2012.
- Bobby, Brant. "macos - On OS X, what files are excluded by rule from a Time Machine backup?". Ask Different.
- "Feature Request: Honor com_apple_backup_excludeItem on MacOS · Issue #478 · gilbertchen/duplicacy". GitHub.
- "CSBackupSetItemExcluded - Core Services". Apple Developers Documentation.