次は、ビデオファイルが無くなった場合に、データベースから消す処理。
PCastLink や Web のPCast から録画ファイルを消したときには
「録画一覧」その番組が消えるが、
ファイル共有してエクスプローラから消したり、ログインして rm, mv したときには
いつまでもその番組が「録画一覧」に残ってしまう。
これの対策として以前
ファイルを消した番組を PCast のリストから消す
スクリプトを作った
(その後の修正)
これを HS-DHGL でも動作させる。
ビデオディレクトリを変更しているので、その追従が必要。
sil:/usr/local/sbin# diff -c RemoveList.sh.orig RemoveList.sh *** RemoveList.sh.orig Sun Jul 8 12:56:32 2007 --- RemoveList.sh Sun Jul 8 12:59:15 2007 *************** *** 6,16 **** sed -n -e 's/^.*Index=\([0-9]*\)[ ]*FileName=\(.*\)/\1 \2/p' $TMPFILE | nkf -e | while read Index FileName do ! if [ ! -f `echo $FileName | nkf -s` ] then echo $FileName not found DataKey=`sed -n -e 's/^.*Index='$Index'[ ]*DataKey=\(.*\)/\1/p' $TMPFILE` ! /usr/local/PCast/DbAcRap DelPlKey\{$DataKey\} fi done rm $TMPFILE --- 6,16 ---- sed -n -e 's/^.*Index=\([0-9]*\)[ ]*FileName=\(.*\)/\1 \2/p' $TMPFILE | nkf -e | while read Index FileName do ! if [ ! -f /mnt/buffalo`echo $FileName | nkf -s` ] then echo $FileName not found DataKey=`sed -n -e 's/^.*Index='$Index'[ ]*DataKey=\(.*\)/\1/p' $TMPFILE` ! echo /usr/local/PCast/DbAcRap DelPlKey\{$DataKey\} fi done rm $TMPFILE sil:/usr/local/sbin#
sil:/usr/local/sbin# sh RemoveList.sh /mnt/disk1/share/videos/しまうた紀行西表島_0708.mpg not found /usr/local/PCast/DbAcRap DelPlKey{1183860000} /mnt/disk1/share/videos/城と城下町日本一の丸亀うちわと石の城_0708.mpg not found /usr/local/PCast/DbAcRap DelPlKey{1183851000} /mnt/disk1/share/videos/美の京都遺産_0708.mpg not found /usr/local/PCast/DbAcRap DelPlKey{1183842900} /mnt/disk1/share/videos/新日本紀行ふたたび[再]_0708.mpg not found /usr/local/PCast/DbAcRap DelPlKey{1183836000} /mnt/disk1/share/videos/2007F1イギリスGP予選_0708.mpg not found /usr/local/PCast/DbAcRap DelPlKey{1183831200} : : /mnt/disk1/share/NHKスペシャル_0701.mpg not found /usr/local/PCast/DbAcRap DelPlKey{1183291200} sil:/usr/local/sbin#ファイルが残っているものまで not found といってきた。
#!/bin/sh TMPFILE=/tmp/RemoveList.$$ TMPFILE2=/tmp/VideoList.$$ /usr/local/PCast/DbAcRap GetPlListBottom > $TMPFILE ls /mnt/buffalo/mnt/disk1/share/videos/*.mpg | nkf -e > $TMPFILE2 sed -n -e 's/^.*Index=\([0-9]*\)[ ]*FileName=\(.*\)/\1 \2/p' $TMPFILE | nkf -e | while read Index FileName do # if [ ! -f /mnt/buffalo`echo $FileName | nkf -s` ] grep "^/mnt/buffalo$FileName$" $TMPFILE2 if [ $? != 0 ] then echo $FileName not found DataKey=`sed -n -e 's/^.*Index='$Index'[ ]*DataKey=\(.*\)/\1/p' $TMPFILE` echo /usr/local/PCast/DbAcRap DelPlKey\{$DataKey\} fi done rm $TMPFILE $TMPFILE2一応これでちゃんと存在の有無を見てくれるようになったが、 まだ少しこわい
まずはこのまま様子を見る
sil:/usr/local/sbin# crontab -e : : sil:/usr/local/sbin# crontab -l # m h dom mon dow command */5 * * * * nice /bin/sh /usr/local/sbin/fancontrol 2>/dev/null 1>/dev/null 30 5 * * * nice /bin/sh /usr/local/sbin/hackdemarurokuV3.sh 20 6 * * * nice /bin/sh /usr/local/sbin/RemoveList.sh sil:/usr/local/sbin#
|
楽天市場
Yahoo!ショッピング somap.com TSUKUMO ネットショップ ValuMore! ムラウチドットコム アット・ニフティストア Joshin web |
← メールの設定 |
ハックの記録 LinkStation/玄箱 をハックしよう |
→ デフォルトエディタの変更 |