rcloneでGoogle Driveにファイルをバックアップする方法

ここにある方法を使うと、Google DriveのAPIキーをサーバに保存することになります。不特定多数の利用者がアクセスできる環境で用いないことをお勧めします。

2023年4月に若干修正

Google Driveなど、著名なオンラインストレージに、コマンドラインでファイルを保存できるrcloneの使い方です。

Rclone

さくらインターネットなどでも利用可能でした。このページでは、Google Driveへのファイルのバックアップ(コピー)を説明します。

まず準備。

cd
mkdir ~/bin && cd ~/bin

で、
/binディレクトリを作りましょう。

uname
uname -m

で、OSとCPUを確認し、

https://rclone.org/install.sh

で、照合します。

https://github.com/ncw/rclone/releases/

で、当該ファイルのURLのzipをコピーします。

さくらの場合は、おそらくこれ。

https://github.com/ncw/rclone/releases/download/v1.44/rclone-v1.44-freebsd-amd64.zip

これをwgetして、unzipします。unzipすると、ディレクトリができてきますので、rcloneだけ、取り出します。


/bin/rclone

でアクセスできるようにしたらいいと思います。

vi ~/.cshrc
alias rclone ~/bin/rclone
source ~/.cshrc

設定

パスを通したのち、

rclone config

で、以下のように設定を行います。空欄になっているのは、何も入力せずにエンターです。nameは、任意なのですが、ここではremoteとします。

n) New remote
name> remote
Storage> drive
client_id>
client_secret>
scope> 1
root_folder_id>
service_account_file>
Use auto config?
y/n> n

Use auto configで、yにすると、ローカル環境の場合は、ブラウザでセットアップをしてくれるのですが、レンサバなどでは、起動できるブラウザがないため、コンフィグレーションが止まってしまいます。ので、nを選びます。すると、超長いURLを示されるので、ブラウザでアクセスし、承認しコードを取得して貼り付けます。

場合によると、ここで、以下のような流れになる場合があります。

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 "drive" "*****************"
Then paste the result.

こうなったら、サーバから一旦離れて、ブラウザが使えるローカルで、rcloneを実施します。

macOSだったら、

brew install rclone

あたりでrcloneをインストールし、上記コマンドを叩いたら、Googleに連れて行かれて、許可を出せます。

もうすこしだけコンフィグレーションが続きます。

Configure this as a team drive?
y/n> n
y/e/d> y
e/d/q> q

qで終わったら、

rclone ls remote:

で動作確認します。うまくいくと、Google Driveのファイルの一覧を取得できます。

Google Driveへのバックアップ(コピー)

rclone copy target remote:

でtargetをremoteに複製します。ディレクトリを指定する場合は、こんなかんじ。

rclone copy target remote:dirname

なお、crontabで走らせる時には、

/home/USERNAME/bin/rclone copy target remote:

というように、フルパス書かないとダメなので、要注意です。

rcloneのコマンド類は、Rcloneのサイトで確認できます。オンラインストレージのファイルの削除なんかもできますよ。

以上!

ジャンル: CentOSWeb