Bacula

(更新:2011/06)Install on CentOS
(作成:2011/05)

バックアップをいつまでも自作スクリプトに任せておくのはよくないなあと最近思った。特殊なデバイスのバックアップ(例えばネットワーク機器なんか)でもない限り、出来る限り既存システムを活用すべき。
何故って、それで飯食ってるわけじゃないもんね。簡単なスクリプトとはいえ、それ作るのに多少の工数が必要だし。システムもバージョンアップしていけばスクリプトの修正も必要になるし。毎日の仕事量が変わらないのに、そのうえ煩わしいメンテナンス業務なんて切るべき。
バックアップに限らず、主要システムの構築ってのはなるたけ個人の手から放すべきよね。そうしないと、担当者がバスに轢かれて死んだら誰が後の面倒見るのよ、って話。というわけで、今回はBaculaに手を出してみた。

Install on Ubuntu

今回は自宅で実験を兼ねてみたので、Ubuntuでのサーバインストールをまずご紹介。

# apt-get install bacula

やっべUbuntuまじパネェ。パッケージほぼ最新版揃ってるよワショーイ。CentOSなんかだと yum で探しても古いやつしか無いのにねー。こりゃ楽で良いや。
んでまあ、一応どんなパッケージがインストールされるかこちらに並べておく。

  • 追加パッケージ
    bacula bacula-client bacula-common bacula-common-mysql bacula-console
    bacula-director-common bacula-director-mysql
    bacula-fd
    bacula-sd bacula-sd-mysql
    bacula-server
    bsd-mailx
    dbconfig-common
    libdbd-mysql-perl libdbi-perl libhtml-template-perl libmysqlclient16 libnet-daemon-perl libplrpc-perl
    mtx
    mysql-client mysql-client-5.1 mysql-client-core-5.1 mysql-common mysql-server mysql-server-5.1 mysql-server-core-5.1
    postfix

んーまあ沢山。BaculaについてDirector Daemon、File Daemon、Storage Daemon。DB使うからMySQL。あと通知用かな? Postfix。その他はまあ依存関係で必要なパッケージ群でしょう。
Ubuntuの場合は、インストール時に更に色々と質問がある。あらかじめMySQL入ってないと、初回インストール時の回答ではうまく設定されないみたいなので、取り敢えず無視してインストールを完了させちゃいましょう。

で、インストール後に以下のコマンドで初期設定を再度実行。

# dpkg-reconfigure bacula-director-mysql

大体こんな感じの質問がある。一部無いのもあるかもなので、適当に内容把握しつつ設定。

bacula-director-mysql は利用できるようになる前にはデータベースをインストールして設定する必要があります。
この設定を dbconfig-common で管理するようにもできます。

あなたが熟練したデータベース管理者でこの設定について手動で何をするのかを知っている場合、あるいはデータベ
ースが既にインストール及び設定されている場合は、この選択を選ばない方が良いでしょう。何をすればいいのかに
ついての詳細については、大抵 /usr/share/doc/bacula-director-mysql に置かれています。

そうでない場合は、恐らくこの設定を選ぶのが良いでしょう。

bacula-director-mysql のデータベースを dbconfig-common で設定しますか? 

→ はいよー。よろすこ。

データベースサーバに bacula-director-mysql が登録するパスワードを入力してください。空のままにしておくと、
ランダムパスワードが生成されます。

bacula-director-mysql 用の MySQL アプリケーションパスワード:

→ Bacula用に新規パスワードを入力。

通常、 bacula-director-mysql はローカルの UNIX ソケット経由で MySQL サーバを使うように設定されています (
これが最もパフォーマンスが良いやり方です)。しかし、他の方法で接続したい場合、あるいは完全に別のサーバに接
続したい場合は以下の選択肢から選んでください。

bacula-director-mysql の MySQL データベースへの接続方法:

