rcloneでGoogleDrive にアップ2
自宅の「SQLite 簡易サーバー」は順調に動作しているようです。CRON とRCLONE で定刻にバックアップをする準備をしています。
CRON は見様見真似で使っているのですが、ちょっと間違うと動いてくれません。文法チェックなども不親切な気がして苦手です。
今回も大分はまりましたが、少し勉強になりました。
まずはターミナルで rclone sync
先週の内に試した内容ですが、次のように確認しました。
$ rclone sync /media/pi/SQLite/DBs gdrive:DBs
gdrive に Google Drive を設定しています。
これで DBs フォルダーの中にあるファイルが同期されました。
同期と言っても、ローカルからリモートにコピーされたと言う感じです。
コマンドを実行した時だけで、継続的に同期してくれる訳ではありません。
linux コマンドの rsync と同じと考えれば良いみたいです。
DBs の中にフォルダー test を作り、再度上のコマンドを実行してみると、フォルダー test はコピーされませんでした。
フォルダーを作りながら通信記録などのログファイルを溜めて行くような場合は copy を使うようです。
ターミナルで rclone copy
$ rclone copy /media/pi/SQLite/DBs gdrive:DBs
今度はフォルダー test とその中のファイルもコピーされました。
sync, copy 共にタイムスタンプなどを参考に、同一ファイルは送らないなど、無駄なトラフィックを生じないように出来ているそうです。
ここまでは、overlays を enable にしても動作することを確認済です。
overlays enable でもUSBメモリーを認識してくれます。
いよいよ CRON
以下の内容の cron.txt を作って、$ crontab cron.txt しました。
# indicating with different fields when the task will be run
# and what command to run for the task
#
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use '*' in these fields (for 'any').
#
# Notice that tasks will be started based on the cron's system
# daemon's notion of time and timezones.
#
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
#
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
#
# For more information see the manual pages of crontab(5) and cron(8)
#
# m h dom mon dow command
15 * * * * pi rclone sync /media/pi/SQLite/DBs gdrive:DBs
1時間間隔で時刻15分に rclone sync を実行してくれます。
簡単に出来るのですが、つまらないことで苦労しました。ユーザー名 pi を入れ忘れて、ユーザー rclone が居ないとか・・・
最初は自分が書いたファイルが悪いのに、Buster になって環境が変わったのではないかなどと、他人のせいにしてみたり・・・暗中模索状態でした。
$ sudo /etc/init.d/cron status でステータスを見る方法を知って、大分心が落ち着きました。(笑)
この先、もう一回動作を確認したら深夜 2:15分に毎日バックアップするようにして様子を見ます。
overlays enable で動いてくれるものと期待しています。→ 動いてくれました。(5/25日追記)
今後は電源ONで「SQLite 簡易サーバー」として機能するようにして、稼働させながら長期間の試験に入る予定です。(5/25日追記)
USBメモリーの寿命
安価で、手軽な「SQLite 簡易サーバー」はUSBメモリーにデータベースを置ています。USBメモリーの寿命や壊れ方など調べてみました。
壊れ方は様々で、USBメモリーを認識しなくなるものや、読めるけどデータが化けている場合もあるようです。つまり、バックアップも化ける可能性がある訳です。(心配です)
幸い安価なので、半年に1回程度(未然に)USBメモリーを交換するのが良いのではないかと考えています。