pdumpfs exclude patch(pdumpfs exclusion patch)

What's this?

高林 哲氏の pdumpfs は非常に優れた backup utility ですが、 残念ながらあるディレクトリだけを除外して backup を行うと言うことが出来ません。 このパッチはあるディレクトリ(ファイル)を backup 対象から外します。 (rsync の --exclude オプションとよく似た機能を提供します)

私は home directory の backup を pdumpfs を用いて行っていますが、 例えば ~/work/download などといった directory は backup したくありません。 pdumpfs はある directory(ここでは ~/work/download) を除いて backup を行うことが出来ないので、操作が非常に面倒になってしまいます。 この patch を利用すると

% pdumpfs --exclude work/download ~/ /mnt/backup

のように指定することで、~/work/download を backup 対象から除外することが出来ます。

Usage

Usage: pdumpfs <source directory> <destination directory> [destination basename]
  -h, --help               show this help message
      --exclude=PATTERN    exclude files/directories matching PATTERN
      --exclude-size=SIZE  exclude files larger than SIZE
      --exclude-file=FILE  exclude files matching FILE
--help
ヘルプを表示します。
--exclude=PATTERN

正規表現 PATTERN にマッチするファイルまたはディレクトリを バックアップ対象から除外します。 --exclude オプションは複数回指定することができます。

例)
# work/download, work/movie を含むファイル/ディレクトリをバックアップしない
% pdumpfs --exclude "work/(download|movie)" ~/ /mnt/backup

# spool, log を含むファイル/ディレクトリをバックアップしない
% pdumpfs --exclude spool --exclude log /var /mnt/backup

なお、正規表現は Ruby の正規表現と同じものを指定してください。

--exclude-size=SIZE

SIZE (KB) より大きいファイルをバックアップ対象から除外します。

--exclude オプションには 1G, 10M, 500K のように単位の指定ができます。 単位が指定されなかった場合は K が指定されたものとします。

例)
# 10MB 以上のファイルをバックアップしない
% pdumpfs --exclude-size 10M ~/ /mnt/backup

# 500KB 以上のファイルをバックアップしない
% pdumpfs --exclude-size 500K ~/ /mnt/backup
% pdumpfs --exclude-size 500 ~/ /mnt/backup   # 同じ意味(= 500KB)
--exclude-file=FILE

FILE にマッチするファイルをバックアップ対象から除外します。 ファイル名の比較には fnmatch(3) を利用します。 --exclude-file オプションは複数回指定することができます。

例)
# wave file(*.wav) をバックアップしない
% pdumpfs --exclude-file "*.wav" ~/ /mnt/backup

License

pdumpfs と同じ条件 (GNU General Public License version 2) で利用してください。

Download

Debian 使いの人には Debian GNU/Linux のある生活。 にて apt ready な pdumpfs deb package を用意してあります。 この package は official package に pdumpfs-exclude patch を適用したものです。

<URL:pdumpfs-exclusion-0.6.patch-5.gz>

pdumpfs-0.6 に対する patch です。 過去の patch が適用されている pdumpfs には当てることができません。ご注意を。

変更点:

なお、この patch は 0.6.patch-4 の修正を含みます。 詳細は 0.6.patch-4 の項目を参照してください。

<URL:pdumpfs-exclusion-0.6.patch-4.gz>

pdumpfs-0.6 に対する patch です。 過去の patch が適用されている pdumpfs には当てることができません。ご注意を。

変更点:

0.6.patch-4 では --exclude オプションの挙動を 0.6.patch-1 以前のものに戻しました。 つまり、引数の指定の仕方によって除外対象が変わる可能性があります。

pdumpfs-exclude はコピー元の指定の仕方によって動作が変わります。 例えば、

% pwd
/tmp
% find /tmp/src/
/tmp/src/
/tmp/src/test
/tmp/src/test/test.dat
/tmp/src/data

という directory tree に対して

% pdumpfs --exclude tmp src/ dest/

% pdumpfs --exclude tmp /tmp/src/ dest/

を実行した場合、それぞれ結果が異なります。

前者の指定(コピー元に src/ を指定した場合)では除外対象のチェックに

が渡されるため、tmp にマッチするファイル/ディレクトリはありません。 しかし、後者の指定(コピー元に /tmp/src/ を指定した場合)では

が渡されるため、すべてのファイル/ディレクトリは バックアップ対象から除外されます。

なお、この patch は 0.6.patch-3 の修正を含みます。 詳細は 0.6.patch-3 の項目を参照してください。

Old Version:
以前 release したものです。現在利用できるかは保証しません。

なお、CVS 版には 2003.0722 に取り込まれています。 (ただし、--exclude オプションのみ) CVS 版を利用する場合はこのパッチは必要ありません。

Attention

同等の機能が開発版に取り込まれたため、このページは自然消滅します。 あしからず。

Author

かつを <katsuwo@monochrome.jp>


[上へ]
Last-Modified: $Date: 2003/11/30 14:33:05 $
小宮 健(かつを) <katsuwo@monochrome.jp>