rsyncがメインディレクトリをスキップするのはなぜですか?


47

リモート展開ビルドスクリプトをテストするために、リモートサーバー(私のosxボックス)に対してryncをローカル(Windowsマシン上)で使用しようとしています。2台のLinuxサーバー間でうまく同期する前にrsyncを実行しましたが、現在問題が発生しています。出力は次のとおりです。

$ rsync -v -e ssh myuser@10.86.83.11:/Library/WebServer/sites/staging/app1/ ./export

skipping directory /Library/WebServer/sites/staging/app1/.

sent 8 bytes  received 13 bytes  3.82 bytes/sec
total size is 0  speedup is 0.00

$ 

または

$ rsync -avz -e ssh myuser@10.86.83.11:/Library/WebServer/sites/staging/app1/ ./export

receiving file list ... done
./

sent 26 bytes  received 68 bytes  17.09 bytes/sec
total size is 0  speedup is 0.00


$ 

リモートのapp1ディレクトリは空ですが、ローカルエクスポートディレクトリには4つのサブディレクトリがあり、それぞれに多数のファイルがあります

回答:


64
rsync -v -e ssh myuser@10.86.83.11:/Library/WebServer/sites/staging/app1/ ./export

-rまたはのような再帰モードにするオプションを指定しませんでした-a

リモートのapp1ディレクトリは空ですが、ローカルエクスポートディレクトリには4つのサブディレクトリがあり、それぞれに多数のファイルがあります

ここに後方のオプションがありますか?コマンドはである必要がありますrsync [source] [DESTINATION]。app1ディレクトリが空で、空のディレクトリをコピーしようとしている場合、何も便利なことはできません。

代わりにこのようなものが必要なのでしょうか?

rsync -avz ./export/  myuser@10.86.83.11:/Library/WebServer/sites/staging/app1/ 

また:

  • ほとんどの場合、rsyncを使用してディレクトリに末尾のスラッシュを含める必要があります。
  • 過去5-10年にリリースされたほぼすべてのバージョンのrsyncには、デフォルトでsshが使用されており、リモートトランスポートがあります。おそらく指定する必要はありません-e ssh

2
うわー、それはかなり恥ずかしいです。はい、ソースと
デスティネーションを混同しました...-chrisan

1
「ほとんどの場合、rsyncを使用してディレクトリに末尾のスラッシュを含める必要があります。」
猫のセイウチ14

Macでは-rフラグを使用するようですが、Linuxでは常に-R( "capital R")を使用します
Adam F

@Zoredacheなぜそれがほとんどですか?
ニキル

3

コマンドに次のオプションを追加して、ログファイルを出力するrsyncの組み込み機能を有効にしてみます。

--log-file=/path/to/log.file

また、manページによると、「2つの-vオプションを指定すると、スキップされるファイルに関する情報と、最後にわずかに多くの情報が提供されます」という追加-vオプションを追加することで、冗長性を高めることもでき-avvzます。

この情報が返されても問題を特定できない場合は、質問を編集して追加の出力を追加してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.