В настоящее время я создаю резервную копию содержимого внешнего жесткого диска A путем (1) удаления всего на целевом внешнем жестком диске B и (2) копирования всего из A в B (в Finder). Внешний жесткий диск содержит только «основные данные» (папки, изображения, видео, документы и т. Д.), Ничего необычного / странного.
Но со всеми удивительными бесплатными инструментами, которые существуют, я не смог найти подходящего для резервного копирования (предложения приняты).
Я хочу автоматизировать это. После нескольких поисков, кажется, я могу использовать rsync
. Затем я хочу автоматизировать это, используя, rsync
чтобы избежать копирования файлов, которые уже находятся на целевом жестком диске (конечно, если изменение было внесено, я хочу обновить файл / папку; то же самое с удаленными файлами / папками или новыми файлами / папки; идея в том, чтобы имитировать то, что я обычно делаю вручную с Finder).
Я дошел до этого
rsync -av --progress --delete /Volumes/A/ /Volumes/B
Теперь журнал полон файлов, имя которых начинается с .
или ._
или даже ._.
. Они необходимы?
Вопрос
Как я могу копировать только те файлы, которые имеют значение, оставляя все те, которые не имеют значения. Например, если у меня есть, photo.png
я ожидал бы скопировать photo.png
, а не ._photo.png
много файлов.
Что --exclude
или --exclude-from
можно безопасно использовать на Mac? Хорошим правилом может быть «просто скопировать все, что показывает Finder», и это то, что я скопировал бы, если бы вручную прошел через все папки.
Дополнительный вопрос
Есть -av --progress --delete
достаточно? Я совершаю преступление или рискую какими-то данными? Какие варианты вы бы использовали.
Пожалуйста, верните ваш ответ с некоторыми аргументами, я был бы признателен.
Я ищу способ автоматизации, rsync
который кажется довольно мощным и бесплатным в использовании.
источник
Ответы:
Для максимальной безопасности скопируйте все
Самый безопасный вариант - скопировать все , включая невидимые файлы метаданных.
Файлы, как правило, существуют по причине и по мере изменения программного обеспечения, так же как и существование, цель и содержание этих файлов метаданных. Копирование всего уменьшит нагрузку на обслуживание и обеспечит легкость в том, что ничего не теряется.
Файл журнала, созданный пользователем,
rsync
будет технически связан с самой природойrsync
инструмента командной строки. Подумайте о том, чтобы предоставить пользователю проверенный, фильтрованный метаданные и, возможно, даже цветной кодированный вывод. Вы можете сделать это с помощью широкого спектра инструментов и языков сценариев. Если вам нужна помощь в этом подходе, задайте дополнительные вопросы здесь, в разделе «Спроси иначе» и « StackOverflow» .Удалить последние и скопировать ресурсы OS X
Что касается
rsync
флагов, взгляните на вопрос Самый быстрый и безопасный способ скопировать массивные данные с одного внешнего диска на другой . В этом вопросе используются несколько дополнительных флагов:В этой ситуации
E
будет обеспечено копирование вилок ресурсов и других специфических свойств Mac.Возможно, вы захотите
--delete-after
избежать удаления до завершения копирования; обратите внимание, что этот подход может потребовать, чтобы целевой диск был вдвое больше исходного.Возможные исключения
Ответ на связанный вопрос: Как я могу опустить FCPX Render Files из резервной копии Time Machine? предоставил полезную ссылку на файлы и папки OS X, которые можно исключить из большинства резервных копий . Эта ссылка содержит практический список шаблонов файлов, папок и путей, которые вы можете исключить.
Включить точечные файлы
Есть веские причины для резервного копирования файлов, начиная с точек,
.*
соответствующих файлов.Некоторое программное обеспечение хранит предпочтения, настройки и другую полезную информацию в папках вверху папки пользователя в папках с невидимыми точками. Запуск
ls -la ~/
покажет эти папки и файлы.Если какой-либо пользователь использует или имеет программное обеспечение, которое, в свою очередь, использует программное обеспечение для контроля версий, обязательно создайте резервную копию файлов точек. Такие программы, как subversion и git, хранят важную информацию в своих точечных папках. Эти скрытые папки могут быть разбросаны по вашей файловой системе, где бы ни находился проект.
Центр внимания и доступ к диску
Центр внимания - поисковая служба OS X. Spotlight использует этот
mdworker
процесс для индексации и обновления каталога поиска. Если вас беспокоит возможное повреждение диска или медленное копирование, отключениеmdworker
во время работыrsync
может помочь. Лично я оставляю Spotlight включенным во время работы с большимиrsync
передачами.источник
rsync
.E
И--delete-after
ключевые моменты , которые делают из этого ответа выигрышный.-E
более новых версиях есть то,-X
что я рекомендую в некоторых местах, какой из них правильный? Или они оба? Я хотел бы получить актуальную, псевдо-полную версию, охватывающую большинство общих проблем. Будет ли копирование файлов Spotlight проще и быстрее, чем их создание? Как я могу остановить Spotlight, чтобы он не мешал? Как насчетcaffeinate
процесса? Или, может быть, если это просто резервный список, который не может быть проиндексирован Spotlight, тем более беспокойство и т. Д. На многие из этих вопросов наверняка был дан ответ.Если вы используете
rsync
версию 3.0.6 для Carbon Copy Cloner или 3.1.2 для Homebrew, вы можете воспользоваться репликами Carbon Copy Cloner:rsync -A -X -H -p --fileflags --force-change -l -N -rtx --protect-decmpfs --numeric-ids -go --delete-during --backup --backup-dir=</PATH/TO/STICK/BACKUP_when_using_delete> --protect-args <SRC>/ <DEST>
источник
--protect-decmpfs
больше не доступно с 3.1.3, см. github.com/Homebrew/homebrew-core/pull/23415 .Я бы посоветовал не обрезать метаданные во время резервного копирования, особенно точечные файлы, например
._$filename
, однако, если вы действительно хотите исключить точечные файлы из вашейrsync
команды, добавьте--exclude '.*'
к нему.источник
'.*'
и'/.*'
?). Я не думаю, что Finder копирует их все, может быть, только некоторые из них связаны. В этом случае я бы предпочел исключить только те, которые не нужны (например,.DS_Store
). И да, те, которые могут быть важными, но которые я не хочу иметь в своем журнале, я могу фильтровать с помощью регулярных выражений.A
диска.Я не совсем доволен текущими ответами, но я попытаюсь осветить здесь немного возможностей, которые я видел в Интернете, пытаясь найти хорошую настройку
rsync
.И, кстати, если кто-то заинтересован в Time Machine, как копии, есть
rsnapshot
. И есть также Unison для двухсторонней синхронизации. Кроме того, на самом деле есть несколько графических интерфейсов, таких как Backup Utility и arRsync ; не совсем то, что я искал, но они могли бы сделать работу за кого-то.Во-первых, мое единственное намерение состояло в том, чтобы дублировать фотографии и видео, поэтому точная копия не требовалась, поэтому не нужно слишком заботиться . На самом деле большинство моих сомнений заключалось в том, что я могу исключить все (то же самое, что произойдет, если, скажем, я скачал фотографию из Интернета, я просто скачаю .png, все остальное не загружается, а генерируется автоматически ).
Вот неструктурированный список мыслей, которые вы можете принять во внимание
Если вы хотите убедиться, что ваш ноутбук не идет спать, вы можете захотеть
caffeinate
процессcaffeinate -s rsync -av ...
. Взято отсюда .Если вы делаете локальные копии, как в моем случае, или даже если интернет-соединение не слишком медленное, вы не должны использовать
-z
option (сжатие) и использовать-W
(передавать весь файл, а не дельта-переносы; это значение по умолчанию, когда локально) и, вероятно, использовать--inplace
для быстрого перевода. Взято отсюда .Вы можете использовать
--delete-after
любой файл, который будет сначала передан, а затем перемещен в место назначения (и удалил исходный), и это безопаснее, чем удаление перед передачей или во время передачи.Вы можете остановить передачу, нажав ctrl + C, и она остановится чисто. Взято отсюда . Это был один из моих страхов в SuperDuper !, если вам нужно остановить перевод, вы получите сообщение «Вы оставите жесткий диск в неизвестном состоянии…».
В последних версиях есть
--info=progress2
что добавляет еще больше деталей-v
.Есть
-P
(что равно--partial
и--progress
), что оставит промежуточные файлы там, чтобы вы могли продолжать работу при перезапуске процесса (если по какой-то причине вы не можете завершить синхронизацию сразу).Кто-то может быть заинтересован в остановке Spotlight или TimeMachine перед копированием и включении их после передачи. И даже отключить Spotlight для внешнего диска.
Другие варианты , используемые во всех этих ссылках , включают
-x
(или--one-file-system
),-E
(--executability
),-H
(--hard-links
),-X
(--xattrs
),-A
(--acls
), и--sparse
,--hfs-compression
,--protect-decmpfs
. Вы можете посмотреть на них.Для меня базовая команда выглядит так (я мог бы использовать больше опций, но этого достаточно для примера):
Теперь в моем случае я мог бы просто включить,
{*.jpg,*.png,*.mp4,*.txt,*.pdf,…}
и никто бы не сказал «вам также нужны системные файлы», но, поскольку я не хочу искать, чтобы получить все возможные типы файлов, из которых у меня есть файлы, я предпочитаю исключать. И есть вещи, которые не только могут быть, но и кажутся удобными для исключения.Я нашел несколько ссылок, возьми что хочешь:
https://bombich.com/kb/ccc4/some-files-and-folders-are-automatically-excluded-from-backup-task
https://gist.github.com/tvwerkhoven/4541989
https://github.com/necolas/dotfiles
https://gist.github.com/shkm/5531679
http://www.hackurmac.com/2014/08/backing-up-and-restoring-your-hackintosh.html
https://github.com/jedda/Counterpart
http://alanwsmith.com/rsync-exclude-list-for-mac-osx
И оттуда вы, вероятно, можете получить то, что безопасно или разумно игнорировать. Вот полный список (я только что удалил дубликаты)
источник
Я использовал rsync для резервного копирования на нескольких работах, и я использую его дома.
Я очень рекомендую это, но с некоторыми модификациями. Как инструмент для резервного копирования, это здорово, но как инструмент для архивирования он выглядит немного плоским. Да, он копирует все, но вы не получаете версии всего, вы всегда получаете только последние версии.
Я использовал это руководство http://www.mikerubel.org/computers/rsync_snapshots/ как трамплин точки. Прочитайте всю страницу. Он отлично объясняет параметры и показывает, как можно создавать инкрементные резервные копии. И что удивительно, этой статье уже более 10 лет, но она все еще применима сегодня. Должен любить Unix.
источник
rsync
. В любом случае, хорошая связь, он охватывает много ,rsync
но есть на сегодняшний день инструмент , чтобы сделать именно это:rsnapshot
.