В прошлой статье я рассказал об аттрибуте, который говорит Time Machine не делать резервную копию файла. Сегодня продемонстрирую, как его можно использовать.
Берём два файла. Для первого (bigfile1.bin) выставим аттрибут com.apple.metadata:com_apple_backup_excludeItem=’com.apple.backupd’, для другого (bigfile2.bin) – нет:
$ touch bigfile1.bin $ touch bigfile2.bin $ xattr -w com.apple.metadata:com_apple_backup_excludeItem \ com.apple.backupd bigfile1.bin $ xattr -l bigfile1.bin com.apple.metadata:com_apple_backup_excludeItem: com.apple.backupd $ xattr -l bigfile2.bin $
Также сделаем два каталога, в которые поместим несколько файлов без расширенных атрибутов, и на первый выставим исключение. Тест покажет, поместит ли Time Machine файлы из запрещённого каталога в архив или нет.
$ mkdir bigdir1 $ touch bigdir1/bigfile3.bin $ touch bigdir1/bigfile4.bin $ xattr -w com.apple.metadata:com_apple_backup_excludeItem com.apple.backupd bigdir1 $ xattr -l bigdir1 com.apple.metadata:com_apple_backup_excludeItem: com.apple.backupd $ xattr -l bigdir1/bigfile4.bin $ $ mkdir bigdir2 $ touch bigdir2/bigfile5.bin $ touch bigdir2/bigfile6.bin $ xattr -l bigdir2 $
Запускаем Time Machine, проводим бекап. Смотрим результат.
Монтируем образ Time Machine с сетевой Time Capsule:
$ hdiutil mount /Volumes/Meow/ole-mac.sparsebundle
Ищем, какие файлы занесены в архив Time Machine:
$ mdfind \ -onlyin '/Volumes/Time Machine Backups/Backups.backupdb/ole-mac' \ '_kTimeMachineOldestSnapshot > $time.now(-7200)' | grep -e bigfile -e bigdir /Volumes/Time Machine Backups/Backups.backupdb/ole-mac/2010-03-13-191711/Macintosh HD/Users/ctrld/bigdir2 /Volumes/Time Machine Backups/Backups.backupdb/ole-mac/2010-03-13-191711/Macintosh HD/Users/ctrld/bigdir2/bigfile5.bin /Volumes/Time Machine Backups/Backups.backupdb/ole-mac/2010-03-13-191711/Macintosh HD/Users/ctrld/bigdir2/bigfile6.bin /Volumes/Time Machine Backups/Backups.backupdb/ole-mac/2010-03-13-191711/Macintosh HD/Users/ctrld/bigfile2.bin
Освобождаем образ Time Machine
$ hdiutil eject /Volumes/Time\ Machine\ Backups/
Из полученных результатов видно, что при установке атрибута com_apple_backup_excludeItem данные действительно не помещаются в архив Time Machine. Если атрибут выставлен для каталога, то не помещается ни сам каталог, ни его содержимое.
Само собой исключение каталогов в опциях Time Machine никто не отменяет, но бывают ситуации, когда проще сделать исключение каталогов через командную строку. И опять-таки – знание никогда не будет лишним.