Esse é o uso correto do rsync para criar um backup do Raspberry Pi?

10

Perdoe minha ignorância, sou um novo usuário deste site, Linux e Raspberry Pi.

A seguir, há um link para uma pergunta, a partir da qual eu usei a resposta bem documentada do usuário rsync, para criar meu próprio rsynccomando para fazer um backup em uma pasta no HD de um MacBook Pro na minha rede local:

Um Raspberry Pi pode ser usado para criar um backup de si mesmo?

Não consegui acompanhar esta pergunta e não consegui enviar uma mensagem ao usuário goldilocks porque parece que não existe tal coisa no Stack Exchange?

O que eu vim com isso é o seguinte:

rsync -aHv --rsync-path="sudo rsync" --delete-during --exclude-from=/Users/user/Documents/rsync-exclude.txt --rsh="ssh" user@host:/ /Users/user/Desktop/rpi-backup/

Pelo que entendi, a adição do --rsync-path="sudo rsync"argumento permite não ter que usar uma conta root (insegura) sobre o ssh.

Tudo parece correr bem, mas infelizmente recebo um erro no final da transferência, que se parece com isso:

rsync error: some files could not be transferred (code 23) at /BuildRoot/Library/Caches/com.apple.xbs/Sources/rsync/rsync-47/rsync/main.c(1400) [generator=2.6.9]

É com isso que eu deveria me preocupar e, em caso afirmativo, como corrigi-lo? Ou é porque eu usei um rsync-exluded.txtarquivo para excluir a exclusão de certos diretórios durante o rsync e esse erro está apenas confirmando isso?

Além disso, foi dito por um usuário que respondeu a essa pergunta que não seria possível fazer backup em um Mac? Meu comando parecia funcionar sem problemas, pois havia obviamente um backup do sistema de arquivos na pasta que designei como destino. O único problema foi o erro que recebi no final do rsync.

caoticslacker
fonte
Bem-vindo ao Stack Exchange (e ao canto com Raspberry Pi)! Embora você não possa enviar mensagens para um usuário específico se você participar (inicialmente) de fazer boas perguntas e fornecer boas respostas, sua reputação aumentará a tal ponto que você poderá conversar nas salas de bate-papo (mais de 20 reputação) e adicionar comentários ao material não é seu (50+).
SlySven
O usuário "goldilocks" é atualmente um dos nossos moderadores (observe o ♦ ao lado do nome) e, como tal, é bastante ativo - você pode encontrá-lo em " The Bakery ", que é a principal sala de bate-papo do Raspberry Pi SE .. Ah, e marque um +1 com uma pergunta razoável para ajudá-lo no seu caminho. 8-)
SlySven
O link que você citou tem muitas variantes diferentes. Eu uso rotineiramente um desses (para fazer backup no HDD). Você deve especificar para onde está tentando fazer backup. Infelizmente, se você estiver tentando fazer backup no OS X, não terá êxito por vários motivos. Você pode voltar para outra máquina Linux.
Milliways 22/02
Obrigado pela calorosa recepção SlySven! Espero conseguir pontos suficientes para entrar nesta sala de bate-papo! Milliways, você poderia explicar por que disse que não vou conseguir fazer backup do OS X ou que talvez me aponte para algum lugar onde essa declaração seja um pouco mais detalhada?
chaoticslacker
Se você está se referindo a um comentário, deve endereçá-lo (com @). 1 O Unix e Linux rsyncdiferem, 2 OS X sobreposições Unix com a sua própria camada que impede o acesso a determinados diretórios 3 A menos Usuários coincidem com as configurações podem ser perdidas, 4 permissões em hfxe ext4diferem significativamente. Você pode fazer o backup de arquivos do usuário, mas os arquivos do sistema serão perdidos / perdidos.
Milliways

Respostas:

1

Existem vários problemas ao fazer o que você está tentando fazer.

  1. Como outros apontaram, você perde muitos metadados que vão do ext [234] fs para o hfs + e vice-versa. Além disso, por padrão, o hfs + preserva e não diferencia maiúsculas de minúsculas; portanto, se você tiver, por exemplo, / bin / foo e / bin / Foo, você perderá um deles. Melhor usar outra máquina Linux. No caso extremamente improvável de você não ter uma máquina sobressalente, basta abrir uma VM Linux no seu macbook.
  2. as opções rsync não estão erradas. Você precisa -avSHxAX para transferir corretamente todos os metadados.
  3. Você realmente não precisa de --rsync-path ou --rsh. Faça o que você está fazendo como root e configure .ssh / allowed_keys na conta raiz da outra máquina para permitir o acesso. Menos confuso.
  4. A maneira correta de fazer backups é usar o dump / restore.
JayEye
fonte
1

Uso o rpi-clone todos os dias há algumas semanas para clonar meu RPi3 em execução, Raspian Jessie. Demora cerca de 10 minutos para clonar em um segundo cartão Micro SD. Depois desligo, retiro os dois cartões, guardo o original e inicializo usando o clone. Portanto, eu sei que o backup funciona. Giro 3 cartões dessa maneira, para ter sempre um cartão seguro. Funciona para mim ;-)

Geoff
fonte
Script interessante Geoff, infelizmente não tenho o hardware necessário no momento para conferir. Irá verificar em breve embora. Obrigado pelo link.
chaoticslacker