高林 哲氏の 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: 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
正規表現 PATTERN にマッチするファイルまたはディレクトリを バックアップ対象から除外します。 --exclude オプションは複数回指定することができます。
例) # work/download, work/movie を含むファイル/ディレクトリをバックアップしない % pdumpfs --exclude "work/(download|movie)" ~/ /mnt/backup # spool, log を含むファイル/ディレクトリをバックアップしない % pdumpfs --exclude spool --exclude log /var /mnt/backup
なお、正規表現は Ruby の正規表現と同じものを指定してください。
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)
FILE にマッチするファイルをバックアップ対象から除外します。 ファイル名の比較には fnmatch(3) を利用します。 --exclude-file オプションは複数回指定することができます。
例) # wave file(*.wav) をバックアップしない % pdumpfs --exclude-file "*.wav" ~/ /mnt/backup
pdumpfs と同じ条件 (GNU General Public License version 2) で利用してください。
Debian 使いの人には Debian GNU/Linux のある生活。 にて apt ready な pdumpfs deb package を用意してあります。 この package は official package に pdumpfs-exclude patch を適用したものです。
pdumpfs-0.6 に対する patch です。 過去の patch が適用されている pdumpfs には当てることができません。ご注意を。
変更点:
なお、この patch は 0.6.patch-4 の修正を含みます。 詳細は 0.6.patch-4 の項目を参照してください。
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 の項目を参照してください。
なお、CVS 版には 2003.0722 に取り込まれています。 (ただし、--exclude オプションのみ) CVS 版を利用する場合はこのパッチは必要ありません。
同等の機能が開発版に取り込まれたため、このページは自然消滅します。 あしからず。
かつを <katsuwo@monochrome.jp>
| [上へ] |
Last-Modified: $Date: 2003/11/30 14:33:05 $
小宮 健(かつを)
<katsuwo@monochrome.jp>
|