wiki:LinuxBackup

Version 1 (modified by sgk, 11 years ago) (diff)

--

Linux用バックアップソフト

僕は、「faubackup」→「rdiff-backup」→「rsyncNILFS」ってふうに変遷。

選定条件は、以下のとおり。

  • 転送量、ディスク使用量が抑えられていること。
  • ファイルシステム上に展開された状態であること。大きなファイルにまとめられちゃうのはダメ。
  • パーミッション、シンボリックリンクなどが保持されること。

 faubackup

  • 前回のバックアップから変更されたファイルだけを転送する。
  • バックアップを実行した日時を名前に含むディレクトリ以下のツリーに保存される。ファイルを探すのが簡単。
  • 変更されていないファイルは、前回のバックアップ上のファイルにハードリンクする。
  • ウェブサーバなど、巨大なログファイルとは相性が悪い。バックアップ総量がどんどん増える。
  • 遅い。
  • 古いバックアップを削除するのは簡単(rm -rf)だが遅い。
  • Perlで書いてある。
  • トランスポートはSSH。

 rdiff-backup

  • 前回のバックアップから変更されたファイルの変更された部分だけを転送する。
  • 最新のバックアップ状態はツリーに保存される。
  • 過去の状態は、差分情報だけが保存される。
  • 過去のファイルを取り出すには、コマンドを用いてコピーする。
  • ウェブサーバなど、巨大なログファイルでもだいじょうぶ。
  • faubackupよりは速いが、やっぱり遅い。
  • 初回のバックアップがとても時間がかかる上、よくPythonの例外でコケ、コケると最初からやり直し。2回目以降は割と丈夫。
  • 古いバックアップを削除するのは、日数を指定してコマンドで行う。
  • rsync」のライブラリを用い、Pythonで書いてある。
  • トランスポートはSSH。

 rsyncNILFS

  • 前回のバックアップから変更されたファイルの変更された部分だけを転送する。
  • 最新のバックアップ状態はツリーに保存される。
  • 過去の状態は、その差分だけが、通常は見えない場所に保存されている。
  • 過去のファイルを取り出すには、「mount」コマンドを用いる。ツリーの状態で再現される。
  • ウェブサーバなど、巨大なログファイルでもだいじょうぶ。
  • だいぶ速いが、ファイル転送を開始するまで一定の時間がかかる。
  • 毎回、最初に全ファイルのリストを作成するため、メモリを大量に使用する。
  • 古いバックアップを削除するのは、スナップショットの番号を指定してコマンドで行う。一瞬で終わる。
  • トランスポートはSSHまたはrsyncプロトコル。

(2008/4/3 - sgk)