Назад | Перейти на главную страницу

rsync: getcwd (): нет такого файла или каталога (2)

Я хочу синхронизировать 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 пути, если они еще не являются абсолютными.