Какие файлы в OS X исключаются из резервной копии Time Machine по правилу?

В дополнение к любым файлам, которые я могу исключить, какие файлы система исключает по правилам или классификации?

введите описание изображения здесь

Возможно, имеет смысл не создавать резервные копии корзины или кеша, но я ищу способ определить, какие файлы пропускаются «за кулисами». Знание того, поддерживает ли система список исключений или шаблон исключения, было бы очень полезно при управлении большими группами компьютеров Mac.

Ответы (5)

В более ранних версиях macOS (до 11.x) был встроенный список исключений, хранившийся в файлах /System/Library/CoreServices/backupd.bundle/Contents/Resources/StdExclusions.plist. Это слишком долго, чтобы удобно вставлять сюда, поэтому я разместил копию StdExclusions.plist (10.7.1) на Pastebin . На Pastebin также есть StdExclusions.plist (сервер 10.6.8) .

Некоторыми из наиболее очевидных исключений пользовательских файлов являются Корзина, версии документов и мобильные резервные копии из локального хранилища Time Machine. Остальные исключения относятся к системным вещам, таким как кэши и базы данных, которые существуют для индексации других файлов, где система может регенерировать эти базы данных после восстановления.


Кроме того, приложения могут использовать метаданные файла, чтобы исключить файл из резервных копий. Вы можете просмотреть этот список файлов, выполнив команду:

sudo mdfind "com_apple_backup_excludeItem = 'com.apple.backupd'"

В моей системе это выводит следующее:

/Users/brant/Library/Calendars/Calendar Cache
/Users/brant/Music/iTunes/iTunes Music Library.xml
/Users/brant/Library/iTunes/iPod Software Updates
/Users/brant/Library/iTunes/iPad Software Updates
/Users/brant/Library/iTunes/iPhone Software Updates
/Users/brant/Pictures/iPod Photo Cache
/Volumes/Archive/brant/Pictures/iPhoto Library/iPod Photo Cache
/Volumes/Archive/brant/Pictures/iPhoto Library/AlbumData.xml
/Users/brant/Library/Application Support/Google/Chrome/Safe Browsing Csd Whitelist
/Users/brant/Library/Application Support/Google/Chrome/Safe Browsing Bloom
/Users/brant/Library/Application Support/Google/Chrome/Safe Browsing Bloom Filter 2
/Users/brant/Library/Application Support/Google/Chrome/Safe Browsing Download
/Users/brant/Documents/Virtual Machines/Visual Studio.pvm/{ae6f7518-762e-4fcd-b166-c7a914fc237f}.mem
/Users/brant/Music/iTunes/Album Artwork/Cache
/Users/brant/Library/Saved Application State
/Users/brant/Library/Application Support/Google/Chrome/Default/History-journal
/Users/brant/Library/Application Support/Google/Chrome/Default/Favicons-journal
/Users/brant/Library/Application Support/Google/Chrome/Default/Favicons
/Users/brant/Library/Application Support/Google/Chrome/Default/History
/Users/brant/Library/Icons/WebpageIcons.db
/Users/brant/Library/Safari/WebpageIcons.db

Как видите, здесь есть несколько файлов, с которыми Time Machine запретили различные приложения. Внутри это работает путем изменения расширенного атрибута com.apple.metadata:com_apple_backup_excludeItem .

Кроме того, в Lion команда tmutil позволяет запрашивать, устанавливать и удалять исключения файлов из командной строки:

  • tmutil isexcluded _item_определит, исключены ли в настоящее время том, каталог или файл.
  • tmutil addexclusion _item_устанавливает правило исключения, чтобы элемент (даже если он был перемещен в новое место или переименован) был исключен из будущих резервных копий.
  • tmutil addexclusion -p _item_устанавливает правило исключения, исключающее путь к элементу. Это остается неизменным, поэтому, если файл перемещается, он будет скопирован, если не по этому точному пути, а также предотвратит резервное копирование файла, если он вернется в то же место, что указано в правиле.
  • tmutil removeexclusion _item_удалено любое правило исключения по мере необходимости.
