JavaベースのLinux向けバックアップ・ツール Arecaとplan/b

 コンピューターのバックアップは誰もがやっている作業とはいえ、複数のマシンがあってプラットフォームもオペレーティング・システムもまちまちだとなると、種々のバックアップの仕方を覚えなければならず少々面倒だ。そんなときは、LinuxでもWindowsでもUnixでも、どのプラットフォームでも使えるJavaベースのバックアップ・ソリューション、Arecaとplan/bを検討してみてはいかがだろうか。plan/bは保守が終わってしまったが、どちらも検討するだけの価値はある。

Areca

 ArecaはGPLv2の下で提供されている個人用バックアップソフトウェアだ。最新版は4月にリリースされた6.0.7。GUIを備えており、バックアップは簡単、理解もしやすい。インクリメンタル、ディファレンシャル、フルの各バックアップができ、圧縮はZipとZip64、暗号化はTriple DESとAESをサポートしている。バックアップ先は、ローカルハードディスクのほか、ネットワークドライブ、USBドライブ、FTPサーバーでもよい。FTPの場合は、Secure Sockets Layer(SSL)とTransport Layer Security(TLS)でセキュリティーを強化することができる。復元は、ファイル単位でもアーカイブ全体でも可能。デルタバックアップにも対応しており、ファイル全体ではなく変更個所だけをバックアップすることができる。さらに、バックアップ作業をリポートでき、このリポートはそのまま電子メールで送れる形式になっている。CLIコマンドによる自動バックアップも可能だ。

 Arecaを使用する際は、システムにJava Runtime Environment(JRE)があることを確認すること。バージョンは1.4以降でなければならない。次に、Arecaの.tarパッケージをダウンロードし、いずれかのフォルダーに展開する。自分でインストールする必要がないので、Linuxでのインストールにありがちな問題はほとんど発生しない。あとはただ./areca.shコマンドで、展開しておいたArecaスクリプトを実行するだけだ。このスクリプトはシステムにインストールされているJavaのバージョンを確認した上でArecaのグラフィカルインタフェースを起動する。このスクリプトへのショートカットを、お使いのプラットフォームのプログラムメニューに登録しておくと、すぐに使えて便利だ。

Arecaのグラフィカルインタフェースは簡潔だ。まず、バックアップジョブを定義する手順を紹介しよう。Editメニューで、関連するバックアップジョブをまとめておくグループを作り、次いでメニューからEdit→New Targetを選ぶ。すると、ジョブ作成ダイアログボックスが開くので、ここでジョブの名前とバックアップ先を指定する。バックアップ先はローカルリポジトリー(ローカルフォルダーの場合)またはFTPサーバーのいずれかだ。Server Message Block(SMB)またはWindows共有にバックアップする場合は、あらかじめマウントしておき、そのマウントロケーションをリポジトリーとして指定する。次に、ストレージモードを選択する。Standardモードはアーカイブを作り、前回のバックアップ以降に変更されたファイルを保管する。Deltaモードもバックアップジョブごとにアーカイブを作るが、各ファイルの変更部分だけを保管する。Imageモードはアーカイブを1つだけ作り、それ以降のバックアップジョブではそのアーカイブを更新する。最初のバックアップではStandardを選ぶ。

 次に、バックアップ元のファイルを1つまたは複数のディレクトリーから選択する。圧縮モードはZipまたはZip64のいずれかだが、バックアップデータが4GBを超えると予想される場合はZip64にする。あるいは、サイズを指定し複数のファイルに分割する。バックアップは、安全のために暗号化する。次に、ワイルドカードを使って、バックアップすべきファイルだけを抜き出す、またはバックアップしないファイルを除外するフィルターを作る。そして、前処理のスクリプトと後処理のスクリプトを選択する。たとえば、できたバックアップアーカイブをrsyncで転送するスクリプトや、CDに焼くスクリプトなどがある。すべてのパラメーターを設定したら、バックアップジョブを保存する。

 バックアップは、ジョブ単位またはグループ単位で可能。1つのバックアップジョブまたはバックアップジョブのグループを選び、インクリメンタル、ディファレンシャル、フルのいずれかのバックアップモードを指定する。バックアップが完了するとアーカイブができており、アーカイブにあるファイルを(展開せずに)見ることもできる。

 復元も簡単だ。アーカイブを指定してすべてを復元することも、論理ビューでファイルやフォルダーを見ながら個別に復元することもできる。

 バックアップの予約も可能だ。これには、cronジョブを作り、run_tui.shスクリプトを利用する。このスクリプトはareca.shスクリプトとともに展開されているはずだ。スケジュールジョブの作成など、Arecaの使い方の詳細は、解説を見てほしい。