→ BaculaとMySQLを単一サーバに押し込むなら「UNIX ソケット」が良いらしい。でもまあ好みの問題よね。ウチは「TCP/IP」で行く。もしかしたら今後サーバを分業させる事が……無いだろうなあ。

で、TCP/IPを選択すると以下2点の質問が追加されるみたい。

(TCP/IP選択時)

リモートの MySQL サーバのホスト名を入力してください。

リモートでデータベースを作成して特権を与えられるように管理者権限アカウントを設定しておく必要があります。

bacula-director-mysql 用 MySQL サーバが動作しているホスト:

→ 同一サーバ内にMySQLがあるならlocalhostでOK。

(TCP/IP選択時)

リモートホスト上で動作している MySQL データベースのポートを指定してください。デフォルトのポートを使うには
この欄を空白のままにしておいてください。

MySQL サービスのポート番号:

→ MySQLのポート変更とか特殊な事してなければ空欄で。

続いて。

このパッケージが管理者権限での操作を行う際に使うアカウント名を入力してください。このユーザは新しいデータ
ベースユーザを作成できます。

MySQL の場合、これは常に「root」です。注意: これは UNIX ログインの「root」と同じでは「ありません」。

データベースの管理者権限を持つユーザ名:

→ MySQLの管理アカウントの事ね。管理毎に分けた方が良いのかも知れないけれど、面倒なのでroot。

このパッケージが MySQL データベースとユーザを作る際に使う管理者権限アカウントのパスワードを入力してくださ
い。

データベースの管理権限を持つユーザのパスワード:

→ MySQLの管理アカウントに付与したパスワードを入力。

データベースサーバに登録する bacula-director-mysql 用の MySQL ユーザ名を入力してください。MySQL ユーザは
、システムログインユーザと同じである必要はありません。特にデータベースがリモートーサーバにある場合はそう
です。

これのユーザは、今回のインストールで作成されるテーブルその他のオブジェクトの所有者です。このユーザはデー
タベース内でデータの insert や変更、そして削除を完全に自由に行えます。

bacula-director-mysql 用の MySQL ユーザ名:

→ bacula。まあ変な名前にする必要も無いでしょう。

bacula-director-mysql が使う MySQL データベースの名前を入力してください。

bacula-director-mysql 用の MySQL データベース名:

