web-dev-qa-db-ja.com

ファイルではなくディレクトリを含める方法をRsyncしますか?

私はこのようなディレクトリ構造とファイルを持っています

data/
data/a.txt
data/folder/
data/folder/b.txt
data/folder/folder/
data/folder/folder/c.txt
...

a.txtb.txt、およびc.txtは、コンピューターで生成され、頻繁に更新される大きなファイルです。それらはバックアップされるべきではありません-しかし私はディレクトリ構造をバックアップしたいです:

data/
data/folder/
data/folder/folder/

すべてのフォルダーを指定せずに、rsyncと--exclude-fromを使用してこれを行うにはどうすればよいですか?rsync -a data/* --exclude-from=exclude.rsync "" --onlyfoldersandnotfiles""のようなものですか?

手伝ってくれてありがとう !

28
chicama
$ rsync -a -f"+ */" -f"- *" source/ destination/

「2つの-f引数は、それぞれ「すべてのディレクトリをコピーする」、「他に何もコピーしない」という意味です。

詳細: http://psung.blogspot.com/2008/05/copying-directory-trees-with-rsync.html

28
luison
rsync -a --include='*/' --exclude='*' source/ destination/

基本的に、最初にすべてのディレクトリを含め、次にすべてのファイルを除外します。

20
rsync -a -f"-! */" source/ destination/

フィルタルールは、「ディレクトリ以外のものはすべて除外する」という意味です。

0
GabrielA1

1つのフォルダーを除くすべてを同期したいが、その除外されたフォルダーのディレクトリ構造を保持したい場合は、次のようにする必要があります。

$ rsync -a -f"+ /var/log/**/*/" -f"- /var/log/**/*" source/ destination/

例として、 exclude-list および rsyncコマンド を参照してください。

0
ceremcem