2009年02月28日

Bacula (10)

こちらの続き

さて、前回までコンフィグファイルの設定を見てきましたが、Baculaの殆どの設定や操作はコンフィグファイル経由で行えますが、Volumeファイルの管理とファイル復旧だけはコンソールから操作が必要です。

そこで今回はVolume操作について簡単に見てみたいと思います。

なお、Volumeとはバックアップデータをファイルとして保存する場合はそのデータを保存するFileになります。

また、Volumeは前回見たように自動で作ることも出来ますが、最低必要分は手動できっちり作っておいた方が管理がしやすくなります。

それから、Volumeの設定はbacula-dirが起動していないと動作しないので、必ずbacula-dirを起動しておいてください。

続きを読む...

Posted by Takuchan at 23:15 | コメント (0) | トラックバック(0)

2009年02月27日

Bacula (9) 設定例

なんか、あちこちに迷惑掛けていて着手する時間がなかったBaculaネタです。

こちらの続き

さて、これまでデフォルト状態の設定ファイルを見てきましたが、ぶっちゃけそのままじゃまともにバックアップ出来ません(^^;

特にダメなのが前回見たPoolの設定(245〜252行)

とりあえず、ストレージタイプがFileの場合にやっておくべき設定の

Maximum Volume Jobs = 1
がされてないのが痛いです。

これが設定されていないと一つのファイルにいつまでも追記しますので管理がすごく大変になります。

それから251行目で「Volume Retention = 365 days」になっていますが、このままではバックアップしたデータを1年間消せず酷いことになります。
これはきっとバックアップ領域をパンクさせるための嫌がらせに違いないので、最低必要な期間を設定するようにしましょう。

また、デフォルトのままでは用意したVolumeファイルを使い切るとそこで固まってしまうので、スクラッチプールに十分なVolumeファイルを準備しておくか下記の設定が必要になります。

Label Format = "hoge"
この設定をしておくと、Volumeが無くなったときにhogeXXXX (XXXXは4桁の数字)で新しいVolumeファイルを作成してくれますので、イレギュラーが発生したときも止まらなくなります。

ただし、この設定で採番されるXXXXは、デフォルトではプールごとのシーケンシャル値ではなく、全プールを共通になるVolumeファイルの通し番号が設定されますので、この設定で自動的にVolumeファイルを作成させると

Pool1_0002
Pool1_0004
Pool1_0006
Pool2_0003
Pool2_0007
Pool3_0005
Pool3_0008
と言う感じで一見ぐちゃぐちゃな採番のファイルが出来てしまいます。

(この辺を読むとpythonでその辺の設定をいじれるらしいのですが、私もよく解ってないので割愛致します。)

続きを読む...

Posted by Takuchan at 23:26 | コメント (0) | トラックバック(0)

2009年02月26日

ハッシュの要素数

なでしこのマニュアルではハッシュの要素数は「要素数」と言う関数で取れることになっているのですが、少なくても最新版の1.518では取得できないようです。

去年の夏ぐらいの2chのスレで同様の内容が記述されていましたが、どうも「ハッシュのハッシュキー列挙の要素数」なら取れるという不思議仕様になっているようです。

さらにおかしいことに、配列の要素数専用の「配列要素数」関数では、普通にハッシュの要素数が取得できてしまいます(^^;

実際に以下のようなサンプルコードを作って動かしてみたところ

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
っしゅとはハッシュ
「【ハッシュ場合】」表示
Aはっしゅ要素数
ハッシュ要素数         :{A}表示
Bはっしゅハッシュキー列挙要素数
ハッシュハッシュキー列挙要素数:{B}表示
Cはっしゅ配列要素数
ハッシュ配列要素数       :{C}表示
「」表示
っしゅ「あああ」「あああ」
「【ハッシュに一つだけキーある場合】」表示
Aはっしゅ要素数
ハッシュ要素数         :{A}表示
Bはっしゅハッシュキー列挙要素数
ハッシュハッシュキー列挙要素数:{B}表示
Cはっしゅ配列要素数
ハッシュ配列要素数       :{C}表示
「」表示
っしゅ「いいい」「いいい」
「【ハッシュに二つキーある場合】」表示
Aはっしゅ要素数
ハッシュ要素数         :{A}表示
Bはっしゅハッシュキー列挙要素数
ハッシュハッシュキー列挙要素数:{B}表示
Cはっしゅ配列要素数
ハッシュ配列要素数       :{C}表示
↓のような結果となりました。う〜ん謎・・・
【空のハッシュの場合】
ハッシュの要素数         :0
ハッシュのハッシュキー列挙の要素数:0
ハッシュの配列要素数       :0

【ハッシュに一つだけキーがある場合】
ハッシュの要素数         :0
ハッシュのハッシュキー列挙の要素数:1
ハッシュの配列要素数       :1

【ハッシュに二つのキーがある場合】
ハッシュの要素数         :0
ハッシュのハッシュキー列挙の要素数:2
ハッシュの配列要素数       :2
Posted by Takuchan at 23:56 | コメント (0) | トラックバック(0)

2009年02月25日

美味い からし高菜

先日、モンドセレクション金賞受賞というからし高菜を見つけて、すごく食べてみたくなって楽天で買ってみました。

それが樽味屋のからし高菜↓
樽味屋のからし高菜

買ったのは写真にあるとおり、「中辛」と「辛子明太子入り」の2種類です。

で、どちらも食べてみましたが、中辛の方は、中辛というのがまさにふさわしく辛すぎずに自分的に丁度いい辛さでした。
(主観的な意見になりますが、中辛ボンカレーよりは辛くて、辛口よりは若干甘いかなぁと言った辛さです。)

ただ、辛さだけならすぐ飽きたと思うのですが、ウコンが効いていてうまい辛さに仕上がってます。

また、高菜自体も1cmから1.5cm角のざく切りで食感が良く、汁物の具材としてもそのまま使える感じでした。
(実際、レトルトのみそ汁に入れて食べてみたら見違えるほど美味しくなりました)

それから、辛子明太子入りの方は、辛さは中辛とほぼ同等で、辛口に明太子をまぶした感じです。

まぁ、それだけなんですが、これが白いご飯にマッチして夜に小腹が空いたときに、小茶碗一杯の白米とこれで結構食べてしまいました(^^;

また、中辛の方はウコンの匂いが気になることがありましたが、辛子明太子入りの方ではそちらも控えめになっていますので、ご飯のおかずとしてはこちらの方が好みでした。

ただ、汁物などと組み合わせるなら混ぜ物はない方がいいと思いますので、そう言う意味ではどちらもお勧めです。

なお、お酒のつまみとしてもバッチリだと思いますが、私が買ったときは一袋250gで500円だったので、勿体なくて試していません(苦笑)

ただ現在、年度末の値下げがされているようで、一袋400円程度で入手できるようです。

興味を持たれた方は下記のリンクで現在の最安値を確認してみてください。

※なお、一袋当たり250gと110gの物があるようですので、購入の際にはそちらを確認されるといいかと思います。

(なお、一袋250gのお店でもごま味とバリ辛は一袋200gのようです)

Posted by Takuchan at 23:30 | コメント (0) | トラックバック(0)

2009年02月23日

Bacula (8) bacula-dir.conf 3

こちらの続き

bacula-dir.conf」のデフォルト状態の設定ファイル説明の第3回です。

今回は下図の範囲を説明します。

2009022300.gif

この辺りにはメッセージの処理方法と何故か大事なPool設定があったりします。

一通り理解したらちゃんと並び替えをしておくのがよいでしょう。

さて、詳細を見てみましょう。

続きを読む...

Posted by Takuchan at 01:28 | コメント (0) | トラックバック(0)

2009年02月22日

Bacula (7) bacula-dir.conf 2

こちらの続き

bacula-dir.conf」のデフォルト状態の設定ファイル説明の第2回です。

今回は下図の範囲を説明します。

2009022200.gif

なお、この辺の設定は順番がぐちゃぐちゃで理解しにくいので要注意です。

最初に設定する人は、後の人のために設定の順番の整理をしておいた方がいいでしょう。

さて、詳細を見てみましょう。

続きを読む...

Posted by Takuchan at 01:43 | コメント (0) | トラックバック(0)

2009年02月21日

Bacula (6) bacula-dir.conf 1

こちらの続き

続いて、Baculaの設定ファイルそのものと言っても良い「bacula-dir.conf」の設定です。

ただ、このファイルは結構長いので、分けて説明使用と思います。

まず今回は下図の赤枠部分の説明です。

2009022100.gif
(赤字はリソース設定単位での設定内容の概要です)

では、それぞれ詳細に見て行きましょう。

続きを読む...

Posted by Takuchan at 23:28 | コメント (0) | トラックバック(0)

2009年02月20日

PrimoPDFで日本語ファイル名

印刷するような手軽さでPDFを作成できるPrimoPDFですが、このソフトは元々海外製なので、日本語ファイル名が付けられたファイルをPDF化しようとすると取り扱えずにエラーダイアログが表示されてしまいます。

まぁ、それを「OK」したあとに手動でファイル名を設定すればいいだけの話なのですが、このような面倒な事をしないでも、自動で「元のファイル名.pdf」にしてくれるアドオンが現在下記のサイトで公開中です。

こちらのアドオンはダイアログを操作する仕組み上、ウィルス対策ソフトにウィルスと間違いられやすいため一時期公開を停止されていましたが、現在はスクリプトをエンコーディングしてウィルス検索ソフトが検索できないようにして対応しているようです。
(って、その手法だといずれまたウィルス対策ソフトに捕まるような気もしますが(^^;)

また、PDF化するときにPrimoPDFに渡されるデータを横取りして、ファイル名(と言うより印刷タイトル)を解析しているようなのですが、IEの場合はこのタイトルにURLが渡されるので、PrimoPDFに直接送った場合は、必ず「利用できない半角文字が入っている」とのエラーになって、その後「http___example.com_index.pdf」と言った分かり難い名前が入力されてしまいます。

しかし、PriMoreを利用するとURLからファイル名に相当する部分だけを抜き出してくれるので、上記のようなケースでは「index.pdf」と言ったシンプルな名前を入力してくれます。

ただし、こちらは万能ではないようで「http://example.com/?123456」と言うURLの場合は、ファイル名が「?123456.pdf」になってしまい、「?」がファイル名として利用できない文字のため、そのまま出力しようとするとエラーになってしまうようです。

「\ ? : , ; * " < > |」と言ったファイル名として利用できない文字は削除してくれるとうれしいなぁと思いますが、普通に使う分には問題ないと思いますので、初心者さんPCなどに仕込む場合にはお勧めじゃないかなぁと思います。

2009/02/25 追記
ファイル名として利用できない文字の問題を作者様に対応して頂きました。

最新版は↓こちらです。

続きを読む...

Posted by Takuchan at 23:53 | コメント (6) | トラックバック(1)

2009年02月17日

雑記(2009/02/17)

朝から急にケースファンが鳴き始めました。
換えがあったのですぐ交換して事なきを得たのですが、やっぱり寒い時期の方がファンの故障は多い気がします。

いよいよケスラーシンドロームが現実の物になりそうな状態になってきました。
デブリ回収衛星とかそんな衛星を上げる国も出ないでしょうから、いずれ800Km以上の高度はリスクが高すぎて人が行けなくなる日が来るかも知れません。USBコネクタがむき出しだと防犯的な意味では殆ど意味がない気がするのですが・・・
まぁ、この辺を見る限り熱に弱いDVDでも2時間の火災で無事らしいので、中小企業のディザスタリカバリ用のメディアケースとして利用する分にはいいんじゃないかと思います。
あとは、USBカメラ+ライトとかを庫内に仕込んで、擬似監視カメラシステムにすると面白いかなぁ。

続きを読む...

Posted by Takuchan at 23:34 | コメント (0) | トラックバック(0)

2009年02月16日

Bacula conf file for GeSHi

Download file - bacura_for_geshi.zip(Ver 1.0.0 - 3,130Byte)

現在やっている設定ファイルの説明用に即興で作ったものを見直して公開に耐えられるようにしました。
例によってPukiWikiのgeshi.inc.phpプラグインでしか動作確認していません。

LicenseはGPL v2です。

続きを読む...

Posted by Takuchan at 23:58 | コメント (0) | トラックバック(0)

2009年02月15日

Bacula (5) bacula-sd.conf

こちらの続き

続いて、バックアップの保存先を司るStorageDaemonの設定ファイル「bacula-sd.conf」の設定です。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#
# Default Bacula Storage Daemon Configuration file
#
#  For Bacula release 2.4.4 (28 December 2008) -- suse 11.1
#
# You may need to change the name of your tape drive
#   on the "Archive Device" directive in the Device
#   resource.  If you change the Name and/or the
#   "Media Type" in the Device resource, please ensure
#   that dird.conf has corresponding changes.
#
 
Storage {                             # definition of myself
  Name = ホスト名-sd
  SDPort = 9103                  # Director's port
  WorkingDirectory = "/var/lib/bacula"
  Pid Directory = "/var/run"
  Maximum Concurrent Jobs = 20
}
 
#
# List Directors who are permitted to contact Storage daemon
#
Director {
  Name = ホスト名-dir
  Password = "Ty7aNxghTDXuPWiyu4KW3SnyTF3K+B9slZxolO/c9vM7"
}
 
#
# Restricted Director, used by tray-monitor to get the
#   status of the storage daemon
#
Director {
  Name = ホスト名-mon
  Password = "2aKnGlMZg+j6LZOcg/AwgefM8RbTFPvfFDILexlUGdm6"
  Monitor = yes
}
 
#
# Devices supported by this Storage daemon
# To connect, the Director's bacula-dir.conf must have the
#  same Name and MediaType.
#
 
Device {
  Name = FileStorage
  Media Type = File
  Archive Device = /backup
  LabelMedia = yes;                   # lets Bacula label unlabeled media
  Random Access = Yes;
  AutomaticMount = yes;               # when device opened, read it
  RemovableMedia = no;
  AlwaysOpen = no;
}
 
#
# Send all messages to the Director,
# mount messages also are sent to the email address
#
Messages {
  Name = Standard
  director = ホスト名-dir = all
}
続きを読む...

Posted by Takuchan at 18:32 | トラックバック(0)

Bacula (4) bacula-fd.conf

こちらの続き

さて、実際の設定ですが、大物のbacula-dir.confを攻める前に、外堀から埋めることにしましょう。

まず最初に「bacula-fd.conf」の設定ですが、このファイルはバックアップ対象機ごとに設定を変えていく必要がありますので、バックアップしたいデータのあるサーバが3台あれば3台それぞれで設定が必要になります。

それで内容ですが、以下のような感じです。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#
# Default  Bacula File Daemon Configuration file
#
#  For Bacula release 2.4.4 (28 December 2008) -- suse 11.1
#
# There is not much to change here except perhaps the
# File daemon Name to
#
 
#
# List Directors who are permitted to contact this File daemon
#
Director {
  Name = ホスト名-dir
  Password = "EhZDoxrcxuokQlqBOhe1wt3f2sMMPnjd3Rp4UBcfaw3b"
}
 
#
# Restricted Director, used by tray-monitor to get the
#   status of the file daemon
#
Director {
  Name = ホスト名-mon
  Password = "KOeiEzUNIGOgdXNpT61DZvvSKi+/w3ekcQBRZDFJQOaq"
  Monitor = yes
}
 
#
# "Global" File daemon configuration specifications
#
FileDaemon {                          # this is me
  Name = ホスト名-fd
  FDport = 9102                  # where we listen for the director
  WorkingDirectory = /var/lib/bacula
  Pid Directory = /var/run
  Maximum Concurrent Jobs = 20
}
 
# Send all messages except skipped files back to Director
Messages {
  Name = Standard
  director = ホスト名-dir = all, !skipped, !restored
}
まず、14・23・32・42行目にある「ホスト名-hoge」の項目は他のデーモンやコンソールがFileDaemonを参照する、あるいは自分が他者を参照するときの名称になります。
この名称とpasswordがそろっているときだけ、アクセスが認められる仕掛けですので、キチンとそろえるようにしましょう。

なお、今回の様にソースからコンパイルした場合は、はじめからそろっていますので、33行目以外はそのままでいいかもしれません。

32行目はこの設定ファイルで起動するFileDaemon自体の名前になりますので、複数クライアントがある場合はキチンと名前を分けた方がわかりやすくなるかと思います。

次に、15・24行目のパスワードですが、こちらはセキュリティのキモですので絶対に空にしないようにしましょう。

また、ソースからコンパイルすると上記のようにランダムなパスワードが設定されていますが、参照元と参照先でベツベツのパスワードが設定されていますので、手動でどちらかにそろえる必要があります。

今回はどちらのパスワードも他者が参照時に利用するパスワードになりますので、特に弄りません。

続きを読む...

Posted by Takuchan at 15:13 | コメント (0) | トラックバック(0)

2009年02月14日

Bacula (3)

こちらの続き

まず、初回設定ですが、インストール時にMySQLが起動していれば、自動でBaculaと言うスーパーユーザがMySQLに追加されていますので、mysqlコマンドなどで下記のようにさっさとパスワードを掛けましょう。

SET password FOR bacula@localhost=password("新規パスワード");
SET password FOR bacula@"%"=password("新規パスワード");
(mysqlに接続したときに、そもそもユーザが追加されていない場合はMySQLを起動した状態で再インストールするか/usr/lib/bacula/にあるスクリプトを参考に自分で設定して下さい)

次は設定ファイルを弄ることになりますが、設定ファイルは「/etc/bacula」にあり、以下の種類があります。

  1. bacula-dir.conf
  2. bacula-fd.conf
  3. bacula-sd.conf
  4. bconsole.conf
  5. bat.conf
それぞれ説明しますと
bacula-dir.conf
Baculaの管理デーモンである「Director」の設定ファイル。
バックアップ自体の定義やスケジュールもこのファイルに記載することになるので、もっとも頻繁に弄るファイルになります。
と言うか、このファイルのいじり方を覚えるのがBaculaの操作方法の習得と言っても過言は無いと思います。

bacula-fd.conf
バックアップの際にバックアップ対象ファイルにアクセスしたり、実際にリストアを担当する「FileDaemon」の設定ファイルです。
バックアップ対象のマシン毎に設定することになりますが、実際に設定が必要な内容はDirectorの名称とDirectorがアクセスしてくる際のパスワード設定ぐらいなので、初回設定が済めば殆ど忘れていいファイルとなります。

bacula-sd.conf
バックアップしたファイルを格納する「StorageDaemon」の設定ファイルです。
でも、fdよりは設定項目が多いですが、こちらも初回設定が済めば殆どアクセスすることは無いでしょう。

bconsole.conf
Linuxコンソールなどから運用時の操作を行うためのbconsoleの設定ファイルです。
こちらもDirectorにアクセスするための設定を行うだけのファイルになりますので、初回設定以外は触ることはないでしょう。

bat.conf
「Bacula Administration Tool」の設定ファイルです。
記載すべき内容はbconsole.confと全く一緒ですので、bconsole.confの設定時に併せて設定してしまいましょう。

続きを読む...

Posted by Takuchan at 23:26 | コメント (0) | トラックバック(0)

2009年02月13日

Bacula (2)

こちらの続き

今回はopenSUSE 11.1でのインストール方法を紹介します。

と言ってもただ使うだけでしたら

など、公式サイトに「bacula-2.4.2-1.30.i586.rpm」と「bacula-server-2.4.2-1.30.i586.rpm」がありますので、両方ともwget辺りで落として「rpm -ivh」するか、
zypper in bacula bacula-server
辺りでさっくりインストールしてください。

またMySQLが入ってない場合は併せてインストールして起動しておいてください。

あとは

/etc/bacula/grant_mysql_privileges
/etc/bacula/create_mysql_database
/etc/bacula/make_mysql_tables
を順番に実行して
/etc/init.d/bacula-dir start
/etc/init.d/bacula-fd start
/etc/init.d/bacula-sd start
などとすれば、とりあえず動くようになります。

とりあえず、と言うのは全くセキュリティが考慮されていないためで、ぶっちゃけ何処にもパスワードが架かってない状態になります。

(たとえばMySQLはbaculaと言うユーザが追加されlocalhostだけではなく全ホスト(%)からのフルアクセスが許可されている状態ですし、root権限で各デーモンが動いている為、その気になれば誰でもファイルの書き換えが可能という惨状になります。)

また、この方法ではGUI関係が一切インストールされないので大変取っつきにくい状態です。

と言う訳で、上記のようなやり方は推奨しませんので、皆さんマネされないように。

良く読まずにやっちゃった人は、今すぐに

/etc/init.d/bacula-dir stop
/etc/init.d/bacula-fd stop
/etc/init.d/bacula-sd stop
/etc/init.d/mysql stop
しておきましょう。

続きを読む...

Posted by Takuchan at 23:15 | コメント (0) | トラックバック(0)

2009年02月11日

Bacula (1)

オープンソースのバックアップシステムであるBaculaを使ってみたので少々書いてみようと思います。

まず、最初の感想ですが、このソフトは日本語ドキュメントが殆どありません。

↑これを見て面食らう人には全くお勧めしません。

それから、市販バックアップソフトに近いようなことをいろいろと出来そうですが、基本的にGUIは無い物と思ってください。

運用レベルではX上にてBAT(Bacula Administration Tool)と言うツールで多少GUIが利用できますが、初回導入時はもちろん、新しいジョブの追加(たとえば新しいバックアップ対象を増やすようなレベルの変更)でも設定ファイルの直接編集が必要になります。

しかも、試した環境が悪いのかこのBATは落ちまくったり、動いてくれなかったりと非常に寂しい感じです。

また、FedoraCore8以降や少なくてもopenSUSE11.1では、デフォルトで有効になる「-D_FORTIFY_SOURCE=2」付きでコンパイルすると起動時に「Buffer Overflow Error」とか言われる始末。

(動かすためには「-D_FORTIFY_SOURCE=0」として、コンパイルしてやらなければなりません。よわよわ)

続きを読む...

Posted by Takuchan at 01:02 | コメント (0) | トラックバック(0)

2009年02月10日

TeraTerm+Screen+ホイール

最近のTeraTermの開発は大変活発で、Puttyなどに比べて遅れていた機能がどんどん実装されています。

その中に、通常はホイール操作にて表示内容を遡れるけど、アプリケーションモード(vimやmanで表示中になるモード)の時は、ホイールマウス操作をカーソルキーの上下として送信する機能があります。

これにより、teraterm経由でmanを読むときやvimでの操作が大変やりやすくなったのですが、screenを利用していると通常モードで動いて欲しいときもアプリケーションモードになってしまい、上下カーソルでコマンドヒストリーが表示されるというちょっと困った状態になります。
(単なるヒストリならそれなりに使いでもあるのですが、ホイールを3行スクロール設定にしているので3件ずつ履歴が移動して使い勝手が悪いことこの上ありません(苦笑))

で、.screenrcで何かうまい設定はないかと探ってみたのですが、見つからず、色々ネットを彷徨って次のような対策に落ち着きました。

とりあえず直前のTeraTermの表示履歴(スクロールバッファ)を確認したいとき
[Ctrl]+ホイールスクロールで1行刻みですが、スクロールバッファをスクロールできるのでそれで対応する

ちゃんとスクロールバッファを見るとき
[Ctrl]+[a]「[」でCopyモードに遷移してからホイールで自在に確認

まぁ、そうは言ってもついうっかり普通にホイール回してしまいますが、上記の対応で十分使い物になりますので、しばらくはこれで行こうと思います。

Posted by Takuchan at 23:44 | コメント (1) | トラックバック(0)