• ベストアンサー

Solarisで、8mmDATの書込み属性を判定するには?

Solaris5.6で、8mmDAT装置にテープを指した状態で書込み属性を判定するにはどうすれば良いでしょう? 出来ればコマンドレベルで確認できるものがよいのですが。tarコマンドでタッチファイルが書き込めるかのリターンコードで判定しても良いのですが、それだとテープの内容を消してしまいますので。。。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

手元に環境がないので確認ができませんが、 mt -f /dev/rmt/0 status でテープの書き込み禁止になっているかどうかがわかる はずです。

bluckyu
質問者

お礼

mt -f /dev/rmt/0 status だと、出力結果は同じでした。 リターンコードが違うということでしょうか?

bluckyu
質問者

補足

こんな形で落ち着きました。見づらいかもかも。。。 #!/bin/sh ####[環境変数設定]########################################################### # ファイル上書き禁止設定の解除 unset noclobber ####[変数定義]############################################################### REL="/*********.tmp" ←偽名 SYSLOG="/***********" ←偽名 HOUR=`date '+%H'` ####[本処理]################################################################# # マウントチェック用 tempファイルのクリア echo "" > $REL # テープが 8mmDAT装置にマウントされているかの確認 (while : do mt -f /dev/rmt/0 status if [ $? -ne 0 ];then echo "=== File_System_Backup TAPE MOUNT Request ===" sleep 300 else break fi done # テープの書込み属性判定処理 while : do (tar ce -C /export aaa) 2>&1 | tee -a $REL case `cat $REL` in *Permission*) echo "=== File_System_Backup TAPE Permission denied ===" echo "" > $REL mt -f /dev/rmt/0 offline sleep 180;; *I/O*) echo "=== File_System_Backup TAPE Change Permission ===" echo "" > $REL sleep 180;; *) break ;; esac done ) 2>&1 | tee -a $SYSLOG exit 0

すると、全ての回答が全文表示されます。

その他の回答 (1)

回答No.2

mt -f の表示の Sense Key の値はテープが書き込み保護 になっている場合とそうでない場合ではいくつになって いるでしょうか。

bluckyu
質問者

補足

以下の二つのパターンが出力されます。書込み属性は関係無くです。リターンコードもどちらも”0”です。 んー困りますた。。。 Exabyte EXB-8500 8mm Helical Scan tape drive: sense key(0x6)= Unit Attention residual= 0 retries= 0 file no= 0 block no= 0 ================================================= Exabyte EXB-8500 8mm Helical Scan tape drive: sense key(0x0)= No Additional Sense residual= 0 retries= 0 file no= 0 block no= 0

すると、全ての回答が全文表示されます。

関連するQ&A