パソコン日記

パソコン関係のブログ

chinachuで古い物から録画ファイル自動削除。

chinachuで古い物から録画ファイル自動削除。
foltia ANIME LOCKER は


録画領域が100GBを切ると、ゴミ箱と古いm2t/aacデータを自動的に削除します。削除処理は録画前に適宜行われます。デフォルトはNoです。


ていう機能があるからHDDが一杯になって新しく録画できなくなる心配はないが、chinachuにはそんな機能はない。


んー、まぁ手動で管理するのが良いのだろうが、chinachuマシンは地デジのジャンルが音楽の番組を全部録画設定してるので、foltia ANIME LOCKER みたいに自動で削除したい。ワンセグ全録機みたいな使い方をしたい。という事で調べました。


[Note] ディスクの空き容量を確認する(df , fdisk)
http://www.linuxnote.info/?p=152
で実際の容量を調べてみる。


$ df -h
ファイルシス サイズ 使用 残り 使用% マウント位置
/dev/mapper/centos-root 50G 2.3G 48G 5% /
devtmpfs 1.7G 0 1.7G 0% /dev
tmpfs 1.7G 0 1.7G 0% /dev/shm
tmpfs 1.7G 8.5M 1.7G 1% /run
tmpfs 1.7G 0 1.7G 0% /sys/fs/cgroup
/dev/sda2 497M 167M 331M 34% /boot
/dev/sda1 200M 9.5M 191M 5% /boot/efi
/dev/mapper/centos-home 1.8T 87G 1.7T 5% /home
tmpfs 339M 0 339M 0% /run/user/1000

$ df
ファイルシス 1K-ブロック 使用 使用可 使用% マウント位置
/dev/mapper/centos-root 52403200 2396216 50006984 5% /
devtmpfs 1722956 0 1722956 0% /dev
tmpfs 1734092 0 1734092 0% /dev/shm
tmpfs 1734092 8696 1725396 1% /run
tmpfs 1734092 0 1734092 0% /sys/fs/cgroup
/dev/sda2 508588 170300 338288 34% /boot
/dev/sda1 204580 9640 194940 5% /boot/efi
/dev/mapper/centos-home 1895702136 98862008 1796840128 6% /home
tmpfs 346820 0 346820 0% /run/user/1000

# fdisk -l
WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.

Disk /dev/sda: 2000.4 GB, 2000398934016 bytes, 3907029168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
Disk label type: gpt


# Start End Size Type Name
1 2048 411647 200M EFI System EFI System Partition
2 411648 1435647 500M Microsoft basic
3 1435648 3907028991 1.8T Linux LVM

Disk /dev/mapper/centos-root: 53.7 GB, 53687091200 bytes, 104857600 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト


Disk /dev/mapper/centos-swap: 3758 MB, 3758096384 bytes, 7340032 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト


Disk /dev/mapper/centos-home: 1942.1 GB, 1942147301376 bytes, 3793256448 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト


容量は1.8Tあるんだなぁ。という事で以下のページを参考に


空き容量を確保しながら番組を自動消去する
http://www.obenri.com/_samba_regza/del_regza.html
を見て、2TBのHDDなので


録画ファイルの場所:/home/share/
削除を開始するHDD使用量:dulimit=1700000
削除するファイルの拡張子:.m2ts
拡張子 .rat .meta を削除する行を削除。
で編集して

#!/bin/bash
cd /home/share/rec/ &&

if !( smbstatus -L | grep /home/share/ > /dev/null );
then


declare -i dulimit
dulimit=1700000

declare -i duvalue
duvalue=`du . -sm | cut -f1`

while [ $duvalue -gt $dulimit ];
do
fname=`ls -t | grep .m2ts$ | tail -1`

if [ -f "$fname" ];
then

mv -fv "$fname" ../del_temp/ | cut -b2-18

duvalue=`du . -sm | cut -f1`

else
echo "No Video DATA"
duvalue=0

fi

done

rm -f ../del_temp/*

fi

という感じで作ってみました。
../del_temp/ を最初にmkdirします。
とりあえずdulimitをいじって消えることは確認。
今の設定だと一か月以内にHDD一杯になるから、その時に動くかどうか分かるだろう。まぁ、お気楽にやります。
今現在のHDDの使用量は

$ du . -sm
89259 .
こんな感じです。どの位で一杯になるのかな?


2016/3/6追記
2016/3/6の正午に初めて動いた模様です。HDD使用率97%を維持なのでこれでいいかな。関西地区で地上波のジャンル音楽を撮ると結構持たない。正味二か月くらいしか2TBでは持たないことが分かった。
同じ2TBでもfoltiaはまだ67%ぐらいなんだよな。ただあっちは録画設定が手動なので面倒ではある。重複録画は避けられるけど、全部録画マシンみたいに使うには、いちいち登録するのが面倒。
普通のキーワード録画はWindowsで行っているので、この辺はオマケだからな。


2016/3/12追記
foltiaでも削除始まってた。Windowsマシンから見えるディスク使用率はあてにならない、というか表示がおかしい。LVMだからなのか。とにかくもう削除が始まってからかなり経っていた。
chinachuでファイル名に特定の文字列が存在するときに、単項演算子が予期されます というエラーを出して処理が出来ないで、止まっていた。その特定のファイルを消せば処理は行われる事はわかった。
とりあえず手動で消した。宿題。


2016/11/06追記
全然解決してないので、mixiLinuxコミニュティの初心者用のくだらない質問トピックで質問してみた。

ファイル名に半角スペースが入ってる事を考慮されいない、-fが必要ではという内容を言われ、スクリプトファイル内の、
if [ $fname ]; を if [ -f "$fname" ]; に
mv -fv $fname ../del_temp/ | cut -b2-18 を
mv -fv "$fname" ../del_temp/ | cut -b2-18 に変更したところ半角スペースがある場合も削除されました。
これでまたしばらく様子見です。