Как заставить глубокий обход машины времени?


12

После нескольких паников ядра и случайного горячего отключения моего диска Firewire Time Machine, я хотел бы убедиться, что моя Time Machine точно соответствует моему Macintosh HD, очень похоже rsync -a. Есть ли способ заставить Time Machine выполнить глубокий обход, чтобы убедиться, что резервная копия совпадает?

Знание того, как сделать это на Леопарде, Снежном Барсе и Льве, было бы полезно.


Дополнительным безопасным (но трудоемким и дорогостоящим) вариантом будет запуск нового резервного диска.
Тило

Ответы:


7

Установка пункта назначения Time Machine на ничто, а затем повторное задание его в том же месте, что и раньше, вызывает у меня глубокий обход. Вы можете попробовать перезагрузить компьютер между сменой пункта назначения и его повторным добавлением, чтобы увеличить вероятность запуска глубокого обхода.

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

Если вы склонны использовать командную строку / терминал, я бы начал с tmutil compareтого, что вы еще не успели бы навязать глубокий обход. Он явно сравнивает вещи в том виде, в каком они существуют сейчас, с последним снимком, и вы можете принудительно настроить вещи, указав конкретный внешний снимок, если вас беспокоит сравниваемый локальный снимок.


Как вы устанавливаете пункт назначения Time Machine на ничего? tmutil setdestinationтребует путь в качестве аргумента, не так ли? (Или я просто выбрал резервный диск, а затем нажал «Удалить диск», чтобы отменить выбор?) Я застрял в ужасном положении. Time Machine создает новую резервную копию всякий раз, когда я пытаюсь сделать резервную копию (я отменяю ее до того, как она удалит мои старые резервные копии), поэтому я хочу заставить ее выполнить глубокий обход, чтобы он обнаружил, что большинство файлов фактически не изменились с момента последней резервный.
Гэри

Итак, я просто использовал интерфейс Time Machine и нажал «Удалить диск», а затем снова добавил его. Я до сих пор не получаю глубокого прохождения. Я знаю это, потому что фаза «Подготовка резервной копии» заняла 12 минут, когда вчера я действительно выполнил глубокий обход, когда для его завершения потребовалось 120 минут, а это именно то, чего я сейчас хочу, но не могу понять, как это сделать.
Гэри

1

Загрузка в однопользовательском режиме может вызвать глубокий обход. Это было для меня один раз, но не последующие. Удаление /.fseventsd определенно будет. Это должно быть безопасно сделать в однопользовательском режиме. Удаление /.fseventd на томе резервной копии не вызвало для меня глубокого обхода. (Моя система продолжала работать как обычно и даже не создавала ее заново.)

tmutil compareтолько несколько точен. Похоже, он точно идентифицировал файлы, которые не были скопированы вначале. Я вызвал глубокий обход, чтобы исправить это, но Time Machine все еще не создает резервные копии многих файлов. Все же tmutil compareтеперь утверждает, что нет проблемы. Я бы доверял

rsync --dry-run --itemize-changes --checksum --protect-args -aNHAXx --protect-decmpfs --fileflags --force-change --delete path/to/source_dir/ path/to/destination_dir/

Используйте /Volumes/<your time machine volume>/Backups.backupdb/<your machine name>/Latest/в качестве источника или пути назначения. --itemize-changesдавайте посмотрим, что отличается; «--checksum» указывает rsyncна фактическое сравнение содержимого файла, а не только времени изменения и размера файла; и --dry-runговорит rsync, что на самом деле не нужно делать резервные копии (поэтому он просто говорит нам, что он будет делать). Остальные аргументы - это флаги, указывающие rsync на то, чтобы сделать назначение полностью идентичным источнику во всех отношениях, включая метаданные и состояние сжатия HFS. Я считаю, что Time Machine добавляет метаданные бухгалтерского учета, которые он удаляет при восстановлении, поэтому rsyncможет обнаруживать ложные изменения метаданных.


1

Краткий ответ хотя бы для macOS 10.13.6:

  1. Удалите все резервные копии .inProgress с тома резервной копии. Это может потребовать использования root, /bin/rm -rfпоэтому действуйте осторожно .

  2. Используйте tmutil associatediskкоманду для повторного связывания тома резервного копирования с основным томом. Например:

sudo tmutil Associsk -a / "/ Тома / Резервное копирование машины времени / Backups.backupdb / Macintosh HD / Latest / Macintosh HD"

Затем запустите резервное копирование из пункта меню Time Machine. В моем случае, вместо того, чтобы завершить сканирование за 10 минут (явно не полное сканирование) и показать терабайт для резервного копирования, сканирование заняло более 30 минут, а размер резервной копии соответствовал тому, tmutil compareчто было сказано.

Фон:

Мне нужно было выполнить глубокий обход / полное сканирование после того, как мошеннический установщик (Reallusion) изменил разрешения для всего в «/ Users / Shared» (около 1 терабайта неизмененных файлов). Я вернул их обратно и tmutilподтвердил, что машине времени больше не нужно создавать резервные копии этих файлов, но один из двух дисков для резервных копий настаивал на использовании некоторого кэшированного сканирования, в котором говорилось, что это произошло.

Вещи, которые не работали:

  • Удаление и повторное добавление тома резервной копии из системных настроек

  • Очистка /.fseventsd

  • Установка обновления системы

  • Удаление резервной копии .inProgress без запуска tmutil associated disk

  • Запуск tmutil associated diskбез удаления .inProgress

  • Загрузка в однопользовательском режиме, монтирование / чтение-запись и касание файла

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

поток журнала --stys syslog --predicate 'senderImagePath содержит [cd] "TimeMachine"' --info

Это покажет только новые события. В журналы за последние три дня:

log show - стиль системного журнала --predicate 'senderImagePath содержит [cd] "TimeMachine"' --info --last 3d

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.