Grsync/rsyncに含める/除外する特定のファイルを指定するにはどうすればよいですか?
現在、別の操作を使用して、指定したフォルダーのみからファイルをバックアップしています。 1パスで今すぐやりたいです。包含/除外オプションを見るべきだと思いますか?
次のようなフォルダ構造があるとします
/
/inc1
/inc1.1
/...
/inc2
/...
/exc1
files in root here ...
Inc1とinc2のファイル/フォルダーのみをバックアップしたいのですが、どうすればよいですか?
--includeオプションと--excludeオプションを使用するか、バックアッププロセスに--include-fromを使用すると、ファイルにバックアップするフォルダーを一覧表示できます。
たとえば、ファイルはincludes.txtと呼ばれ、ホームディレクトリに保存されます。含まれます
inc1/
inc2/
そして、ホームディレクトリのinc1およびinc2フォルダーをバックアップするrsyncコマンドは次のようになります。
rsync $HOME --include-from=~/includes.txt /home/backup/
rsyncは非常に柔軟性が高いため、最初にmanページを参照し、より具体的な質問をすることができない場合に最適です。
特定のディレクトリのみを含めるには、それらとそのコンテンツを含め、*
を除外します。ディレクトリがルートにない場合は、それらにつながるすべてのディレクトリを含める必要があります。たとえば、/source/inc1
、/source/inc2
、および/source/also/included
のみを含めるには:
rsync -a --include='/inc1/***' --include='/inc2/***' \
--include='/also' --include='/also/included/***' \
--exclude='*' /source /target
一般的なrsyncフィルターのクイックガイド も参照してください。
たぶん私は何かを見逃していますが、それらのフォルダをrsyncに指定するだけです:
rsync -Pav /inc1 /inc2 /path/to/backup/folder/
これにより作成されます:
/path/to/backup/folder/inc1/
/path/to/backup/folder/inc1/inc1.1/
/path/to/backup/folder/inc1/...
/path/to/backup/folder/inc2/
/path/to/backup/folder/inc2/...