先日来運用しているUSBカメラ&不要ノートPCによるテレビドアホンですが、今朝8時台にいつものように夜中の録画ファイルをチェックしたら4時台の新聞配達員が通り過ぎた映像が最後でした。
まあ日曜日だし朝からそんなに人も通らないかと思ったんですが、その後9時台に明らかにドアの前を誰かが通ったであろう音がしたにもかかわらず録画ファイルが作られてないことに気づきました。
で、Chromeブラウザからカメラにアクセスすると「can not be reached」。
sshでログインしてpsコマンドで確認するとmotionプロセスは動いてる様子。
ログ(/var/log/motion/motion.log)を見ると6時台に、
main: Thread 1 – Watchdog timeout, did NOT restart graceful,killing it!
main: cleaning Thread 1
というエラーが。
よくわからないけど「スレッドがタイムアウトしてリスタートしようとしたけどダメだったんでkillしました!」てな感じでしょうか。
その後、USBカメラの挿抜やmotionサービスのリスタートを試みるも無反応、ならばとmotionプロセスをkillコマンドで強制終了を試みるも終了せず。
どうもmotionプロセス自体が固まってなにも受け付けない状態になってる様子。
しょうがないのでOSを再起動しました。
再起動後はmotionサービスは普通に起動し、ブラウザによるカメラアクセスも録画も正常に機能してます。
対策ですが、上記ログを頼りにネットで軽く探してみましたがやはりよくわかりませんでした。
今回のmotionプロセスは前回OS起動時から14日間動きっぱなしで、そういった長時間の連続動作で問題が発生するのではないかと考えてmotionサービスを1日1回再起動することにしました。
先日のNetworkManager再起動のcrontabに追加して、毎日深夜3時5分に設定しました。
しかし、無線LANが無効になったり、ナゾのサスペンドがあったりといろいろとありますなあ。などと言いつつひさびさのシステム運用的な雰囲気をちょっと楽しんでたりするのでした。