Я не совсем доволен текущими ответами, но я попытаюсь осветить здесь немного возможностей, которые я видел в Интернете, пытаясь найти хорошую настройку 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
. Вы можете посмотреть на них.
Для меня базовая команда выглядит так (я мог бы использовать больше опций, но этого достаточно для примера):
caffeinate -s rsync -av --delete-after --progress --stats --exclude-from 'excludefile.txt' \
"/Volumes/SrcHDD/" "/Volumes/DstHDD" # note the trailing slash / after the source
Теперь в моем случае я мог бы просто включить, {*.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
И оттуда вы, вероятно, можете получить то, что безопасно или разумно игнорировать. Вот полный список (я только что удалил дубликаты)
.HFS+ Private Directory Data*
/.journal
/.journal_info_block
.AppleDouble
.AppleDB
/lost+found
.metadata_never_index
.metadata_never_index_unless_rootfs
/.com.apple.timemachine.donotpresent
.VolumeIcon.icns
/System/Library/CoreServices/.disk_label*
/TheVolumeSettingsFolder
.DocumentRevisions-V100*
.Spotlight-V100
/.fseventsd
/.hotfiles.btree
/private/var/db/systemstats
/private/var/db/dyld/dyld_*
/System/Library/Caches/com.apple.bootstamps/*
/System/Library/Caches/com.apple.corestorage/*
/System/Library/Caches/com.apple.kext.caches/*
/.com.apple.NetBootX
/Volumes/*
/dev/*
/automount/*
/Network/*
/.vol/*
/net
/private/var/folders/zz/*
/private/var/vm/*
/private/tmp/*
/cores/*
.Trash
.Trashes
/Backups.backupdb
/.MobileBackups
/.MobileBackups.trash
/.MobileBackups.trash
Library/Mobile Documents.*
.webtmp
/Library/Caches/CrashPlan
/PGPWDE01
/PGPWDE02
/.bzvol
/Library/Application Support/Comodo/AntiVirus/Quarantine
/private/var/spool/qmaster
$Recycle.Bin
Saved Application State
Library/Preferences/ByHost/com.apple.loginwindow*
.AppleDesktop
.com.apple.timemachine.supported
Network Trash Folder
/Library/Caches/*
/private/var/spool/postfix/*
$RECYCLE.BIN
/stuff/*
/afs/*
/private/var/run/*
/Previous Systems.localized
/tmp/*
.dbfseventsd
.DS_Store
.PKInstallSandboxManager
.SymAV*
.symSchedScanLockxz
.TemporaryItems
Desktop DB
Desktop DF
hiberfil.sys
pagefile.sys
Recycled
RECYCLER
System Volume Information
Temporary Items
Thumbs.db
AUTORUN.INF
Autorun.inf
autorun.inf