Eu quero sincronizar Server1
e Server2
registrar LogServer
.
Para Server1
:
rsync -avz -e 'ssh -p 2188' user@server1:/usr/local/servers/logs/* /usr/local/logs/
Este funciona, mas para Server2
:
rsync -avz -e 'ssh -p 2188' user@server2:/usr/local/servers/logs/* /usr/local/logs/
Falha:
shell-init: error retrieving current directory: getcwd: cannot access parent directories: no such file or directory
job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: no such file or directory
job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: no such file or directory
rsync: getcwd(): No such file or directory (2)
rsync error: errors selecting input/output files, dirs (code 3) at util.c(992) [sender=3.0.6]
rsync: connection unexpectedly closed (0 bytes received so far) [receiver]
rsync error: error in rsync protocol data stream (code 12) at io.c(600) [receiver=3.0.6]
Ambos Server1
e Server2
está hospedado na Amazon com a mesma versão do rsync
.
Tenho certeza de que todos os diretórios do comando existem. Como posso resolver este problema?
UPDATE: Eu tentei ssh -p 2188 user@server2 pwd
e não funciona:
shell-init: error retrieving current directory: getcwd: cannot access parent directories: no such file or directory
job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: no such file or directory
ls -R /usr/local/servers
funciona sem erros?Respostas:
Eu tinha exatamente o mesmo problema e minha solução era algo em que nunca havia pensado. No meu caso,
rsync
funcionou bem o tempo todo, até que parou durante alguns testes após alterações em um dos meus scripts. O culpado foi que meu usuário UNIX atualmente conectado estava em uma pasta inexistente que já havia sido excluída por um script.A
getcwd(): No such file or directory (2)
mensagem de erro estava relacionada$PWD
, não à origem e não ao destino.Apenas mude a pasta para uma existente (por exemplo,
cd ~
) e execute novamente o script. Não se esqueça de alterar osrsync
caminhos se eles ainda não forem absolutos.fonte