English | Japanese

pdumpfs: Plan9もどきのバックアップシステム

最終更新日: 2004-08-11 (公開日: 2001-02-18)


pdumpfs とは?

pdumpfs は Plan9dumpfs もどきの単純なバックアップシステムです。Ruby で実装されています。 毎日のスナップショットを保存するため、いつでも過去のファイル を取り戻すことができます。ホームディレクトリのバックアップに 利用すると便利です。

pdumpfs はバックアップ先ディレクトリに「年/月/日」の形式でス ナップショットを保存します。初回のみバックアップ対象ディレク トリ全体をコピーして、2日目以降は差分でバックアップしていき ます。ディスクの消費量を節約するために、更新されなかったファ イルは前日のスナップショットのファイルへのハードリンクとして 記録されます。

新着情報

Windows 用の GUI

[screenshot]

Windowx XP上のスクリーンショットです。

インストール

pdumpfs をソースからインストールするには、パッケージを展開し てmake を実行し、でき上がった pdumpfs ファイルを /usr/local/bin などにコピーします。

使い方

コマンドライン

   % pdumpfs <対象ディレクトリ> <バックアップ先>

使用例

自分のホームディレクトリ /home/yourname を /backup にバック アップするには次のように実行します。

   % pdumpfs /home/yourname /backup >/backup/log 2>/backup/error-log

2日目以降のバックアップは cron で行うといいでしょう。毎朝 5 時にバックアップを行うには crontab に次のような設定を記述し ます。

    00 05 * * * pdumpfs /home/yourname /backup >/backup/log 2>/backup/error-log

毎日のバックアップが順調に進むと、 /backup/2001/02/19/yourname/... のようなファイル名で過去のファ イルにアクセスできます。

特定ファイルの除外

特定のファイルをバックアップから除外するには以下のオプションを用います。

--exclude=PATTERN
PATTERN (Ruby の正規表現) にマッチするファイルまたはディレクトリをバックアップ対象から除外する。複数個を指定可能。 パターンマッチは、コマンドライン引数に渡した「対象ディレクト リ」が相対パスならそれを含んだ相対パス、絶対パスなら絶対パス に対して行われます。
--exclude-by-size=SIZE
SIZE 以上のサイズのファイルをバックアップ対象から除外する。 1000, 100K, 10M, 1G のような単位の指定が可能。
--exclude-by-glob=GLOB
GLOB にマッチするファイルをバックアップ対象から除外する。ファイル名の比較には、ファイルのベースネームに対して fnmatch(3) (シェルのワイルドカード) を利用します。 複数個を指定可能。

# spool か log にマッチするファイル/ディレクトリをバックアップしない
% pdumpfs --exclude 'spool|log' /var /mnt/backup

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

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

制限事項

豆知識

ダウンロード

GNU General Public License version 2 (日本語訳)に従ったフリーソフトウェアとして公開します。 完全に無保証です。

メーリングリスト

pdumpfsの話題は pdumpfs-new メーリングリストで扱っています。 下のようなメールを出すと参加できます。

Subject: 参加します
To: pdumpfs-new@quickml.com
Cc: satoru@namazu.org

なんだかんだ。

関連リンク集


Satoru Takabayashi