Não estou completamente satisfeito com as respostas atuais, mas tentarei abordar aqui algumas das possibilidades que vi na Web tentando encontrar uma boa configuração rsync
.
E, a propósito, se alguém está interessado no Time Machine como cópias, existe rsnapshot
. E também há o Unison para sincronizações bidirecionais. Além disso, existem realmente algumas GUIs, como o Utilitário de Backup e o arRsync ; não é exatamente o que eu estava procurando, mas eles podem fazer o trabalho para alguém.
Primeiro, minha única intenção era duplicar fotos e vídeos, de modo que a cópia exata não era necessária e, portanto, não havia necessidade de me preocupar muito . Na verdade, a maioria das minhas dúvidas era se eu poderia excluir tudo (o mesmo que aconteceria se, digamos, eu baixasse uma foto da Internet, eu apenas baixasse um .png, todo o resto não é baixado, mas gerado automaticamente ).
Aqui está uma lista não estruturada de pensamentos que você pode querer levar em consideração
Se você deseja garantir que seu laptop não entre no modo de suspensão, convém que caffeinate
o processo seja realizado caffeinate -s rsync -av ...
. Retirado daqui .
Se você estiver fazendo cópias locais, como no meu caso, ou mesmo se a conexão à Internet não for muito lenta, não use a -z
opção (compactação) e use -W
(transferir arquivo inteiro, em vez de transferências delta; esse é o padrão quando local) e provavelmente use --inplace
para fazer transferências rapidamente. Retirado daqui .
Você pode usar --delete-after
para que qualquer arquivo seja primeiro transferido e depois movido no destino (e excluído o original) e seja mais seguro do que excluir antes da transferência ou durante a transferência.
Você pode interromper a transferência pressionando ctrl + Ce ela será interrompida corretamente. Retirado daqui . Esse foi um dos meus medos com o SuperDuper !, se você precisar interromper uma transferência, receberá a mensagem "Você deixará o disco rígido em um estado desconhecido ...".
Nas versões recentes, há o --info=progress2
que acrescenta ainda mais detalhes -v
.
Existem -P
(iguais --partial
e --progress
) que deixarão os arquivos transferidos no meio para que você possa continuar quando reiniciar o processo (se, por algum motivo, não puder terminar a sincronização de uma só vez).
Pode-se estar interessado em interromper o Spotlight ou o TimeMachine antes de fazer a cópia e reativá-los após a transferência. E até desative o Spotlight para o disco externo.
Outras opções usadas em todas essas referências incluem -x
(ou --one-file-system
), -E
( --executability
), -H
( --hard-links
), -X
( --xattrs
), -A
( --acls
), e --sparse
, --hfs-compression
, --protect-decmpfs
. Você pode querer olhar para eles.
Para mim, parece um comando básico (eu poderia usar mais opções, mas isso é suficiente para um exemplo):
caffeinate -s rsync -av --delete-after --progress --stats --exclude-from 'excludefile.txt' \
"/Volumes/SrcHDD/" "/Volumes/DstHDD" # note the trailing slash / after the source
Agora, no meu caso, eu poderia incluir {*.jpg,*.png,*.mp4,*.txt,*.pdf,…}
e ninguém diria "você também precisa de arquivos do sistema", mas como não quero pesquisar para obter todo o tipo de arquivo possível de que tenho arquivos, prefiro excluir. E há coisas que não apenas podem ser, mas parecem convenientes de excluir.
Encontrei alguns links, pegue o que quiser:
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
E a partir daí você provavelmente conseguiria o que é seguro ou sensato ignorar. Aqui está a lista completa (acabei de remover as duplicatas)
.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