web-dev-qa-db-ja.com

Rsyncは宛先ディレクトリ内に同じ名前のディレクトリを作成します

このコマンドを実行すると

rsync -avzp --del -e "ssh -p myport" user@hostname:/var/www/tests /var/www/tests

ファイルは同期されますが、/var/www/testsにファイルを保存する代わりに、Rsyncは既存の「テスト」内に「テスト」ディレクトリをもう1つ作成します。

/var/www/tests/tests

そしてそこにファイルを置きます。新しいディレクトリを作成しないようにRsyncに指示する方法は?

67
javi007

別のtestsディレクトリを作成したくない場合、正しいコマンドは次のようになります。

rsync -avzp --del -e "ssh -p myport" user@hostname:/var/www/tests/ /var/www/tests

/ の終わりに user@hostname:/var/www/tests/

59
etagenklo

ソースの末尾にスラッシュが必要です。

正しいコマンドは次のとおりです。

rsync -avzp --del -e "ssh -p myport" user@hostname:/var/www/tests/ /var/www/tests

より詳しい情報

Rsyncと末尾のスラッシュの説明:

http://defindit.com/readme_files/rsync_backup.html

Rsyncには2つの主要な動作モードがあります。モードは、ソースディレクトリの末尾のスラッシュの有無に依存します。

もう一つの例:

http://www.jveweb.net/en/archives/2010/11/synchronizing-folders-with-rsync.html

...末尾にスラッシュを追加する必要があります。追加しない場合、宛先と指定したPicturesフォルダー内にPicturesと呼ばれるフォルダーが作成されます。

36
Drew Khoury