●TS3500でクリーニングテープの使用期限がきたことを知りたい
Operator Intervention の TRAP を待つ、などと気の長い人はおいといて、遠隔地にH/Wがある場合、ステータスを定期的に確認しておくと何かと事前に対応が可能になって便利です。
要はUnixからコマンドラインでinventoryを取得できれば良いのですが、標準のLibraryではテープのLoad回数までは取れなかったりします。(Webクライアントからだと見える)
TS3500 についてはメーカーから 「TS3500CLI.jar」 が提供されていて下記から入手が可能。
https://www.ibm.com/support/pages/ts3500-command-line-interface
TS3500 CLI Downloads
Download RELEASE DATE LANGUAGE SIZE Download Options
IBM TS3500 CLI 2 Oct 2017 US English 1646265 B HTTPS
【使用方法】
#java -jar TS3500CLI.jar -a <テープ装置IP> --viewCleaningCartridges -u ID -p パス
前提:java が動作すること
下記サンプルの使用ディレクトリは /home/root99/bin と /home/root99/tmp/
例)
これを利用して、特定のクリーニングテープのステータスを取得すれば良いことになる。
CLNING01, Cln Cartridge, 0, LTO Ultrium-1, Slot(Fx,Cx,Rxx), 15,
上記の例では、 15 という文字列を awk か何かで切り出して 残り回数が 0 になったら
アラートを出すようにすれば良いと思う。
CLNG_tape_chk_3500.sh
●TS3100でクリーニングテープの使用期限がきたことを知りたい
ところが、TS3100CLI.jar とか TS3200CLI.jar を探しても見つからない。どうやら提供されていないようなので 3100 と 3200 用のHTMLを取得するシェルを作ってみた。
前提:Unix で GNU curl が入っていること。
下記サンプルの使用ディレクトリは /home/root99/bin と /home/root99/tmp/
getTS3100_inventory.sh
※2019/11/06 loginlevel.ssi アドレスをユーザーレベル毎に修正
getTS3200_inventory.sh
※2019/11/06 loginlevel.ssi アドレスをユーザーレベル毎に修正
…と、上記を実行するとこんな風にブラウザーで見ているままの表記が取得できるので
CLINING01 23 22 21 20 Right Magazine
19 18 17 16
15 14 13 12
Cartridge details for Right Magazine
Slot #AttnStatusIn DriveLabelMedia LoadsComment
12 Empty ------------
13 Empty ------------
14 Empty ------------
15 Empty ------------
16 Empty ------------
17 Empty ------------
18 Empty ------------
19 Empty ------------
20 Empty ------------
21 Empty ------------
22 Empty ------------
23 *Res* CLINING01 16 Clean Tape
TS3500 の時と同じようにクリーニングの Load回数のところを切り出して判定するだけ。
ちなみに
TS3500 は残り回数の表示だが、
TS3100、TS3200 の場合は使用回数なので注意すること。
上記の例では、 16 という文字列を awk か何かで切り出して Max である 50 になったら
アラートを出すようにすれば良いと思う。
もし User Login Limit などと表示されて、テープ装置のWebにどのアカウントからもログインできなくなってしまった場合は、落ち着いて一服でもしてきましょう。
その場合だと、複数起動しすぎているかログアウト処理が成功してない可能性があるので、よく見直してください。
いじょ。
詳解 シェルスクリプト