Raspberry Piにあるファイルを、万が一のときのためにGoogleドライブにバックアップできるようにする。Raspberry PiからGoogleドライブにアクセスするにはrcloneを使う。rcloneはファイルをGoogleドライブやDropboxなどのクラウドサービスと同期できるコマンドラインプログラム。
Raspbian Stretch。
rcloneインストール用のスクリプトが用意されているのでそれを使う。インストールされたバージョンはv1.48.0。
rclone configコマンドで各種サービス用の設定ができる。
Googleドライブ用の設定についてはGoogle driveに詳細な説明がある。以下、rclone configの設定内容。
q) Quit config
n/s/q> n
rcloneでGoogleドライブのファイル一覧を表示したり、Raspberry PiにあるファイルをGoogleドライブにアップロードできる。いくつか操作を試してみる。
Googleドライブトップ階層のディレクトリ一覧を表示
Googleドライブの全ファイル一覧を表示
Googleドライブにtestディレクトリを作成
ファイルをGoogleドライブに作成したディレクトリにコピー
Googleドライブのディレクトリtestにあるファイルをダウンロード
Raspberry PiのディレクトリtestとGoogleドライブのディレクトリtestを同期させてみる。
Raspberry Pi内ディレクトリtestのファイル一覧を確認。
Googleドライブ内ディレクトリtestのファイル一覧を確認。
まずは--dry-runオプションで実際に同期させずに動作を確認する。同期させたときに予期せずにファイルが削除されることがありえるので、--dry-runオプションではじめに確認する方が安心。
まだファイルは同期されていない。
実際に同期させる。
ファイルが同期された。
Google driveによると、Googleドライブにはレートリミットがあって、rcloneで使用するときには1秒間に2ファイルぐらいしか転送できない。
ファイル数が多い場合はアーカイブにするなどすれば良いかも。
自動で定期的にGoogleドライブにバックアップするように、Raspberry Piにcloneジョブを追加する。cronで毎日2時に同期バックアップを実行するには、crontabに「00 2 * * * pi rclone sync test gdrive:test」を追記する。
環境
Raspbian Stretch。
rcloneのインストール
rcloneインストール用のスクリプトが用意されているのでそれを使う。インストールされたバージョンはv1.48.0。
rcloneでGoogleドライブを利用する設定
rclone configコマンドで各種サービス用の設定ができる。
Googleドライブ用の設定についてはGoogle driveに詳細な説明がある。以下、rclone configの設定内容。
新規リモート(利用するサービス)の設定作成
n) New remote
s) Set configuration passwordq) Quit config
n/s/q> n
新規リモート名の設定(任意)
name> gdrive
設定するサービス(12 / Google Drive)を選択
Storage> 12
client_idとclient_secretはブランクでOK
client_id>
client_secret>
アクセス権をフルアクセス(1 / Full access all files, excluding Application Data Folder)に設定
scope> 1
root_folder_idとservice_account_fileはブランクでOK
root_folder_id>
service_account_file>
advanced設定はしない
Edit advanced config? (y/n)
y/n> n
リモートの設定を自動でしない(ターミナルで設定しているのでnを選択)
Remote config
Use auto config?
* Say Y if not sure
* Say N if you are working on a remote or headless machine
y/n> n
表示されるリンクをブラウザで開いて、rcloneによるアクセスを許可するとコードが表示されるのでコピーしてペーストする
Log in and authorize rclone for access
Enter verification code> *****
チームドライブとして設定しない
Configure this as a team drive?
y/n> n
設定した情報が表示されるのでOKならy
y) Yes this is OK
e) Edit this remote
d) Delete this remote
y/e/d> y
設定の終了
e/n/d/r/c/s/q> qrcloneによるGoogleドライブの操作
rcloneでGoogleドライブのファイル一覧を表示したり、Raspberry PiにあるファイルをGoogleドライブにアップロードできる。いくつか操作を試してみる。
Googleドライブトップ階層のディレクトリ一覧を表示
Googleドライブの全ファイル一覧を表示
Googleドライブにtestディレクトリを作成
Googleドライブのディレクトリtestにあるファイルをダウンロード
Raspberry PiのディレクトリとGoogleドライブのディレクトリを同期させる
Raspberry PiのディレクトリtestとGoogleドライブのディレクトリtestを同期させてみる。
Raspberry Pi内ディレクトリtestのファイル一覧を確認。
Googleドライブ内ディレクトリtestのファイル一覧を確認。
まずは--dry-runオプションで実際に同期させずに動作を確認する。同期させたときに予期せずにファイルが削除されることがありえるので、--dry-runオプションではじめに確認する方が安心。
まだファイルは同期されていない。
実際に同期させる。
ファイルが同期された。
Googleドライブを使用するときの制限
Google driveによると、Googleドライブにはレートリミットがあって、rcloneで使用するときには1秒間に2ファイルぐらいしか転送できない。
Drive has quite a lot of rate limiting. This causes rclone to be limited to transferring about 2 files per second only.
ファイル数が多い場合はアーカイブにするなどすれば良いかも。
cloneでバックアップジョブの設定
自動で定期的にGoogleドライブにバックアップするように、Raspberry Piにcloneジョブを追加する。cronで毎日2時に同期バックアップを実行するには、crontabに「00 2 * * * pi rclone sync test gdrive:test」を追記する。
0 件のコメント:
コメントを投稿