smbmountとgrsyncを使った簡単バックアップ
smbmountとgrsyncだけでも、信頼性が高く使い方も簡単なバックアップシステムを構築することができる。どちらのプログラムも、ほとんどのLinuxディストリビューション用のパッケージが利用可能になっているので、ソースコードからコンパイルしてあれこれ設定する手間をかける必要はない。
まず最初に、smbfsパッケージが手元のマシンにインストールされているかどうかを確認しよう。多くのLinuxディストリビューションにはsmbfsがプレインストールされているが、そうでない場合にはパッケージを自分でインストールする必要がある。Debianベースのシステムの場合は、Synapticパッケージマネージャを利用するか、「sudo apt-get install smbfs
」コマンドを実行すれば良いだろう。
smbfsのインストールが終わったら、smbmountを使用してSambaの共有ディレクトリをマウントしよう。smbmountというのは、Sambaの共有ディレクトリをローカルのファイルシステムにマウントして、手元のハードディスク上のディレクトリと同じように扱うことができるようにする、便利で小さなツールだ。smbmountはデフォルトではルート権限でのみ使用可能なので、ルート以外のユーザも実行できるようにしたい場合には、以下のコマンドを実行してパーミッションを変更する必要がある。
chmod u+s /usr/bin/smbmnt
次にマウントポイントを作成しよう。マウントポイントというのは、Sambaの共有ディレクトリがマウントされるディレクトリだ。例えば、自分のホームディレクトリにsambashareというディレクトリを作成して次のようなコマンドを実行すれば、作成したsambashareにSambaの共有ディレクトリをマウントすることができる。
smbmount //smb/share /home/user/sambashare \
-o username=smbusername,password=smbpassword
「//smb/share」という部分はSambaの共有ディレクトリの実際のパス(例えば「//192.168.1.7/Documents」など)を表わす。2つめのパスは、前もって作成しておいた、ローカルのマシン上のマウントポイントを指す。ユーザ名とパスワードとをコマンド内で直接的に指定することもできるが、そうすると .bash_historyファイルに記録されてしまうため、セキュリティ上あまり好ましくない。そこでよりセキュアな方法として、認証用の情報はテキストファイル(例えばsmb_credentials)内に以下のような形で保存しておくと良いだろう。
username = smbusername password = smbpassword
その後、認証用のファイルの場所を以下のようにしてsmbmntに伝えれば良い。
smbmount //smb/share /home/user/sambashare \
-o credentials=/home/user/smb_credentials
マウントした後は、ローカルのファイルやディレクトリをバックアップするための場所としてSambaの共有ディレクトリを使用することができるようになる。バックアップには、人気のあるコマンドラインの同期/バックアップツールである「rsync」を使うと良い。rsyncを使ったことがない人は、「Back up like an expert with rsync(rsyncを使った熟練者レベルのバックアップ)」(翻訳記事)を読むと参考になるだろう。以下に例として、Firefoxの設定をバックアップするために私のマシンで実行したコマンドを紹介する。
rsync --verbose --progress --recursive --times --perms --compress --delete \
/home/dmpop/.mozilla /home/dmpop/smbshare/backup/
コマンドラインで作業をするのがあまり好きではない場合には、rsyncのグラフィカルなフロントエンドである「grsync」を試してみよう。grsyncを使えばバックアップ作業が簡単になるはずだ。grsyncでは、複数のバックアッププロファイル(「セッション」と呼ばれている)を作成して管理することもできる。新しいプロファイルを作成するためには、プログラムの「Add(追加)」ボタンを押してプロファイルに名前を付け、「OK」を押せば良い。その後、バックアップ元のディレクトリとバックアップ先のディレクトリの各パスを入力して、希望するオプションにチェックを入れて指定する。各オプションの意味がよく分からない場合には、オプションの上にマウスをかざせば、ポップアップウィンドウの中に簡単な説明が表示される。
以上で完了だ。一度、基本的なバックアップシステムを用意しておけば、後はそれを改良していくことができる。例えば、特定のrsyncコマンドを実行する簡単なbashスクリプトを作成したり、KCronのようなツールを利用して定期的なバックアップを行なったりすることなどができる。
Dmitri Popovは、ロシア、イギリス、ドイツ、デンマークのコンピュータ雑誌で活躍するフリーランスのライター。