セキュリティとか言う、おっさんには不便なものが強化され、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.ダウンロードとインストール
全てはここにあり
(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件のコメント