フォルダーを unison と同期したいが、.jpg ファイルのみを同期したいとします。
どうすればそれができるのでしょうか?
答え1
プロフィールに次の行を追加する必要があります。
ignore = Name ?*
ignorenot = Name *.jpg
答え2
8 年後...受け入れられたファイルは、ピリオドのないファイル、つまりドットファイルを適切に無視しません。
そして、これらに一致するパターン(たとえば、Regex ^((?!.jpg).)*$
)は、子として .jpg を持つ可能性のあるディレクトリも飲み込んでしまいます。(「Unison が更新を検出し始める...」の項を参照)パスを無視するマニュアルに記載されています。
私が見つけた唯一の方法は、それらの追加ファイルを含めて同期を進め、その後
find "$DEST" --type f ! -iname "*.jpg" -delete
find "$DEST" --type d -empty -delete
それらを削除し、空のディレクトリをクリーンアップします。(私の場合は、実際には
find "$DEST" --type d -empty ! -name ".stfolder" -delete
SyncThing マーカー ディレクトリを保存します (聞かないでください)。
この潜在的な悪い結果は、短時間に大量の余分なデータがコピーされることです。私の場合、約 3.5 GB が 1 つのパーティションから別のパーティションに移動し、すぐに削除されます。