TMUTIL(8) | System Manager's Manual | TMUTIL(8) |
tmutil
— Time
Machine utility
tmutil |
verb [options] |
tmutil
provides methods of controlling and
interacting with Time Machine, as well as examining and manipulating Time
Machine backups. Common abilities include restoring data from backups,
editing exclusions, and comparing backups.
Several, but not all, verbs require root and Full Disk Access privileges. Full Disk Access privileges can be granted to the Terminal application used to run tmutil from the Privacy tab in the Security & Privacy preference pane.
Throughout this manual, specific language is used to describe
particular "realms" associated with Time Machine backups. It is
important to understand this terminology to make effective use of
tmutil
and its manual.
/Volumes/Chronoton/Backups.backupdb
n.b. APFS backup disks do not have backup stores.
/Volumes/Chronoton/Backups.backupdb/thermopylae
/Volumes/Chronoton/Backups.backupdb/thermopylae/2011-07-03-123456
com.apple.TimeMachine.2011-07-03-123456.backup
com.apple.TimeMachine.2011-07-03-123456.local
/Volumes/Chronoton/Backups.backupdb/thermopylae/2011-07-03-123456/Mac HD
/Volumes/.timemachine/*/2011-07-03-123456.backup/2011-07-03-123456.backup/Mac HD
Each verb is listed with its description and individual arguments.
-ap
]When the -
a option
is provided, arg will be added to the list of
destinations. Time Machine will automatically choose a backup
destination from the list when performing backups. When the
-
a option is not provided, the
current list of destinations will be replaced by
arg.
If you wish to set an HFS+ or APFS volume as the backup destination, arg should be the mount point of the volume in question. When setting an AFP or SMB destination arg takes the form:
protocol://user[:pass]@host/share
In the AFP and SMB cases, the password component of
the URL is optional; you may instead specify the
-
p option to enter the
password at a non-echoing interactive prompt. This is of particular
interest to the security-conscious, as all arguments provided to a
program are visible by all users on the system via the
ps tool.
-X
]The new quota will take effect on the next backup to this destination.
Requires root and Full Disk Access privileges.
Requires root and Full Disk Access privileges.
-pv
]There are three kinds of user-configurable exclusions in Time Machine:
The first kind of exclusion, which is the default behavior for the addexclusion verb, is a location-independent ("sticky") exclusion that follows a file or directory. When the file or directory is moved, the exclusion goes with the item to the new location. Additionally, when the item is copied, the copy retains the exclusion.
The second kind of exclusion is a fixed-path exclusion. With this, you tell Time Machine that you want a specific path to be excluded, agnostic of the item at that path. If there is no file or directory at the specified path, the exclusion has no effect; if the item previously at the path has been moved or renamed, the item is not excluded, because it does not currently reside at the excluded path. As a consequence of these semantics, moving a file or directory to the path will cause the item to be excluded--fixed-path exclusions are not automatically cleaned up when items are moved or deleted and will take effect again once an item exists at an excluded path.
The third kind of exclusion is a volume exclusion. These track volumes based on file system UUID, which is persistent across volume name and mount path changes. Erasing the volume will cause Time Machine to apply default behavior for the newly erased volume.
The -
p option
configures fixed-path exclusions. The
-
v option configures volume
exclusions. Both require root and Full Disk Access privileges. The
-
v option is the only
supported way to exclude or unexclude a volume; behavior is undefined if
a sticky or fixed-path exclusion is specified.
-pv
]-X
]When the -
X option
is provided, output will be printed in XML property list format.
# example output for an excluded item
thermopylae:~ thoth$ tmutil isexcluded /Users/admin/Desktop/foo.txt
[Excluded] /Users/admin/Desktop/foo.txt
# example output for an item that is not excluded
thermopylae:~ thoth$ tmutil isexcluded /Users/admin/Desktop/bar.txt
[Included] /Users/admin/Desktop/bar.txt
-a
| --auto
]
[-b
| --block
]
[-r
| --rotation
]
[-d
| --destination
dest_id]
Options:
--auto
--block
--rotation
--destination
The -
-auto option
provides a supported mechanism with which to trigger
"automatic-like" backups, similar to automatic backups that
are scheduled by the system. While this is not identical to true
system-scheduled backups, it provides custom schedulers the ability to
achieve some (but not all) behavior normally exhibited when operating in
automatic mode.
-@acdefglmnstuEUX
]-D
depth]
[-I
name]
[backup_path | path1 path2]
If no arguments are provided, tmutil
will compare the computer to the latest backup. If a backup path is
provided as the sole argument, tmutil
will
compare the computer to the specified backup. If two path arguments are
provided, tmutil
will compare those two items to
each other. tmutil
will attempt to inform you
when you have asked it to do something that doesn't make sense or isn't
supported.
The compare verb allows you to
specify what properties to compare. If you specify no property options,
tmutil
assumes a default property set of
-
@gmstu.
Specifying any property option overrides the default set.
Options:
-a
-n
-@
-c
-d
-e
-f
-g
-m
-s
-t
-u
-D
-E
-I
-U
-X
No output is generated for matching checksums. Issues are reported using the following legend:
Beginning in OS X 10.11, Time Machine records checksums of files copied into backups. Checksums are not retroactively computed for files that were copied by earlier releases of OS X.
-v
]When using the restore verb,
tmutil
behaves largely like Finder. Custom Time
Machine metadata (extended security and other) will be removed from the
restored data, and other metadata will be preserved.
Root and Full Disk Access privileges may be required to perform restores. When restoring with tmutil as root, ownership of the restored items will match the state of the items in the backup.
-d
backup_mount_point
-t
timestamp]-p
path]
-d
backup_mount_point
[-m
[-t
]]]-
d option specifies a
destination volume to list backups from. When
-
m is provided,
latestbackup will attempt to mount the backups and list
their mounted paths. The -
t
option will show only the backup timestamp rather than the full name or
path.
-d
backup_mount_point
[-m
[-t
]]]-
d option specifies a
destination volume to list backups from. When
-
m is provided,
listbackups will attempt to mount backups and list their
mounted paths. The -
t option
will show only the backup timestamp rather than the full name or path.
Machine directories and sparsebundles are owned by one computer at a time, and are tracked by unique identifiers rather than computer name, host name, or ethernet address. The inheritbackup verb reassigns the identity of the specified item, reconfiguring it so the current host recognizes it during backups. When inheriting a sparsebundle, the machine directory within will also be claimed.
Inheriting is typically only one step in the process of configuring a backup for use by a machine. You may also need to use setdestination, associatedisk, or both, depending on the situation.
One machine can own multiple machine directories and sparsebundles, but it is ill-advised for them to reside in the same place. In such a situation, which will be chosen during a backup is undefined. As a result, inheritbackup will attempt to detect possible identity collisions before making changes.
In Mac OS X, HFS+ and APFS volumes have a persistent UUID that is assigned when the file system is created. Time Machine uses this identifier to make an association between a source volume and a volume store. Erasing the source volume creates a new file system on the disk, and the previous UUID is not retained. The new UUID causes the source volume -> volume store association to be broken. If one were just erasing the volume and starting over, it would likely be of no real consequence, and the new UUID would not be a concern; when erasing a volume in order to clone another volume to it, recreating the association may be desired.
A concrete example of when and how you would use associatedisk:
After having problems with a volume, you decide to erase it and manually restore its contents from a Time Machine backup or copy of another nature. (I.e., not via Time Machine System Restore or Migration Assistant.) On your next incremental backup, the data will be copied anew, as though none of it had been backed up before. Technically, it is true that the data has not been backed up, given the new UUID. However, this is probably not what you want Time Machine to do. You would then use associatedisk to reconfigure the backup so it appears that this volume has been backed up previously:
thermopylae:~ thoth$ sudo tmutil associatedisk [-a] "/Volumes/MyNewStuffDisk" "/Volumes/Chronoton/Backups.backupdb/thermopylae/Latest/MyStuff"
The result of the above command would associate the volume
store MyStuff in the specified backup with the
source volume MyNewStuffDisk. The volume store
would also be renamed to match. The
-
a option tells
associatedisk to find all volume stores in the same
machine directory that match the identity of
MyStuff, and then perform the association on all
of them.
Specify mount_point to list snapshot creation dates from a specific volume.
Listed dates are formatted YYYY-MM-DD-HHMMSS.
When purge_amount and urgency are specified, tmutil will attempt (with urgency level 1-4) to reclaim purge_amount in bytes by thinning snapshots.
If urgency is not specified, the default urgency will be used.
In most situations, tmutil
exits 0 on
success, >0 otherwise.
10 June 2015 | Mac OS X |