Atualmente, faço backup do conteúdo de um disco rígido externo A (1) excluindo tudo no disco rígido externo de destino B e (2) copiando tudo de A para B (no Finder). O disco rígido externo contém apenas "dados básicos" (pastas, imagens, vídeos, documentos etc.), nada extravagante / estranho.
Mas com todas as incríveis ferramentas gratuitas que existem por aí, não consegui encontrar uma ferramenta decente para backup (sugestões aceitas).
Eu quero automatizar isso. Depois de algumas pesquisas, parece que posso usar rsync
. Eu quero automatizar isso usando isso rsync
para evitar a cópia de arquivos que já estão no disco rígido de destino (é claro, se uma alteração tiver sido feita, eu quero atualizar o arquivo / pasta; o mesmo com arquivos / pastas excluídos ou novos arquivos / folders; a idéia é imitar o que costumo fazer manualmente com o Finder).
Cheguei a esse ponto
rsync -av --progress --delete /Volumes/A/ /Volumes/B
Agora o log está cheio de arquivos cujo nome começa com .
ou ._
ou mesmo ._.
. Eles são necessários?
Questão
Como posso copiar apenas os arquivos importantes, deixando todos os que não importam para trás. Por exemplo, se eu tiver photo.png
, espero copiar photo.png
, não ._photo.png
ou muitos arquivos.
O que --exclude
ou --exclude-from
pode ser usado com segurança em um Mac? Pode ser uma boa regra "copiar apenas qualquer coisa que o Finder mostre", que é o que eu copiaria se passasse manualmente por todas as pastas.
Pergunta extra
É -av --progress --delete
suficiente? Estou cometendo um crime ou arriscando alguns dados? Quais opções você usaria.
Por favor, apoie sua resposta com alguns argumentos, eu agradeceria.
Estou procurando uma maneira de automatizar o rsync
que parece bastante poderoso e gratuito.
fonte
Respostas:
Para máxima segurança, copie tudo
A opção mais segura é copiar tudo , incluindo arquivos de metadados invisíveis.
Os arquivos tendem a existir por um motivo e à medida que o software muda, o mesmo ocorre com a existência, a finalidade e o conteúdo desses arquivos de metadados. Copiar tudo reduzirá a carga de manutenção e oferecerá tranqüilidade de que nada está sendo perdido.
O arquivo de log criado por
rsync
será tecnicamente envolvido pela própria natureza dersync
ser uma ferramenta de linha de comando. Considere a possibilidade de apresentar uma saída codificada arrumada, com metadados e talvez até com códigos coloridos para o usuário verificar. Você pode fazer isso com uma ampla variedade de ferramentas e linguagens de script. Por favor, faça mais perguntas aqui na Pergunte diferente e em StackOverflow se você precisar de ajuda com esta abordagem.Excluir último e copiar recursos do OS X
Com relação aos
rsync
sinalizadores, dê uma olhada na pergunta A maneira mais rápida e segura de copiar dados massivos de uma unidade externa para outra . Nesta pergunta, alguns sinalizadores adicionais são usados e explicados:Nessa situação,
E
ele garantirá que os garfos de recursos e outras propriedades específicas do Mac sejam copiados.Você pode considerar
--delete-after
evitar a exclusão até que a cópia seja concluída; observe que essa abordagem exigirá uma unidade de destino com o dobro do tamanho da fonte.Possíveis exclusões
Uma resposta a uma pergunta relacionada: Como omitir arquivos de renderização FCPX de um backup do Time Machine? , forneceu um link útil de arquivos e pastas do OS X que podem ser excluídos da maioria dos backups . Este link fornece uma lista prática de padrões de arquivos, pastas e caminhos que você pode excluir.
Incluir arquivos de ponto
Há boas razões para fazer backup de arquivos começando com pontos,
.*
arquivos correspondentes.Alguns softwares mantêm preferências, configurações e outras informações de valor em pastas na parte superior da pasta do usuário em pastas com prefixo de ponto invisível. A execução
ls -la ~/
revelará essas pastas e arquivos.Se algum usuário usar ou possuir um software que, por sua vez, use o software de controle de versão, faça backup dos arquivos de ponto. Programas como o subversion e o git armazenam informações críticas em suas pastas de pontos. Essas pastas ocultas podem ser espalhadas pelo sistema de arquivos, onde um projeto é retirado.
Destaque e acesso ao disco
O Spotlight é o serviço de pesquisa do OS X. O Spotlight usa o
mdworker
processo para indexar e atualizar o catálogo de pesquisa. Se você estiver preocupado com uma possível corrupção de disco ou cópias lentas, a desativaçãomdworker
durante a execuçãorsync
pode ajudar. Pessoalmente, deixo o Spotlight em execução durante grandesrsync
transferências.fonte
rsync
.E
e--delete-after
são os que fazem desta resposta uma vitória.-E
, nas versões mais recentes, há as-X
que eu vejo recomendadas em alguns lugares, qual é a correta? Ou os dois? Gostaria de um pseudo-completo e atualizado que cubra a maioria das preocupações gerais. Copiar arquivos Spotlight seria mais fácil e rápido do que permitir que eles fossem gerados? Como posso parar o Spotlight para que não mexa enquanto isso? Ecaffeinate
o processo? Ou pode ser, se é apenas uma lista de backup, não a torna indexável pelo Spotlight, muito menos preocupações, etc. Muitas dessas perguntas foram respondidas com certeza.Se você estiver usando a
rsync
versão 3.0.6, como no Carbon Copy Cloner, ou 3.1.2, no Homebrew, você poderá usar os argumentos do 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>
fonte
--protect-decmpfs
não está mais disponível a partir do 3.1.3, consulte github.com/Homebrew/homebrew-core/pull/23415 .Eu desaconselho a remoção de metadados durante um backup, particularmente os arquivos de ponto, por exemplo
._$filename
, no entanto, se você realmente deseja excluir os arquivos de ponto do seursync
comando, adicione--exclude '.*'
-o.fonte
'.*'
e'/.*'
?). Eu não acho que o Finder copie todos eles, podem ser apenas alguns associados. Nesse caso, eu preferiria excluir apenas aqueles que são desnecessários (por exemplo,.DS_Store
). E sim, aqueles que podem ser importantes, mas que eu não quero ter no meu log, posso filtrar com expressões regulares.A
disco.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 realizadocaffeinate -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):
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)
fonte
Eu usei o rsync para backups em vários trabalhos e o uso em casa.
Eu recomendo, mas com algumas modificações. Como uma ferramenta de backup, é ótimo, mas como uma ferramenta de arquivamento, ela cai um pouco. Sim, ele copia tudo, mas você não obtém versões de tudo, sempre obtém apenas as versões mais recentes.
Eu usei este guia http://www.mikerubel.org/computers/rsync_snapshots/ como ponto de partida. Leia a página inteira. Ele explica muito bem as opções e descreve como você pode implementar backups incrementais. E, surpreendentemente, o artigo tem mais de 10 anos, mas ainda é aplicável hoje. Tenho que amar o unix.
fonte
rsync
. Em qualquer caso, o bom link, que abrange uma série dersync
mas existe a partir de hoje uma ferramenta para fazer exatamente isso:rsnapshot
.