Rsyncはディレクトリの内容をコピーしますが、ディレクトリ自体はコピーしません


119

異なる名前のフォルダーの2つのコンテンツを同期しようとしています:

rsync -av ~/foo user@remote.com:/var/www/bar

私はのコンテンツをコピーしたいfooにしbarないディレクトリをリモートホストではなく、foo自分自身。私はのようなものを試しましたfoo/*が、rsyncはそれをサポートしていません。

rsyncは常に作成します

/var/www/bar/foo

18
末尾のスラッシュだけで十分です
exussum 2013年

回答:


190

試す rsync -av ~/foo/ user@remote.com:/var/www/bar/


37
この動作は、と比較して、奇数ですmvcp
zeekvfu 2013

末尾のスラッシュをこの特定のコマンドにのみ関連させるのは、奇妙で一貫性がないようです。なぜ変更されていないのでしょうか。
ルークデイビス

39
誰かがなぜこれが機能するのか疑問に思っている場合は/、ディレクトリ名の後ろにあります。
Etienne Bruines

31

それは簡単です、

rsync /var/www/ /home/var-/ var / www /の内容をコピーしますが、wwwフォルダー自体はコピーしません。

rsync /var/www /home/var-フォルダwwwとそのすべてのコンテンツをコピーします。

「/」が違いを生みます。


6
これは実際に違いを説明する受け​​入れられた答えであるはずです
edi9999

29

rsyncだけに関連しているわけではありませんが、GNU / Linuxコマンドの使用例を探している場合は、明示的な例を表示する「eg」を使用できます。例えば、それをインストールする方法の説明とともに、ここから入手できます:https//github.com/srsudar/eg

の結果eg rsyncは次のとおりです

# rsync


copy the folder source_dir and its content into destination_dir

    rsync -av source_dir destination_dir


copy the contents of source_dir (trailing slash) into destination_dir

    rsync -av source_dir/ destination_dir

0

コピーしたいディレクトリに移動するので:

cd ~/foo 

これを実行してください:

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