→ bacula。まあ変な名前に(ry

取り敢えず初期インストールはこれにて完了。

Install on CentOS

CentOSだとsrcからrpm作ってインストールするのが良い。yumリポジトリには古いのしか無いのよね。
下記DLページから src.rpm を頂いて rpmbuild する。

# rpmbuild --rebuild --define="build_centos5 1" --define="build_x86_64 1" --define="build_mysql 1" --define="build_gconsole 1" --define="build_bat 1" --define="build_python 1" bacula-5.0.3-1.src.rpm

何か沢山出来た。取り敢えず bacula-client は好き好きで、他は全部入れとけば良いんじゃないかな。

  • bacula-client-5.0.3-1.x86_64.rpm
  • bacula-debuginfo-5.0.3-1.x86_64.rpm
  • bacula-libs-5.0.3-1.x86_64.rpm
  • bacula-mysql-5.0.3-1.x86_64.rpm
  • bacula-updatedb-5.0.3-1.x86_64.rpm
# rpm -ivh bacula-debuginfo-5.0.3-1.x86_64.rpm bacula-libs-5.0.3-1.x86_64.rpm bacula-mysql-5.0.3-1.x86_64.rpm bacula-updatedb-5.0.3-1.x86_64.rpm

Bacula用のDBを作る。rootパスワード無ければ各コマンドを実行すれば良いだけ。あれば各コマンド内を適宜修正( -p オプション付ける)。

# /usr/lib64/bacula/grant_mysql_privileges 
Host    User    Password    Select_priv    Insert_priv    Update_priv    Delete_priv    Create_priv    Drop_priv    Reload_priv    Shutdown_priv    Process_priv    File_priv    Grant_priv    References_priv    Index_priv    Alter_priv    Show_db_priv    Super_priv    Create_tmp_table_priv    Lock_tables_priv    Execute_priv    Repl_slave_priv    Repl_client_priv    Create_view_priv    Show_view_priv    Create_routine_priv    Alter_routine_priv    Create_user_priv    ssl_type    ssl_cipher    x509_issuer    x509_subject    max_questions    max_updates    max_connections    max_user_connections
localhost    root        Y    Y    Y    Y    Y    Y    Y    Y    Y    Y    Y    Y    Y    Y    Y    Y    Y    Y    Y    Y    Y    Y    Y    Y    Y    Y    00    0    0
...
localhost    bacula        N    N    N    N    N    N    N    N    N    N    N    N    N    N    N    N    N    N    N    N    N    N    N    N    N    N    00    0    0
%    bacula        N    N    N    N    N    N    N    N    N    N    N    N    N    N    N    N    N    N    N    N    N    N    N    N    N    N        00    0    0
Privileges for user bacula granted on database bacula.
# /usr/lib64/bacula/create_mysql_database 
Creation of bacula database succeeded.
# /usr/lib64/bacula/make_mysql_tables 
Creation of Bacula MySQL tables succeeded.
# mysql
mysql> set password for bacula=password('MySQL baculaパスワード');
Query OK, 0 rows affected (0.00 sec)

mysql> set password for bacula@localhost=password('MySQL baculaパスワード');
Query OK, 0 rows affected (0.00 sec)

取り敢えずこれで最低限はOK。

Bacula設定

早速簡単な設定を施してみる。まずは試験なのでこんな感じでどうだろう。

項目 場所
バックアップ元 localhost:/home/riyo/bin
バックアップ先 localhost:/media/nas
リストア先 localhost:/var/tmp

/media/nas ってのはいつもマウントして使ってるNASストレージ。ストレージの指定はまあ色々あるんだろうとは思うけれど、詳しくはまた調べてみよう。

/etc/bacula/bacula-dir.conf, /etc/bacula/bacula-sd.conf, /etc/bacula/bacula-fd.conf(長いので折り畳み)
#### /etc/bacula/bacula-dir.conf

Director {                            # define myself
  Name = mypc-dir
  DIRport = 9101                # where we listen for UA connections
  QueryFile = "/etc/bacula/scripts/query.sql"
  WorkingDirectory = "/var/lib/bacula"
  PidDirectory = "/var/run/bacula"
  Maximum Concurrent Jobs = 1
  Password = "(Bacula用パスワード)"         # Console password
  Messages = Daemon
  DirAddress = 127.0.0.1
}

JobDefs {
  Name = "DefaultJob"
  Type = Backup
  Level = Incremental
  Client = mypc-fd
  FileSet = "Full Set"
  Schedule = "WeeklyCycle"
  Storage = File
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/lib/bacula/%c.bsr"
}

Job {
  Name = "BackupClient1"
  JobDefs = "DefaultJob"
}

Job {
  Name = "RestoreFiles"
  Type = Restore
  Client=mypc-fd
  FileSet="Full Set"
  Storage = File
  Pool = Default
  Messages = Standard
  Where = "/var/tmp"
}

FileSet {
  Name = "Full Set"
  Include {
    Options {
      signature = MD5
    }
}
...
Client {
  Name = mypc-fd
  Address = localhost
  FDPort = 9102
  Catalog = MyCatalog
  Password = "(Bacula用パスワード)"          # password for FileDaemon
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes                     # Prune expired Jobs/Files
}
...
Storage {
  Name = File
  Address = localhost
  SDPort = 9103
  Password = "(Bacula用パスワード)"
  Device = FileStorage
  Media Type = File
}
...
Catalog {
  Name = MyCatalog
  dbname = "bacula"
  DB Address = "localhost";
  dbuser = "bacula";
  dbpassword = "(MySQL baculaパスワード)"
}
...
Messages {
  Name = Standard
  mailcommand = "/usr/sbin/bsmtp -h localhost -f \"\(Bacula\) \<%r\>\" -s \"Bacula: %t %e of %c %l\" %r"
  operatorcommand = "/usr/sbin/bsmtp -h localhost -f \"\(Bacula\) \<%r\>\" -s \"Bacula: Intervention needed for %j\" %r"
  mail = root@localhost = all, !skipped            
  operator = root@localhost = mount
  console = all, !skipped, !saved
  append = "/var/lib/bacula/log" = all, !skipped
  catalog = all
}  
...
Messages {
  Name = Daemon
  mailcommand = "/usr/sbin/bsmtp -h localhost -f \"\(Bacula\) \<%r\>\" -s \"Bacula daemon message\" %r"
  mail = root@localhost = all, !skipped
  console = all, !skipped, !saved
  append = "/var/lib/bacula/log" = all, !skipped
}  
...
Pool {
  Name = Default
  Pool Type = Backup
  Recycle = yes                       # Bacula can automatically recycle Volumes
  AutoPrune = yes                     # Prune expired volumes
  Volume Retention = 365 days         # one year
}
...
Pool {
  Name = File
  Pool Type = Backup
  Recycle = yes                       # Bacula can automatically recycle Volumes
  AutoPrune = yes                     # Prune expired volumes
  Volume Retention = 365 days         # one year
  Maximum Volume Bytes = 50G          # Limit Volume size to something reasonable
  Maximum Volumes = 100               # Limit number of Volumes in Pool
}
...
#### /etc/bacula/bacula-sd.conf

Storage {                             # definition of myself
  Name = mypc-sd
  SDPort = 9103
  WorkingDirectory = "/var/lib/bacula"
  Pid Directory = "/var/run/bacula"
  Maximum Concurrent Jobs = 20
  SDAddress = localhost
}
...
Director {
  Name = mypc-dir
  Password = "(Bacula用パスワード)"
}
...
Device {
  Name = FileStorage
  Media Type = File
  Archive Device = "/media/nas/Backup"
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = no;
}
...
Messages {
  Name = Standard
  director = mypc-dir = all
}
...
#### /etc/bacula/bacula-fd.conf

Director {
  Name = mypc-dir
  Password = "(Bacula用パスワード)"
}
...
FileDaemon {                          # this is me
  Name = mypc-fd
  FDport = 9102
  WorkingDirectory = /var/lib/bacula
  Pid Directory = /var/run/bacula
  Maximum Concurrent Jobs = 20
  FDAddress = localhost
}
...
Messages {
  Name = Standard
  director = mypc-dir = all, !skipped, !restored
}
...

取り敢えずこのあたりが重要そうな所かな?んじゃサービスを再起動。

# /etc/init.d/bacula-fd restart
# /etc/init.d/bacula-sd restart
# /etc/init.d/bacula-director restart

状態を見るためにBacula consoleを起動してみる。

# bconsole
Connecting to Director localhost:9101
1000 OK: mypc-dir Version: 5.0.3 (04 August 2010)
Enter a period to cancel a command.
*

Daemonの様子見。因みに日本語箇所は文字化けする。うーん文字コード何だろう。

*status all
mypc-dir Version: 5.0.3 (04 August 2010) i686-pc-linux-gnu ubuntu 11.04
Daemon started 28- 5月 2011 21:04, 0 Jobs run since started.
 Heap: heap=405,504 smbytes=46,664 max_bytes=48,107 bufs=188 max_bufs=197

Scheduled Jobs:
Level          Type     Pri  Scheduled          Name               Volume
===================================================================================
Incremental    Backup    10  28- 5月 2011 23:05  BackupClient1      *unknown*
Full           Backup    11  28- 5月 2011 23:10  BackupCatalog      *unknown*
====

Running Jobs:
Console connected at 28- 5月 2011 21:18
No Jobs running.
====
No Terminated Jobs.
====
Connecting to Storage daemon File at localhost:9103

mypc-sd Version: 5.0.3 (04 August 2010) i686-pc-linux-gnu ubuntu 11.04
Daemon started 28- 5月 2011 21:04. Jobs: run=0, running=0.
 Heap: heap=270,336 smbytes=12,163 max_bytes=75,477 bufs=55 max_bufs=57
Sizes: boffset_t=8 size_t=4 int32_t=4 int64_t=8

Running Jobs:
No Jobs running.
====

Jobs waiting to reserve a drive:
====

Terminated Jobs:
====

Device status:
Device "FileStorage" (/media/nas/Backup) is not open.
====

Used Volume status:
====

====

Connecting to Client mypc-fd at localhost:9102

mypc-fd Version: 5.0.3 (04 August 2010)  i686-pc-linux-gnu ubuntu 11.04
Daemon started 28- 5月 2011 21:04. Jobs: run=0 running=0.
 Heap: heap=270,336 smbytes=9,429 max_bytes=9,516 bufs=48 max_bufs=49
 Sizeof: boffset_t=8 size_t=4 debug=0 trace=0

Running Jobs:
Director connected at: 28- 5月 2011 21:20
No Jobs running.
====

Terminated Jobs:
====

Bacula Backup

じゃあバックアップしてみよか。操作は bconsole にて。まずはVolume label作る。

*label 
Automatically selected Catalog: MyCatalog
Using Catalog "MyCatalog"
Automatically selected Storage: File
Enter new Volume name: MYPC-VOL000
Defined Pools:
     1: File
     2: Scratch
     3: Default
Select the Pool (1-3): 1
Connecting to Storage daemon File at localhost:9103 ...
Sending label command for Volume "MYPC-VOL000" Slot 0 ...
3000 OK label. VolBytes=201 DVD=0 Volume="MYPC-VOL000" Device="FileStorage" (/media/nas/Backup)
Catalog record for Volume "MYPC-VOL000", Slot 0  successfully created.
Requesting to mount FileStorage ...
3906 File device "FileStorage" (/media/nas/Backup) is always mounted.

ポイントとしては、今回普通のファイルシステムをバックアップ先としたのでDefined Poolsで File を選ぶこと。
というわけでこんな風に見える。

*list media 
Pool: File
+---------+-------------+-----------+---------+----------+----------+--------------+---------+------+-----------+-----------+---------------------+
| MediaId | VolumeName  | VolStatus | Enabled | VolBytes | VolFiles | VolRetention | Recycle | Slot | InChanger | MediaType | LastWritten         |
+---------+-------------+-----------+---------+----------+----------+--------------+---------+------+-----------+-----------+---------------------+
|      10 | MYPC-VOL000 | Append    |       1 |      201 |        0 |   31,536,000 |       1 |    0 |         0 | File      | 0000-00-00 00:00:00 |
+---------+-------------+-----------+---------+----------+----------+--------------+---------+------+-----------+-----------+---------------------+
Pool: Scratch
No results to list.
Pool: Default
No results to list.

バックアップだー。最初はFullバックアップを実行すべし。

*run
A job name must be specified.
The defined Job resources are:
     1: BackupClient1
     2: BackupCatalog
     3: RestoreFiles
Select Job resource (1-3): 1
Run Backup job
JobName:  BackupClient1
Level:    Incremental
Client:   mypc-fd
FileSet:  Full Set
Pool:     File (From Job resource)
Storage:  File (From Job resource)
When:     2011-05-28 22:46:27
Priority: 10
OK to run? (yes/mod/no): mod
Parameters to modify:
     1: Level
     2: Storage
     3: Job
     4: FileSet
     5: Client
     6: When
     7: Priority
     8: Pool
     9: Plugin Options
Select parameter to modify (1-9): 1
Levels:
     1: Full
     2: Incremental
     3: Differential
     4: Since
     5: VirtualFull
Select level (1-5): 1
Run Backup job
JobName:  BackupClient1
Level:    Full
Client:   mypc-fd
FileSet:  Full Set
Pool:     File (From Job resource)
Storage:  File (From Job resource)
When:     2011-05-28 22:46:27
Priority: 10
OK to run? (yes/mod/no): yes
Job queued. JobId=8

暫くすると「You have messages.」とか出てくるのでメッセージ見てみる。

*messages 
28- 5月 22:46 mypc-dir JobId 8: Start Backup JobId 8, Job=BackupClient1.2011-05-28_22.46.32_03
28- 5月 22:46 mypc-dir JobId 8: Using Device "FileStorage"
28- 5月 22:46 mypc-sd JobId 8: Wrote label to prelabeled Volume "MYPC-VOL000" on device "FileStorage" (/media/nas/Backup)
28- 5月 22:46 mypc-sd JobId 8: Job write elapsed time = 00:00:01, Transfer rate = 233.9 K Bytes/second
28- 5月 22:46 mypc-dir JobId 8: Bacula mypc-dir 5.0.3 (04Aug10): 28- 5月-2011 22:46:35
  Build OS:               i686-pc-linux-gnu ubuntu 11.04
  JobId:                  8
  Job:                    BackupClient1.2011-05-28_22.46.32_03
  Backup Level:           Full
  Client:                 "mypc-fd" 5.0.3 (04Aug10) i686-pc-linux-gnu,ubuntu,11.04
  FileSet:                "Full Set" 2011-05-28 21:25:25
  Pool:                   "File" (From Job resource)
  Catalog:                "MyCatalog" (From Client resource)
  Storage:                "File" (From Job resource)
  Scheduled time:         28- 5月-2011 22:46:27
  Start time:             28- 5月-2011 22:46:34
  End time:               28- 5月-2011 22:46:35
  Elapsed time:           1 sec
  Priority:               10
  FD Files Written:       28
  SD Files Written:       28
  FD Bytes Written:       230,747 (230.7 KB)
  SD Bytes Written:       233,930 (233.9 KB)
  Rate:                   230.7 KB/s
  Software Compression:   None
  VSS:                    no
  Encryption:             no
  Accurate:               no
  Volume name(s):         MYPC-VOL000
  Volume Session Id:      1
  Volume Session Time:    1306590323
  Last Volume Bytes:      235,543 (235.5 KB)
  Non-fatal FD errors:    0
  SD Errors:              0
  FD termination status:  OK
  SD termination status:  OK
  Termination:            Backup OK

28- 5月 22:46 mypc-dir JobId 8: Begin pruning Jobs older than 6 months .
28- 5月 22:46 mypc-dir JobId 8: No Jobs found to prune.
28- 5月 22:46 mypc-dir JobId 8: Begin pruning Jobs.
28- 5月 22:46 mypc-dir JobId 8: No Files found to prune.
28- 5月 22:46 mypc-dir JobId 8: End auto prune.

何だかそれっぽいんでないかい?

Bacula Restore

今度はリストアしてみる。リストア先は前述の通り /var/tmp/ 以下。

*restore 

First you select one or more JobIds that contain files
to be restored. You will be presented several methods
of specifying the JobIds. Then you will be allowed to
select which files from those JobIds are to be restored.

To select the JobIds, you have the following choices:
     1: List last 20 Jobs run
     2: List Jobs where a given File is saved
     3: Enter list of comma separated JobIds to select
     4: Enter SQL list command
     5: Select the most recent backup for a client
     6: Select backup for a client before a specified time
     7: Enter a list of files to restore
     8: Enter a list of files to restore before a specified time
     9: Find the JobIds of the most recent backup for a client
    10: Find the JobIds for a backup for a client before a specified time
    11: Enter a list of directories to restore for found JobIds
    12: Select full restore to a specified Job date
    13: Cancel
Select item:  (1-13): 5
Automatically selected Client: mypc-fd
Automatically selected FileSet: Full Set
+-------+-------+----------+----------+---------------------+-------------+
| JobId | Level | JobFiles | JobBytes | StartTime           | VolumeName  |
+-------+-------+----------+----------+---------------------+-------------+
|     8 | F     |       28 |  230,747 | 2011-05-28 22:46:34 | MYPC-VOL000 |
+-------+-------+----------+----------+---------------------+-------------+
You have selected the following JobId: 8

Building directory tree for JobId(s) 8 ...  
24 files inserted into the tree.

You are now entering file selection mode where you add (mark) and
remove (unmark) files to be restored. No files are initially added, unless
you used the "all" keyword on the command line.
Enter "done" to leave this mode.

cwd is: /
$ ls
home/
$ cd home/riyo/bin/ 
cwd is: /home/riyo/bin/
$ ls
test.exp
test.py
...
$ mark *
27 files marked.
$ done
Bootstrap records written to /var/lib/bacula/mypc-dir.restore.1.bsr

The job will require the following
   Volume(s)                 Storage(s)                SD Device(s)
===========================================================================

    MYPC-VOL000               File                      FileStorage              

Volumes marked with "*" are online.


28 files selected to be restored.

Run Restore job
JobName:         RestoreFiles
Bootstrap:       /var/lib/bacula/mypc-dir.restore.1.bsr
Where:           /var/tmp
Replace:         always
FileSet:         Full Set
Backup Client:   mypc-fd
Restore Client:  mypc-fd
Storage:         File
When:            2011-05-28 22:49:09
Catalog:         MyCatalog
Priority:        10
Plugin Options:  *None*
OK to run? (yes/mod/no): yes
Job queued. JobId=9

やっぱり暫くすると「You have messages.」とか出てくるのでメッセージ見てみる。

*messages 
28- 5月 22:49 mypc-dir JobId 9: Start Restore Job RestoreFiles.2011-05-28_22.49.21_04
28- 5月 22:49 mypc-dir JobId 9: Using Device "FileStorage"
28- 5月 22:49 mypc-sd JobId 9: Ready to read from volume "MYPC-VOL000" on device "FileStorage" (/media/nas/Backup).
28- 5月 22:49 mypc-sd JobId 9: Forward spacing Volume "MYPC-VOL000" to file:block 0:201.
28- 5月 22:49 mypc-sd JobId 9: End of Volume at file 0 on device "FileStorage" (/media/nas/Backup), Volume "MYPC-VOL000"
28- 5月 22:49 mypc-sd JobId 9: End of all volumes.
28- 5月 22:49 mypc-dir JobId 9: Bacula mypc-dir 5.0.3 (04Aug10): 28- 5月-2011 22:49:23
  Build OS:               i686-pc-linux-gnu ubuntu 11.04
  JobId:                  9
  Job:                    RestoreFiles.2011-05-28_22.49.21_04
  Restore Client:         mypc-fd
  Start time:             28- 5月-2011 22:49:23
  End time:               28- 5月-2011 22:49:23
  Files Expected:         28
  Files Restored:         28
  Bytes Restored:         230,747
  Rate:                   0.0 KB/s
  FD Errors:              0
  FD termination status:  OK
  SD termination status:  OK
  Termination:            Restore OK

28- 5月 22:49 mypc-dir JobId 9: Begin pruning Jobs older than 6 months .
28- 5月 22:49 mypc-dir JobId 9: No Jobs found to prune.
28- 5月 22:49 mypc-dir JobId 9: Begin pruning Jobs.
28- 5月 22:49 mypc-dir JobId 9: No Files found to prune.
28- 5月 22:49 mypc-dir JobId 9: End auto prune.

∩・∀・)∩ ワショーイ
改めて /var/tmp/ 以下を覗いてみると、 home/riyo/bin/... とバックアップしたファイルが戻されている。取り敢えずはこれで最低限のバックアップ&リストアは出来そうね。