MotionEye rclone sync Raspberry pi

セキュリティとか言う、おっさんには不便なものが強化され、motioneye, motioneye osなどのpython2系などのシステムからではクラウドへアクセスができなくなった。いろいろと試行錯誤した結果、rcloneを昔のやつpython2系に入れる方法にたどり着いた。
rcloneは、クラウドとローカルを同期したり、フォルダとしてマウントしたりすることができるという。

元ネタ

ありがとうございます。

入れたRaspberry pi

捨てるのもったいないし。SDG’sって言うんですか?

  • Raspberry pi 2

Raspberry Pi OS Lite (Legacy)
Release date: September 22nd 2022
System: 32-bit
Kernel version: 5.10
Debian version: 10 (buster)

GUIのブラウザが要るで

これも2ファクター認証ってやつじゃろか?Raspberry piでGUI使っとる人には関係ない?けど、認証にGUIのブラウザが動くパソコンがあったほうが楽でええで。

  • Raspberry pi(cuiじゃ)
  • Windows機のブラウザ

これら2つ使ったで。どうせWindows機からsshでやっとるし。

1.ダウンロードとインストール

全てはここにあり

https://rclone.org/downloads/

(1)Raspberry pi のやつ

  • wget https://downloads.rclone.org/v1.61.1/rclone-v1.61.1-linux-arm.deb
  • sudo dpkg -i rclone-v1.61.1-linux-arm.deb

(2)Windows機 のやつ

1.の全てはここにありより、自分のやつを選ぶ。わしは、Intel/AMD – 64 BitのWindowsじゃ。

  • クリックしてダウンロード後、適当なフォルダに解凍するだけ。zip形式。

解凍方法は、このページ見る人なら飽きるほどやってるはず。よって説明省略。すまんな。

2.設定

(1)Raspberry Piより

  • rclone config

以下、会話型で進めるで。入力したのは赤色の文字じゃ。

No remotes found, make a new one?
n) New remote
s) Set configuration password
q) Quit config
n/s/q> n・・・新しく作ります

Enter name for new remote.
name> dropbox ・・・適当だが後で使う

Option Storage.
Type of storage to configure.
Choose a number from below, or type in your own value.
1 / 1Fichier
\ (fichier)
2 / Akamai NetStorage
\ (netstorage)
————省略————-
13 / Dropbox
\ (dropbox)
————省略————-
50 / seafile
\ (seafile)

Storage> 13 ・・・わしの使うやつ

Option client_id.
OAuth Client Id.
Leave blank normally.
Enter a value. Press Enter to leave empty.
client_id> 空欄エンター・・・とりあえず

Option client_secret.
OAuth Client Secret.
Leave blank normally.
Enter a value. Press Enter to leave empty.
client_secret> 空欄エンター・・・とりあえず

Edit advanced config?
y) Yes
n) No (default)
y/n> n ・・・やりません

Use web browser to automatically authenticate rclone with remote?
* Say Y if the machine running rclone has a web browser you can use
* Say N if running rclone on a (remote) machine without web browser access
If not sure try Y. If Y failed, try N.

y) Yes (default)
n) No
y/n> n ・・・他のやつでやりますがな

Option config_token.
For this to work, you will need rclone available on a machine that has
a web browser available.
For more help and alternate methods see: https://rclone.org/remote_setup/
Execute the following on the machine with the web browser (same rclone
version recommended):
rclone authorize “dropbox” ・・・コピーしとく
Then paste the result.
Enter a value.
config_token> ・・・Windows機の結果をこに貼り付ける

rclone configは実行したまま

(2)Windows機を操作

  • コマンドプロンプトを開き、1.からダウンロードして解凍したフォルダに行く。
    • cd rclone-v1.61.1-windows-amd64みたいな
  • rclone authorize “dropbox”・・・(1)をペーストする。打ってもええけど。
  • ブラウザが勝手に開くので、承認する。
てきたで!
  • コマンドプロンプト画面に戻ってみるとKeyが生成されとる。
  • これjson形式なんかな?{から}まで、{}を含めてコピー
コピー(白色反転部分)

(3)Raspberry piにもどって↑の白色反転部分をペースト

会話型入力の続き

  • config_token> {ーーーーーーーーーーーーーーーーアクセストークンーーーーーーーーーーーーーー}・・・ペースト


Configuration complete.
Options:
– type: dropbox
– token: {“access_token”:”・・・・・・・・・・・・・・・・・アクセストークン・・・・・・・・・・・・・・・・・4T20:19:57.3067421+09:00″}
Keep this “dropbox” remote?
y) Yes this is OK (default)
e) Edit this remote
d) Delete this remote
y/e/d> y ・・・これでok
Current remotes:

Name Type
==== ====
dropbox dropbox

e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
e/n/d/r/c/s/q> q ・・・おしまい

3.使い方

よく使うオプション

  • シンボリックリンクでコピー: -l
  • シンボリックリンクを実体でコピー: -L
  • ワイルドカード: –include
  • ログ: –log-file
  • テスト: –dry-run
  • デバッグモード: –vv
  • デーモンとして動かす: –daemon
  • バージョンチェック: -check

(1)リモートのファイル一覧: ls

rclone ls リモート名:共有名

dropboxと名付けたリモートの亀1のフォルダとファイル一覧

rclone ls dropbox:kame1

dropboxと名付けたリモートの亀1の拡張子jpgの一覧

rclone ls dropbox:kame1 –include “*.jpg”

(2)ローカルからリモートへアップロード: copy

rclone copy ローカルパス リモート名:共有名

ローカルMotionEyeの記録データCamera1の中身を全てアップロードする。(シンボリックリンクはリンクとして)

rclone copy -l /var/lib/MotionEye/Camera1 dropbox:kame1

  • 参考

MotionEyeの動画、静止画のファイル名
%Y-%m-%d/%H-%M-%S

(3)同期: sync

rclone sync ローカルパス リモート名:共有名

ローカルMotionEyeの記録データCamera1の中身をリモートと全て同期する。(シンボリックリンクはリンクとして)

rclone sync -l /var/lib/MotionEye/Camera1 dropbox:kame1

ローカルMotionEyeの記録データCamera1の中身をリモートと全て同期する。(シンボリックリンクはリンクとして)

ついでにログも/home/pi/rclone.log付ける。一瞬見るだけなので/homeフォルダでええか。

同期は予期せずファイルが消えることがあるので、テストランしとこ。

rclone sync -l /var/lib/MotionEye/Camera1 dropbox:kame1 –log-file=/home/pi/rclone.log –dry-run

(4)マウント: mount

rclone mount –daemonリモート名:共有名 ローカルパス

  • 最初のマウントはフォルダが空の場合のみ可能
  • rcloneをsudoでの起動は推奨されないとのこと。MotionEyeOSはroot権限で記録しているので、ユーザに書き込みのpermissionを与えておく。
    • MotionEyeの記録データCamera1に読み書きOKを与える。
    • リモートdropbox:kame1をローカル /var/lib/MotionEye/Camera1にマウント
  • sudo chmod 766 -R /var/lib/MotionEye/Camera1
  • rclone mount –daemon dropbox:kame1 /var/lib/MotionEye/Camera1

(7)エラーメッセージの確認: –vv

rclone mount dropbox:kame1 /var/lib/MotionEye/Camera1 –vv

(8)アップデート

rclone selfupdate

(9)バージョンチェック

rclone -check

(10)configの場所

  • piユーザ

/home/pi/.config/rclone/rclone.conf

  • rootユーザ(MotionEyeOSはroot)

/root/.config/rclone/rclone.conf

参考まで

以上



1件のコメント

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です