web-dev-qa-db-ja.com

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は、同じバージョンのrsyncを使用してAmazonでホストされています。

コマンド内のすべてのディレクトリが存在することは確かです。この問題を解決するにはどうすればよいですか?

PDATE:試しました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

スクリーンショット

enter image description here

11
WoooHaaaa

私はまったく同じ問題を抱えていましたが、私の解決策は私が考えたことのないものでした。私の場合、rsyncは、スクリプトの1つを変更した後、一部のテスト中に停止するまで、常に問題なく動作しました。原因は、現在ログインしているUNIXユーザーが、スクリプトによって既に削除されている存在しないフォルダーにあったことです。

getcwd(): No such file or directory (2)エラーメッセージは、$PWDnotソース、and notデスティネーションに関連しています。

フォルダを既存のフォルダ(例:cd ~)に変更し、スクリプトを再実行してください。絶対パスでない場合は、rsyncパスを変更することを忘れないでください。

29