ソースからターゲットにディレクトリとファイルを同期する方法

ソースからターゲットにディレクトリとファイルを同期する方法

「rsync」を使用してディレクトリとファイル(一部の種類を除く)をターゲットにコピーするには?免除または同期されないファイル形式は次のとおりです。 *.odb、*.a3db

答え1

rsync フィルタ機能を使用できます。たとえば、次のコマンドを使用します。

rsync -uva --filter="- *.odb" --filter="- *.a3db" /source-path/ /destination-path/

答え2

いくつかの除外パターンを使用してください。

rsync -av --exclude='*.odb' --exclude='*.a3db' source/ target/

例:

$ ls source
file-1.a3db  file-2.odb   file-4.a3db  file-5.odb   file-7.a3db  file-8.odb
file-1.c     file-2.txt   file-4.c     file-5.txt   file-7.c     file-8.txt
file-1.odb   file-3.a3db  file-4.odb   file-6.a3db  file-7.odb   file-9.a3db
file-1.txt   file-3.c     file-4.txt   file-6.c     file-7.txt   file-9.c
file-2.a3db  file-3.odb   file-5.a3db  file-6.odb   file-8.a3db  file-9.odb
file-2.c     file-3.txt   file-5.c     file-6.txt   file-8.c     file-9.txt

2回使用すると、-v何が含まれ、除外されるかを表示できます。

$ rsync -avv --exclude='*.odb' --exclude='*.a3db' source/ target/
sending incremental file list
[sender] hiding file file-1.odb because of pattern *.odb
[sender] hiding file file-1.a3db because of pattern *.a3db
[sender] hiding file file-2.odb because of pattern *.odb
[sender] hiding file file-2.a3db because of pattern *.a3db
[sender] hiding file file-3.odb because of pattern *.odb
[sender] hiding file file-3.a3db because of pattern *.a3db
[sender] hiding file file-4.odb because of pattern *.odb
[sender] hiding file file-4.a3db because of pattern *.a3db
[sender] hiding file file-5.odb because of pattern *.odb
[sender] hiding file file-5.a3db because of pattern *.a3db
[sender] hiding file file-6.odb because of pattern *.odb
[sender] hiding file file-6.a3db because of pattern *.a3db
[sender] hiding file file-7.odb because of pattern *.odb
[sender] hiding file file-7.a3db because of pattern *.a3db
[sender] hiding file file-8.odb because of pattern *.odb
[sender] hiding file file-8.a3db because of pattern *.a3db
[sender] hiding file file-9.odb because of pattern *.odb
[sender] hiding file file-9.a3db because of pattern *.a3db
delta-transmission disabled for local transfer or --whole-file

(残り減算量)

$ ls target
file-1.c   file-2.txt file-4.c   file-5.txt file-7.c   file-8.txt
file-1.txt file-3.c   file-4.txt file-6.c   file-7.txt file-9.c
file-2.c   file-3.txt file-5.c   file-6.txt file-8.c   file-9.txt

ファイルがsource

関連情報