rsync:getcwd():没有此文件或目录(2)

rsync:getcwd():没有此文件或目录(2)

我想将Server1Server2的日志同步到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

截屏

在此处输入图片描述

答案1

末日审判

我当前登录的 UNIX 用户位于一个不存在的文件夹中。

细节

我遇到了完全相同的问题,而我的解决方案是我从未想过的。在我的案例中,它rsync一直运行良好,直到在更改我的一个脚本后,在一些测试中停止运行。罪魁祸首是我当前登录的 UNIX 用户位于一个不存在的文件夹中,该文件夹已被脚本删除。

getcwd(): No such file or directory (2)错误信息与以下相关$PWD不是来源,并不是目的地。

只需将文件夹更改为现有文件夹(例如cd ~)并重新运行脚本即可。rsync如果路径还不是绝对路径,请不要忘记更改路径。

相关内容