特定のファイルを除くすべてのファイルを除外する方法はrsync
?
rsync
一部の特定のファイル(ファイルなど)を除くすべてのファイルを除外するためにを使用して特定のファイルのみをバックアップしようとしましたが、.md
このページのすべてのソリューションは機能しませんでした。
- https://velenux.wordpress.com/2017/01/09/how-to-exclude-everything-Exception-a-special-pattern-with-rsync/
- https://superuser.com/questions/1637543/how-to-specify-no-files-book-these-extensions-in-rsync
- https://serverfault.com/questions/1063730/rsync-exclude-all-files-in-dir-book-special-files
$ rsync -vua --exclude="*" --include="*.md" ../log ./
sending incremental file list
sent 19 bytes received 12 bytes 62.00 bytes/sec
total size is 0 speedup is 0.00
$ rsync -vua --include="*.md" --exclude="*" ../log ./
sending incremental file list
sent 19 bytes received 12 bytes 62.00 bytes/sec
total size is 0 speedup is 0.00
$ du -sh ../log
1016M ../log
$ apt-cache policy rsync
rsync:
Installed: 3.2.7-0ubuntu0.22.04.2
Candidate: 3.2.7-0ubuntu0.22.04.2
Version table:
*** 3.2.7-0ubuntu0.22.04.2 500
500 http://ca-toronto-1-ad-1.clouds.archive.ubuntu.com/ubuntu jammy-updates/main amd64 Packages
500 http://security.ubuntu.com/ubuntu jammy-security/main amd64 Packages
100 /var/lib/dpkg/status
3.2.3-8ubuntu3 500
500 http://ca-toronto-1-ad-1.clouds.archive.ubuntu.com/ubuntu jammy/main amd64 Packages
ベストアンサー1
私はあなたが下のどこからでもファイルをコピーしたいと思います../log
。
名前がパターンと一致すると、コマンドラインの残りのパターンは使用さ--include
れ--exclude
ません(「最初の一致が勝利」)。*/
パターンと一致しない場合は決して繰り返されません--include
。
*.md
これらの考慮事項を念頭に置いて、マッチングとマッチングの前に次のことを行っ*/
てください。--include
*
--exclude
rsync --archive --update --verbose --include='*.md' --include='*/' --exclude='*' ../log .
空のディレクトリを作成したくない場合は、-m
またはを追加してください。--prune-empty-dirs