Linuxからコマンドラインでクラウドにバックアップ
Linuxのデータをクラウド上に自動バックアップして楽をしようとする話。検索すると面倒なヤツやサポート終わってそうなヤツばかりが上位に来たのでメモ。
rcloneを使う
https://rclone.org/
大抵のクラウドドライブをサポートしているので、適当なクラウドが使えるのが利点。
クラウドサービスを切り替える度にコマンドを切り替えなくて済むのが利点。
rcloneのインストール
curl https://rclone.org/install.sh | sudo bash
セットアップ
GUIでない場合は、WindowsかMacにもrcloneコマンドをインストールしてトークンを取得して、コピペ。
rclone config
いろいろ聞いてくるので
n) new service
nを選択します。
name>
名前を入力します。アクセスする時に使います。
ここではcloudにしてみます。
Storage>
利用するクラウドドライブを指定します。
client_id>
cclient_secret>
ここはそのまま改行で問題ないです。
Edit advanced config? (y/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) Yes
n) No
普通はn
GUI上で操作している場合だけy
nを押した場合
rclone authorize "dropbox"
などと(上はdropboxを選んだ場合)でてくるのでWebが見られる環境(クライアント)のシェルからこのコマンドを実行します。ブラウザ上にログイン画面が出てくるのでログインします。
ログインが成功するとクライアントのコマンドラインにトークンが帰って来るので、サーバー側のresult>にコピペします
result>
qでコンフィグから抜けます。
テスト:
rclone ls cloud:
ファイルリストが見られればOK
バックアップしてみる
#/bin/bash
SOURCE='/backup'
DEST='/backup'
CLOUD='cloud:'
rclone sync $SOURCE $CLOUD$DEST
こんな感じのスクリプトを書いて、clonedに登録