rsync: getcwd (): Nenhum arquivo ou diretório (2)

9

Quero sincronizar os registros de Server1 e Server2 para 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]

O Server1 e o Server2 estão hospedados na Amazon com a mesma versão de rsync .

Tenho certeza de que todo diretório no comando existe. Como posso resolver este problema?

UPDATE: 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

Screenshot

    
por MrROY 28.04.2014 / 13:00

1 resposta

20

Eu tive exatamente o mesmo problema, e minha solução foi algo que eu nunca tinha pensado. No meu caso rsync funcionou bem o tempo todo até que parou durante alguns testes após as alterações em um dos meus scripts. O culpado foi que o meu usuário UNIX atualmente logado estava em uma pasta inexistente que já foi excluída por um script.

A mensagem de erro getcwd(): No such file or directory (2) estava relacionada a $PWD , não a origem, e não ao destino.

Basta alterar a pasta para uma existente (por exemplo, cd ~ ) e executar novamente o script. Não se esqueça de alterar rsync caminhos se eles ainda não forem absolutos.

    
por 12.01.2016 / 11:26