Этот пост основан на вот этой замечательной статье, которая меня не раз выручала.
Что делать если у вас есть NAS (например, Synology, Buffalo или D-Link), и при попытке сделать бэкап система выдает ошибку «Time Machine completed a verification of your backups. To improve reliability, Time Machine must create a new backup for you.»?
В двух словах, вам нужно:
- Исправить ошибки в образе, содержащем бэкап.
- Снять пометку о том, что образ не прошел проверку.
1. Исправление ошибок в образе, содержащем бэкап
Сначала нужно подключиться к диску по протоколу afp. Желательно при этом использовать проводное гигабитное подключение, иначе любые действия будут просиходить целую вечность. Не забудьте временно отключить TimeMachine.
Затем откройте Terminal и перейдите в режим администратора, набрав
sudo su -
После этого введите свой пароль.
Т. к. TimeMachine уже пометила образ как плохой, нам нужно снять блокировку изменений. Для этого выполняете команду:
chflags -R nouchg /Volumes/{Название диска}/{Название бэкапа}.sparsebundle
Это займет какое-то время, вплоть до нескольких часов.
По зааершении подключаете диск к системе, введя команду
hdiutil attach -nomount -noverify -noautofsck /Volumes/{Название диска}/{Название бэкапа}.sparsebundle
Вместо того, чтобы печатать путь к образу (/Volumes/{Название диска}/{Название бэкапа}.sparsebundle), можетепросто перетащить образ из Finder в Terminal. Вы увидите примерно следующее:
/dev/diskx Apple_partition_scheme
/dev/diskxs1 Apple_partition_map
/dev/diskxs2 Apple_HFSX
/dev/diskxs2 Apple_HFSX — это и будет название диска, с которым надо работать. Если файловая система содержит ошибки, система может запустить автоматическую проверку. Чтобы узнать, что происходит, выполните команду
tail -f /var/log/fsck_hfs.log
Если идет проверка, дожитесь ее завершения. Чтобы выйти из команды tail, нажмите Ctrl + C.
После этого запустите принудительное исправление ошибок. Не забудьте заменть «X» в названии диска на номер, который выдала программа hdiutil.
fsck_hfs -drfy /dev/diskxs2
Ключи -drfy означают следующее: d — показывать дополнительную информацию (Debug), r — перестроить дерево каталогов (Rebuild catalog tree), f — принудительное исправление (Force), y — автоматически отвечать «Да» на запросы (Yes).
Выполнение команды займет несколько часов, после успешного окончания можно будет видеть:
‘The Volume was repaired successfully’
После этого надо отключить образ.
hdiutil detach /dev/diskxs2
Все вышеперечисленное можно делать на любом образе TimeMachine, в т. ч. подключив внешний бэкап-диск напрямую к компьютеру.
2. Снятие пометки о том, что образ не прошел проверку
Нажмите в Finder правой клавишей на образ и выберите «Показать содержимое». В нем вы увидите файл «com.apple.TimeMachine.MachineID.plist» — это и есть файл настроек образа. Откройте его в любом текстовом редакторе и удалите строчки:
<key>RecoveryBackupDeclinedDate</key>
<date>{дата неудачного бэкапа}</date>
После этого укажите, что образ прошел проверку. Для этого замените строчки
<key>VerificationState</key>
<integer>2</integer>
на
<key>VerificationState</key>
<integer>0</integer>
Вот и все. Сохраняете текстовый файл, вновь запускаете TimeMachine и наслаждаетесь продолжением истории бэкапов.