rsyncで親ディレクトリは除外してあるサブディレクトリ下だけコピーしたい
具体的にいうと、
mkdir workdir && cd workdir && { mkdir -p to from/{dev/{disk,.static},usr} touch from/{ichi,usr/nii} from/dev/{foo,disk/bar,.static/baz} }
なファイル/ディレクトリがあるときに、
rsync_exclude_me() { cat <<EOEXCLUDE /proc/* /sys/* ...(snip)... EOEXCLUDE } rsync_exclude_me | \ rsync -auv --delete --exclude-from=- from/ to/
な感じで from と to を同期コピーしたいいんだけど、
- dev/* の下は dev/.static/* だけコピーしたい
というときにどうすればいいか。
さっき mkdir, touch したやつだと、
- ichi
- dev/.static/baz
- usr/nii
だけコピーしたい。
回答はこのあとすぐ! 続きが読みたい人はブコメで「おうっふおうっふ」!
rsync_exclude_me() { cat <<EOEXCLUDE /proc/* /sys/* + /dev/.static/ + /dev/.static/* - /dev/* ...(snip)... EOEXCLUDE }
ディレクトリ (/dev/.static/) と 配下のファイル (/dev/.static/*) を両方 include (+ ) しないといけないというのがキモですかね。
ほかにいい方法があったら教えてくださーい。