[Python] pdumpfsっぽいバックアップツールpydumpfs 0.1公開
pydumpfsとは、なんですか?
pydumpfsは、バックアップツールです。以下のような特徴を持っています。
- バックアップディレクトリの下に、「年/月/日/時分秒.ミリ秒」のディレクトリを作成します。これにより、バックアップした時点でのスナップショットを保存することができます。
- 前回のバックアップから変更がないファイルは、前回のバックアップファイルへのハードリンクを作成します。これにより、ハードディスクの容量を節約します。
- ファイルの最終更新時刻だけでなく、所有者やパーミッションが変更された場合も、更新されたとみなしてファイルをコピーします。
- 絶対パスを保存します。カレントディレクトリが/homeのとき、fooディレクトリをバックアップすると、バックアップディレクトリの下には「年/月/日/時分秒.ミリ秒/home/foo」ディレクトリを作成します。このとき、親ディレクトリ(この例でいうと/home)のパーミッションや所有者も変更します。
- root権限が必要です。上述の通り、pydumpfsは絶対パスを保存し、親ディレクトリのパーミッションや所有者を変更します。通常はルートディレクトリ直下のディレクトリの所有者はrootでしょうから、バックアップにもroot権限が必要になります。
使い方
以下のようにして使用します。
$ sudo pydumpfs <バックアップ先のディレクトリ> <バックアップ元のディレクトリ>...
「バックアップ元のディレクトリ」には、複数指定することができます。
類似の他のツール
名称 | URL | 特徴 |
---|---|---|
pdumpfs | http://0xcc.net/pdumpfs/ | Rubyで書かれている。バックアップは一日一回。 |
pdumpfs-serial | http://www.keshi.org/wiliki/wiliki.cgi?pdumpfs-serial | 一日複数回バックアップできるpdumpfs. |
glastree | http://www.igmus.org/code/ | Perlで書かれている。 |
mdumpfs | http://www.misuzilla.org/dist/net/mdumpfs/ | C#で書かれている。.NET用。 |
dmirror | http://t-code.org/blog/2007/06/dmirror_pdumpfs_1.html | ファイルが移動していても、ハードリンクできる。 |
rdiff-backup | http://www.nongnu.org/rdiff-backup/ | ネットワーク越しにバックアップできる。 |
rsnapshot | http://www.rsnapshot.org/ | Perlで書かれている。ネットワーク越しにバックアップできる。 |
unison | http://www.cis.upenn.edu/~bcpierce/unison/ | UnixとWindows間でファイルを同期する。 |