これまでは手操作で 「録画失敗」というステータスの番組を消していたのだが、 お休み中は不在にすることもでもあり、 これを機会に自動で消すようにスクリプトを書くことにした。
sil:/usr/local/sbin# cat CheckList.sh
#!/bin/sh
TMPFILE=/tmp/CheckList.$$
/usr/local/PCast/DbAcRap GetMergeListBottom > $TMPFILE
sed -n -e 's/^.*Index=\([0-9]*\) Status=\([0-9]*\)$/\1 \2/p' $TMPFILE |
while read Index Status
do
# echo $Index $Status
case $Status in
0) # 待機中
#echo '待機中'
;;
1) # 予約録画中
#echo '予約録画中'
;;
2) # 録画停止中
#echo '録画停止中'
;;
3) # 録画失敗
echo '録画失敗'
# [DATA]Index=0010 TittleName=【★】桑原征平のおもしろ京都検定
sed -n -e 's/^.*Index='$Index' TittleName=\(.*\)$/\1/p' $TMPFILE
# [DATA]Index=0010 DeviceId=0
DEVICE=`sed -n -e 's/^.*Index='$Index' DeviceId=\(.*\)$/\1/p' $TMPFILE`
# [DATA]Index=0010 DataKey=1210423200
KEY=`sed -n -e 's/^.*Index='$Index' DataKey=\(.*\)$/\1/p' $TMPFILE`
echo /usr/local/PCast/DbAcRap DelKey\{$DEVICE\}\{$KEY\}
/usr/local/PCast/DbAcRap DelKey\{$DEVICE\}\{$KEY\}
;;
*)
#echo '不明'
;;
esac
done
rm $TMPFILE
sil:/usr/local/sbin#
sil:/usr/local/sbin# sh CheckList.sh
録画失敗
地球に暮らす子どもたち[再]イタリア
/usr/local/PCast/DbAcRap DelKey{2}{1210423200}
sil:/usr/local/sbin#
『地球に暮らす子どもたち[再]イタリア』が
予約一覧に出てこないことを確認。
sil:/usr/local/sbin# crontab -e : : : sil:/usr/local/sbin# crontab -l : : 3,33 * * * * nice /bin/sh /usr/local/sbin/CheckList.sh : : sil:/usr/local/sbin#これで、自動的に消してくれるはず。
悪あがきとして、
・毎朝 4:30 ~ 4:45 の間、オーディオタイマを使って
キャプチャボックスの電源を落としてリセット
・毎朝 4:46 に cron で HS-DHGL をリブート
と毎朝リフレッシュしているが、、、
それでも録画失敗は発生する。
録画失敗が発生したらリブートするよう 上記スクリプトを修正した方が良いかも知れない。
|
|
← ファームウェア 1.13 のスリープ機能(2) |
ハックの記録 LinkStation/玄箱 をハックしよう |
→ 業務連絡:お休みをいただきます |