ラズパイ3 Chinachu TV録画サーバーと、もう1台のデーターサーバーから「scp」コマンドでデータ転送したら超便利!!
はじめに
ラズパイ3 Chinachu TV録画サーバーは、順調に稼働しています。課題は、録画用外付けハードディスクには、容量の限界がある事。設定した残容量を超えた場合、古いファイルから自動で消して新しい録画を行う仕様です。
そのため、残したい録画データだけ、何かに転送してして置く必要があります。高性能なPCがあれば、それ1台で、Chinachu TV録画サーバーとデーターサーバーを兼用し、録画データを別のハードディスクにバックアップする方法が取れますが、ラズパイ3 Chinachuの場合は、1台で、いろいろ動作させるほど、CPUパワーとメモリーが大きくありません。そこで考えました。
もう1台のラズパイで、録画データを操作させて、データを保管した方が、安定したシステムが作れます。”安価なラズパイなら、それが可能です。”
もう一つの課題として、どのようにサーバー間でデータを転送できるかという事ですが、
ネットで調べると、Linuxのデータ転送で scp (Secure CoPy) というコマンドがある事がわかりました。丁度、もう1台ラズパイ3を共用データーサーバーとして使用していましたので、これで、 Chinachu TV録画サーバーのデータも転送して来て保存する事をやってみました。
今回のシステム構成図
データーサーバーの構築法は下記をご覧下さい。
Chinachu TV録画サーバーの構築法は下記をご覧下さい。
※コマンド実行後、複写元ユーザーのpasswordを聞かれるますので、入力すると、開始します。
scpの操作法について
基本操作方法
scp [オプション][転送するファイル名][転送先パス]
今回使用するオプション
-p は元ファイルのオーナー、グループ、パーミションと更新時間を維持
-r は ディレクトリ内をディレクトリごと(再帰的に)コピーする
具体例① フォルダ毎全ファイルコピー
先ず、カレントディレクトリーに移動します。
pi@raspberrypi-p:~ $ cd /mnt/hdd1/Public/movie/recorded
pi@raspberrypi-p:/mnt/hdd1/Public/movie/recorded $ pi@raspberrypi-p:/mnt/hdd1/Public/movie $ scp -pr pi@192.168.1.10:/mnt/hdd1/recorded ./
解説
192.168.1.10:/mnt/hdd1/recorded のフォルダーと中身のデータを
現在のカレントに recordedフォルダーが作られてファイルがコピーされる。
具体例② フォルダ毎ワイルドカードのファイルのみのコピー
カレントディレクトリーに移動します。
pi@raspberrypi-p:~ $ cd /mnt/hdd1/Public/movie/recorded
pi@raspberrypi-p:/mnt/hdd1/Public/movie/recorded $ pi@raspberrypi-p:/mnt/hdd1/Public/movie $ scp -pr pi@192.168.1.10:/mnt/hdd1/recorded/*GR24*.* ./
解説
192.168.1.10:/mnt/hdd1/recorded のフォルダーと中身のデータを
現在のカレントに recordedフォルダーを作ってコピーする。
コピーして来るファイルは、ワイルドカード(上記例は*GR24*)を指定するだけ。
結果
1Tぐらいのデータ容量になると、10BaseのLANで、1日半ぐらいかかるが、ラズパイは低消費電力なので、放置していても問題なく予定のファイルが転送できました。
ワイルドカードの文字は、日本語文字では認識しなかった。Chinachu 録画ファイル名の日時や、チャンネル番号を使うと良い。
(例)[190118-1815]の 190118 や、[GR24]のGR24
感想
当初、クライアントパソコンを介した、普通のコピーで
ラズパイ ⇒ クライアントパソコン ⇒ラズパイ のデーター転送を試みましたが、回線が介在するため、とても時間がかかり、また、途中でクライアントパソコンがダウンしたりしました。
その点、scpコマンドを使うと、完全にサーバー間での転送になるため、大変安定しています。
今後の予定
scpコマンドの入力が もう少し自動化できたらいいと思います。考えてみたいと思います。
今回はここまで