SA-SX400の純正楽曲バックアップ機能は本体側でバックアップ開始を指示し、
パソコン側上のブラウザで、SA-SX400のIPアドレス URLを指定して
パソコン上に、バックアップ採取を行うものだが、
・フルバックアップしかできない
・2GB毎にファイル分割するのでそのたびに人手操作が必要
という仕様のため、HDD換装して楽曲容量を増やしたら、とても、やってられない。
上記の仕様なので、SA-SX400上でWEBサーバが起動しているわけだが、
Server: Apache/1.3.33 (Unix)
が動いている。
第1パーティションには、/bin/bash /bin/tar /bin/find /bin/df などの基本コマンドがそろっているので、
Apacheのconfをいじってやれば、お好みのバックアップ機能を作れる。
具体的には、換装するHDDに、純正DISKの内容を複写した後で、
(step1) 新規directoryを作成し、そこに、/bin/bash を bash.cgi みたいな名称で、改名コピー
(step2) Apacheのconfファイルに ↑の 新規directory下のcgiを実行できるように、数行追加
を、行うえばよい。
↑の仕込みをおこなっておけば、本体パネルで、「バックアップ開始」操作を行えば、
Apacheが起動するので、外のLINUX機などから、bash.cgiに、コマンドライン行を
POSTしてやれば、コマンド実行結果が、HTTP応答として返ってくる。
外の世界で、バックアップ用のスクリプトを組めば、
差分バックアップ機能を作りこむことができる。
例えば、
/bin/echo -e -n "Content-Type: application/octet-stream\r\n\r\n"
df -h
の2行を、wgetコマンドなどで、POSTしやれば、
Filesystem Size Used Avail Use% Mounted on
rootfs 152M 98M 52M 65% /
/dev/root 152M 98M 52M 65% /
tmpfs 12M 0 12M 0% /dev/shm
/dev/root.old 3.9M 3.7M 244k 94% /mnt/app_bin
/dev/hda2 387M 381M 3.2M 100% /cddb
/dev/hda3 106M 5.9M 99M 6% /data
/dev/hda4 73G 760M 71G 2% /Track
と、起動中のSA-SX400上のLINUX上のマウント状況を調べることができる。
第4パーティションの楽曲データは、/Trackにマウントされていることが分かった。
/bin/echo -e -n "Content-Type: application/octet-stream\r\n\r\n"
(cd /; tar cf - Track)
の2行を wgetコマンドでPOSTしてやれば、
楽曲データのtar形式のフルバックアップデータが得られる。
WAV形式の非圧縮CDデータ 631Mの取得に332秒を要した。
80GBだと、11.6時間ほどである。長いが、放置しておけばよいので、
純正機能より、はるかに、楽である。
差分バックアップ機能を作りこむには、
(1)find でファイル一覧を取得
(2)バックアップ済みファイル一覧と突合せて、新規ファイル一覧、変更ファイル一覧を作成
(3)一覧ファイルに従ってファイル取得
なんて感じのスクリプトを、パソコン上に組めばよい。