plan/b

 plan/bはネットワーク対応のファイルバックアップシステムで、ネットワーク上のさまざまな場所にあるファイルをさまざまなデバイスに簡単にバックアップすることができる。CD-ROM、Windows共有、ローカルディスクのほか、FTP経由でもバックアップ可能だ。クライアントマシンには、エージェントをインストールし、バックアップサーバーまたはネットワーク上のいずれかをバックアップ先とするバックアップタスクを起動しておく。plan/bはJava上で動作するため、管理はLinuxまたはWindowsのクライアント上で行う。ルールとスケジュールでバックアップジョブを管理し、指定されたデータを指定された時刻にバックアップする。バックアップ先が1つで間に合わない場合は、バックアップデータを複数の媒体に分散することもできる。もちろん、バックアップしたファイルの復元も可能だ。

 plan/bを使用するときは、まず、LinuxまたはWindows形式の1.5安定版か1.6ベータ版のパッケージをダウンロードする。Linuxパッケージは.jar形式で約14MB、JREはバージョン1.5以降が必要。コマンド「java -jar filename 」を実行すればインストールできる。あとで必要になるので、インストールしたフォルダーをメモしておくこと。

 サーバーやエージェントサービスを起動するスクリプトは、plan/bのbinフォルダーにある。バックアップ管理サーバーにするマシンではserver.shスクリプトを実行する。サービスの起動後、console.shスクリプトを実行するとグラフィカルな管理コンソールが開く。CD-ROMやハードディスクなど、バックアップ元またはバックアップ先とするストレージデバイスを持つマシンでは、エージェントスクリプトを実行する。エージェントを実行すると、管理コンソールで、ネットワーク上のマシンにあるそのストレージデバイスが検出されるはずだ。

 さて、バックアップジョブの作り方を説明しよう。まず、バックアップ元またはバックアップ先として使うストレージデバイスを構成しておく必要がある。plan/bは、サーバー上のストレージデバイスだけでなく、エージェントがインストールされ動作しているマシンのストレージデバイスも自動的に検出する。したがって、ストレージデバイスが正しく検出されていることを確認するだけでよい。必要があれば、ネットワークのロケーションを仮想デバイスとして追加する。仮想デバイスには、SMBディレクトリー、Windows共有、NFS/FTPが使える。バックアップ先のリモートマシンのユーザー名とパスワードなどのパラメーターを指定し、検出できることを確認する。デバイスが確認できたら、バックアップジョブを作成する。Unix/Linuxシステムの場合、Deviceオプションの下にあるmountコマンドのロケーションを忘れずに指定すること。そうでないと、plan/bがデバイスを正しくマウントすることができない。

 ジョブは次のようにして作成する。まず、メニューからJob→Add new jobと進むか、ツールバーにある対応するアイコンをクリックする。ダイアログボックスが開くので、そこでジョブの名前、ログの設定、バックアップの種類(インクリメンタルの場合)、バックアップ元、スケジュール、バックアップ先を指定する。バックアップ元は、検出されたデバイスのロケーションがWhatタブに表示されるので、ここから選択する。バックアップすべきファイルだけを抜き出す、またはバックアップしないファイルを除外するルールを追加したり既存のルールを変更したりして、ファイルを取捨選択するフィルターを設定することもできる。バックアップジョブのスケジュールは、Whenタブで設定する。月、週、日、時間、分単位で指定可能。バックアップ先はDestinationタブで指定する。設定が終わったらジョブを保存する。保存したジョブはplan/bのoverviewメニューに表示される。スケジュールを待たずに、すぐにジョブを実行することもできる。

 plan/bは、サーバーのCDバーナーまたはリモートマシン(エージェントソフトウェアを使う)上にファイルを直接バックアップしたり、ストレージに余裕がないときは複数のボリュームにバックアップしたりすることもできる。したがって、バックアップ先がCDドライブの場合、CDが一杯になったときに差し替える準備をしておく必要がある。すぐに入れ替えないと、ジョブは取り消される。

 復元も、Restoreメニューで、バックアップに使ったジョブを選ぶだけで簡単だ。詳細は解説を見てほしい(不完全な部分もあるが)。

まとめ

 Arecaもplan/bも、データのバックアップとして十分な機能を持っている。試用した限りでは、スケジュールしたバックアップは予定通りに実行され、ファイルを復元することもできた。plan/bには暗号化機能、圧縮機能、ストレージモードはなく、Arecaの方がバックアップの選択肢は広い。しかし、ネットワーク環境でバックアップを集中管理したい場合は、plan/bの方が簡単だ。どちらにも十分な解説があるので初めてでも使えるが、plan/bの解説書は幾分か散漫なところや不十分なところがある。Arecaは個人向けのバックアップソリューションであり機能的に完備しているが、スケジュール機能をグラフィカルインタフェースに組み込み、CDライターやDVDライターなどをバックアップデバイスにするオプションを加えれば便利だろう。今後のバージョンに期待したい。

 Arecaとplan/bを比べると、個人でのバックアップなら圧縮と暗号化の機能を備えるArecaがお勧めだが、集中管理ネットワークバックアップを求めるならplan/bの方がいいだろう。

Linux.com 原文(2008年10月6日)