Eu tenho um Mac e um PC na mesma LAN. O PC está executando OpenSSH.
Copiei uma pasta de (subpastas contendo) 30 GB de arquivos do Mac para o PC via:
scp -r ~/orig_folder/* [email protected]:another_folder/
Estou hesitando em excluir os 30 GB de arquivos do Mac antes de fazer algum tipo de "diff" (comparação) para provar que todos os arquivos foram copiados com sucesso para o PC.
Já ouvi falar, rsync
mas acho que não funciona do Mac para o Windows, certo? (Tentei vários rsync
comandos SSH diferentes.)
Se também tentasse abordagens mais simples de apenascontando o número de arquivos, mas houve incompatibilidades; Acho que às vezes certos arquivos não aparecem nos dois sistemas operacionais. Aparentemente, os tamanhos dos arquivos também diferem.
Como posso realizar meu objetivo?
Responder1
Pense nisso rsync
como um protocolo para quais arquivos copiar, para que não dependa do sistema operacional. Algumas coisas, como preservar carimbos de data e hora, permissões de usuário/grupo, etc., dependerão do sistema operacional.
Usando o rsync em um Mac para copiar pastas
Usando rsync sobre SSH (veja #3)
Mais uma dica: evite espaços e outros caracteres especiais do diretório remoto e comece com seu diretório de trabalho sendo a fonte dos arquivos dos quais deseja fazer backup, para que você possa referenciá-lo ./
e não se preocupar com caracteres especiais, etc. na máquina local.
Pessoalmente, eu encerraria esta questão e perguntaria novamente se você ainda tem problemas ao usar rsync
, incluir seu rsync
comando, etc.
Responder2
eu encontreiBeyond Compare 4 Pro (no Windows 10)para fazer isso facilmente.
No Mac, habilitei o Login Remoto. Então usei o BC4Pro para comparar pastas:
- K:\pasta_orig\part1\
- sftp://[e-mail protegido]/parte 1/
Descobri que minha transferência SCP original parece ter omitido uma subpasta que tinha um nome que começava com um asterisco no Mac: "*Preliminares".
Além disso, existiam muitos arquivos chamados ".DS_Store" e "Icon" no Mac que nunca foram copiados para o PC, mas acho que esses são todos arquivos específicos do sistema operacional que não importam.
Tentativa antiga:
No terminal Mac, talvez a chave seja executá-lo assim, sem asteriscos:
rsync -aichzvn --rsync-path="C:\HashiCorp\Vagrant\embedded\usr\bin\rsync.exe" orig_folder/ [email protected]:part1sub/
(Verhttps://serverfault.com/a/852335/119666)
... e execute-o também na direção inversa (ainda no terminal Mac, mas com a ordem dos locais das pastas do computador alterada para que o PC remoto seja listado antes da pasta Mac local).
Mas não consegui fazer isso funcionar.