Я хотел бы проголосовать за этот ответ несколько раз :-)
Да серьезно, если бы я мог предложить награду в 200 очков задним числом, я бы это сделал. Потрясающий ответ.
тогда как получить пользовательский список игнорирования через командную строку?
В моей системе mdfindвыводит намного больше, включая ~/Applications и ~/Library/Screen Savers . Будь осторожен!
Я не могу исключить /usr/localиспользование tmutil. я получаю error -50. Есть идеи, в чем может быть проблема?
В 2022 году с Big Sur 11.6.2 этого файла не существует:ls /System/Library/CoreBigServices/backupd.bundle/Contents/Resources/StdExclusions.plist ls: /System/Library/CoreServices/backupd.bundle/Contents/Resources/StdExclusions.plist: No such file or directory
tmutil isexcluded /Users/DaveX/Library/Cachesвозвращает:[Excluded] /System/Volumes/Data/Users/DaveX/Library/Caches
Начиная с Big Sur, кажется, что это единственный надежный способ поиска стандартных исключений: apple.stackexchange.com/a/440605/31164 .

По умолчанию Apple Time Machine не выполняет резервное копирование:

  • Файлы системного журнала
  • Индексы внимания
  • Кэшировать файлы любого типа
  • Файлы в Корзине (или в Корзине любого другого пользователя)
  • Временные файлы
  • Конкретные данные приложения, которые приложение может пометить, чтобы Time Machine не выполняло резервное копирование.

Это относится ко всем версиям Mac OS X, в которых есть Time Machine.

Источник: Кевин М. Уайт. Apple Training Series: Mac OS X Support Essentials v10.6 . Пичпит Пресс.

~/Library/Caches/ и ~/Library/Logs/ исключены из резервных копий, но они по-прежнему содержат некоторые файлы кэша и журналов в таких папках, как /var/db/ и /var/log/.

Вы, вероятно, найдете это полезным - http://hints.macworld.com/article.php?story=20080328025026826

Конкретно:

sudo mdfind "com_apple_backup_excludeItem = 'com.apple.backupd'"

Вернет то, что игнорируется. Приложения могут указать TimeMachine игнорировать определенные файлы.

Дастин, ответы, которые представляют собой не более чем ссылки, не являются хорошими ответами. Когда ссылка отвечает на вопрос, важно не только указать источник, но и соответствующие детали. Сайты падают, адреса меняются и т.д.

Корневые папки моментальных снимков также имеют список свойств с папками, которые были исключены из моментального снимка.

sudo defaults read /Volumes/Time\ Machine/Backups.backupdb/*/Latest/.exclusions.plist

Мой последний снимок включал папки StdExclusions.plistи папки, исключенные из настроек Time Machine. Он не включал файлы или папки, которые просто имели com.apple.metadata:com_apple_backup_excludeItemрасширенный атрибут.

Вау - я лучше немного ткну в это. Mountain Lion изменил способ обработки исключений, когда вы добавляете их обратно в набор резервных копий. В этом случае больше не создаются инкрементные резервные копии папок, вместо этого полное резервное копирование файлов происходит при следующем резервном копировании этого файла.
В последних версиях MacOS этот файл является бинарным — его можно открыть с помощью xcode или преобразовать в XML в консоли с помощью plutil -convert xml1 .exclusions.plist(использовать на копии!)

Если вы хотите проверить наличие расширенного атрибута com.apple.metadata:com_apple_backup_excludeItemв конкретном файле/каталоге, вы можете использовать xattrкоманду:

xattr path_to_file_name

Или mdlsкоманда (которая также покажет вам атрибуты метаданных):

mdls path_to_file_name

Но лучший способ проверить, исключен ли файл/каталог из резервной копии, — это использовать tmutil, как было предложено выше, поскольку он также проверяет, находится ли он в каком-либо списке исключений:

tmutil isexcluded path_to_file_name