Я хочу синхронизировать Server1
и Server2
журналы в LogServer
.
Для Server1
:
rsync -avz -e 'ssh -p 2188' user@server1:/usr/local/servers/logs/* /usr/local/logs/
Этот работает, но для Server2
:
rsync -avz -e 'ssh -p 2188' user@server2:/usr/local/servers/logs/* /usr/local/logs/
Не получается:
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]
Обе Server1
и Server2
размещается на Amazon с той же версией rsync
.
ОБНОВИТЬ: я пытался ssh -p 2188 user@server2 pwd
, и это не работает:
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
У меня была точно такая же проблема, и моим решением было то, о чем я никогда не думал. В моем случае rsync
работал нормально все время, пока не остановился во время некоторых тестов после изменений в одном из моих скриптов. Причина заключалась в том, что мой текущий пользователь UNIX находился в несуществующей папке, которая уже была удалена сценарием.
В getcwd(): No such file or directory (2)
сообщение об ошибке было связано с $PWD
, не источник, и нет пункт назначения.
Просто измените папку на существующую (например, cd ~
) и перезапустите скрипт. Не забудь переделать rsync
пути, если они еще не являются абсолютными.