次は、ビデオファイルが無くなった場合に、データベースから消す処理。
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#
|
楽天市場
アット・ニフティストア Joshin web |
|
← メールの設定 |
ハックの記録 LinkStation/玄箱 をハックしよう |
→ デフォルトエディタの変更 |