Incapaz de rsync entre o meu servidor e meu Mac
-
03-07-2019 - |
Pergunta
Eu tenho um servidor onde eu armazenar dados de Mac A e B Mac.
Eu uso o rsync para manter os arquivos atualizados entre os meus Macs.
Eu corro o seguinte código sem sucesso
#!/bin/zsh
# to copy files from my server to my folder
rsync -Pav $Masi:~/private/ ~/Dropbox/Courses/math/
# to copy files from my folder to my server
rsync -Pav ~/Dropbox/Courses/math $Masi:~/private/
Eu recebo a seguinte mensagem de erro
ssh: connect to host port 22: Connection refused
rsync: connection unexpectedly closed (0 bytes received so far) [receiver]
rsync error: unexplained error (code 255) at io.c(600) [receiver=3.0.5]
ssh: connect to host port 22: Connection refused
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: unexplained error (code 255) at io.c(600) [sender=3.0.5]
Eu tenho as chaves SSH no lugar assim que a conexão deve funcionar, desde que eu possa usar scp sem problemas.
Como você pode usar rsync entre o meu servidor e um dos meus Macs?
Solução
Eu costumava fazer um monte de presente. Apenas fez um teste, algumas sugestões.
- Soletrar seu usuário inteira @ padrão de host
- Execute os sans conexão SSH o rsync em primeiro lugar, você pode precisar primeiro aprovar a sua impressão digital
- Você não parecem passar uma bandeira para proteger atributos estendidos, este pode produzir arquivos no OS X. quebrado Se você não precisa de bifurcações de recursos, você está OK, mas a maioria das vezes você precisa deles.
O meu caso de teste:
$ rsync -Pav ~/Desktop/ me@remote.example.com:~/rsyc-test
Nesse caso, todos os arquivos dentro de ~ / Desktop foram copiados para o servidor remoto, na minha dir casa. Desde o diretório 'rsyc-test' não existisse, ela foi feita para mim. Eu tinha um .app no ??meu desktop, ele fez sobre, surpreendentemente, ele funciona. Até mesmo alguns arquivos .webloc fez isso e parecem trabalho, embora eu não confiar nele.
Gostaria de sugerir a adição na bandeira -E
-E, --extended-attributes Apple specific option to copy extended attributes, resource forks, and ACLs. Requires at least Mac OS X 10.4 or suitably patched rsync.
Eu corri um novo teste, mudou um marcador Interarchy para o meu desktop, eu sei para um fato estes pausa se eles são copiados sans bifurcações de recursos. Correr sem o -E relação com o -E, existe uma diferença de 152 bytes de dados xfered. O primeiro arquivo na máquina remota não funcionou, o arquivo segunda transferidos fez trabalho.
Eu não posso deixar de notar no seu exemplo um de seus caminhos é ~ / Dropbox para que tudo isto pode não importa, já que DropBox, o aplicativo, não em todos os garfos de recursos de suporte no momento, embora eu ouvi há planos para em o futuro.
Você também não enviar na bandeira --delete, se o seu objetivo final é um espelho dos seus dados, você não está recebendo que, se o seu objetivo final é backups que cresce continuamente, mantendo tudo o que foi já na fonte , a falta de --delete é bom.
Outras indicações:
Você pode excluir esses arquivos bobo .DS_Store
--exclude '.DS_Store'
Você também pode conjunto rsync-se de forma a ser um verdadeiro espelho, para que você não precisa executar o seu outro comando, consulte a página do manual para mais detalhes.
O meu comando final de trabalho de empurrar a área de trabalho do meu laptop para uma máquina remota:
$ rsync -PEav --delete --exclude '.DS_Store' ~/Desktop/ me@remote.example.com:~/rsycn-test
Outras dicas
Verifique "$ Masi". Se que o nome do host que você está tentando alcançar?
Tente o seguinte comando para depurá-lo:
rsync -e 'ssh -v' -Pav $Masi:~/private/ ~/Dropbox/Courses/math/
O Conexão recusada geralmente acontece quando há um problema de conexão com o controle remoto (por exemplo, firewall).
No seu caso o problema é que variável $Masi
está vazio. Se não for variável, o uso Masi
.
De acordo com este erro:
ssh:
connect to host port 22: Connection refused
Observe o espaço duplo acima após a palavra host
.
conectar ao host mensagem não diz para qual host, então você está tentando se conectar ao anfitrião vazio. Por isso, soa como um erro de digitação no nome do host.