Rsyncフィルタを使用して、ファイルの構造がターゲットの宛先にどのように表示されるかを操作しようとしています。他のSEの質問を読んでGoogleに相談しましたが、まだ問題があります。最初に/home/donglecow/
を省略し、images/123/001/image.jpg
:Rsync - ファイルパスの特定の部分を含める方法
/home/donglecow/images/123/001/image.jpg
/home/donglecow/images/123/002/image.jpg
/home/donglecow/images/456/001/image.jpg
/home/donglecow/images/456/002/image.jpg
のRsyncを実行している、私はこの正確な構造をコピーする:例として
は、私は、次のファイル構造を有しています。この作業が完了したら、私はimages
の下のすべてを再帰的にコピーしたいと思います。私が抱えている問題は、最後のディレクトリとその内容をコピーするだけです。例えば、001/image.jpg
です。
私が使用しているコマンドは、rsync -avvvrz --exclude='/home/donglecow/' --include='images/*' /home/donglecow/images/123/001/ /home/donglecow/rsyncDestination
です。
私は最終的に/home/donglecow/rsyncDestination/001/image.jpg
となりますが、/home/donglecow/rsyncDestination/images/123/001/image.jpg
が必要です。
どこが間違っていますか?
私が '-R'を使うと、' --exclude'の設定にかかわらず常に '/ home/donglecow /'を取り戻します。 'rsync -aRvvvrz -exclude = '*/images /' --include = 'images/*'/home/donglecow/images/123/001// home/donglecow/rsyncDestination' – Donglecow
@Donglecowここに私の改訂されたコマンドがあります。これは、/ home/donglecowからrsyncを実行し、相対パスをソースとして使用する必要があることを示しています。私は例で私の答えを更新しました。 –
パーフェクト、それは働いて、ありがとう!これはスクリプトから実行されるので、将来の参照のために知っておくとよいでしょう。 – Donglecow