rsync:名前が特定の文字列で終わるファイルを含める方法

rsync:名前が特定の文字列で終わるファイルを含める方法

重複の可能性:
Rsyncフィルタ:1つのパターンのみをコピー

rsyncを使用してサーバー(またはssh経由のサーバー)からtar.gz。しかし、それは単なるストレッチではありません。場合によっては-server-cloudimg-amd64-root.tar.gz

単純な状況では--include="**/*-server-cloudimg-amd64-root.tar.gz理解できません。私はrsync include / excludeが単純ではないことを知っていましたが、それがうまくいくとは思いませんでした。転送するディレクトリを指定する必要があることを理解してください。しかし、rsyncのロジックは(私が見た任意のパスACLルールとは異なり)私にとっては常に謎でした。なぜなら、親ディレクトリも別々に一致させる必要があるからです。必要なのは、mkdir -p ${DIRNAME}コマンドが指定されたディレクトリの親ディレクトリを作成するのとほぼ同じ方法で、「ファイルが一致する場合は他の一致を暗示することなく、転送に必要なすべてのディレクトリを含める」という意味のオプションだと思います。必要です。 rsync にはそのようなオプションは表示されません。これを一度に簡単に行う方法はありますか?

ベストアンサー1

この場合、リモートサーバーに物理的にアクセスできない場合は、すべての包含と除外にアクセスする必要があります。ここにSEに関する素晴らしい投稿があります(特集回答を参照)。

Rsyncフィルタ:1つのパターンのみをコピー

私の考えでは、あなたには次のものが必要だと思います。

rsync -am --include='*.tar.gz' --include='*/' --exclude='*' SOURCE DESTINATION

おすすめ記事