CSVサーバーのバックアップ

CSVサーバーのバックアップ

記事
IT・テクノロジー
このところ連続して投稿しているCSVサーバーのデータをPCにバックアップするPythonスクリプトを作成しました。現在の姿はタイトル画像のように簡易カバーを取り付けて短絡防止をしています。

バックアップ作業はCSVサーバーを稼働させたまま、PCからソケット通信でSDカードのファイルを読み出してコピーします。
バックアップ作業を開始すると次のように動作します。
1.SDカードのルードディレクトリにあるファイル名を取得
2.CSVサーバーから現在時刻を読み出す
3.各ファイルをPCのローカルディスクにコピーする
4.当月以外のファイルをバックアップフォルダーに移動する
5.SDカードの残容量を読み出して表示する

CSVサーバーは複数のデータを管理していますが、例えばsyslogと名付けたデータは以下の様に保存されています。
¥(ルート)
 └ syslog-0000.txt
 └ syslog-2609.txt
 └ syslog-2610.txt
 └ ¥ BU_syslog
    └ syslog-2608.txt

バックアップフォルダとは上の例でBU_syslogです。
PCのローカルディスクには以下の様に保存されます。
¥SDBU
 └ ¥syslog
    └ syslog-0000.txt
    └ syslog-2608.txt
    └ syslog-2609.txt
    └ syslog-2610.txt

先程(10/01日)に実施した結果は以下の通りでした。
DIR
TIM
Copy files
 0 init
 1 syslog-0000
 2 syslog-2610
 3 diary-2610
 4 diary-0000
 5 syslog-2609
 6 diary-2609
Move files
 ACK syslog-2609,BU_syslog
 ACK diary-2609,BU_diary
FRE
 14852MB

今のところ大きくても10kbyte程度のファイルですが、PCにコピーされた各ファイルは問題なく閲覧出来ました。

CSVサーバーのLEDインジケータはsocket通信中に点灯するようにしていますが、長くてもせいぜい1秒程度の点灯です。一方 Python Interpreter ウインドウの表示は明らかに遅く、ファイルによっては10秒を超えるものがあるように見えます。急ぐ処理ではないし、他のクライアントからのアクセスを妨げてはいけないと思い、バックアップ作業では各ファイルアクセス毎に5秒間のスリープを入れています。

Raspberry Pi Pico WとSDカードを使ったCSVサーバーはSDカード故障が心配です。Sakana AIに聞いてみたところ、SDの予防交換頻度:1回/年、書き込み頻度:100回/日以下程度であれば安価なSDカードでも余裕を持って運用出来そうです。

趣味に限らず業務利用でも小規模なものであれば使えそうです。


今後とも宜しくお願いします。



サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す