はやし雑記

はやしです

LinuxでもAmazon DriveやOneDriveにデータをバックアップしたい

UbuntuにはAmazon photoやOneDriveの公式クライアントは無いが、 odriveを使ってファイルをバックアップできるようにしたので、備忘録として残しておく。

odriveはいろんなクラウドストレージを一元管理するサービスで、Linux向けのCLIクライアントもある。

www.odrive.com

今回、Google PhotoやAmazon photoやDropboxやOneDriveに散らばっていた写真や動画、ドキュメントの類をすべてデスクトップPCのHDDに突っ込んで、そこで管理するようにした。

ただ、外でスマホなどから写真を見たりしたいので、HDDに保存するのをメインとして、 写真や動画をAmazon Driveに、ドキュメントをOneDriveにバックアップするようにした。

なので、基本的にはUbuntuにマウントしたHDDのデータを、Amazon DriveやOneDriveにバックアップするような一方向の想定でセットアップした。

まず、Odriveに登録して、クラウドストレージを紐付ける。

f:id:hayashikunsan:20210509222058p:plain

次に、このドキュメント通りにOdriveのインストールした。

docs.odrive.com

$HOME/.odrive-agent/bin/odriveagent と、odrive ができる。

$ ls $HOME/.odrive-agent/bin/
odrive
odrive.py
odriveagent

OdriveのWebからProfile→Auth Keyで新しくAuth Keyを作って、authenticateする

$ ~/.odrive-agent/bin/odrive authenticate auth-key-auth-key-auth-key

Odriveでbackupなどをするためには、odriveagentを起動させておく必要がある

$ ~/.odrive-agent/bin/odriveagent

serviceにするのが良いとは思うけど、面倒なのでとりあえずstartup applicationに登録した

f:id:hayashikunsan:20210509221650p:plain

Backupは

~/.odrive-agent/bin/odrive backup /path/to/backup/Documents/ "/Cloud storage/Documents"

とすれば、Documentsがbackupされるようになる。

今回私は画像と動画をAmazonDriveに、ドキュメントをOneDriveにBackupしたかったので、

$ ~/.odrive-agent/bin/odrive backup /path/to/Videos/ "/Amazon Drive/Videos"
$ ~/.odrive-agent/bin/odrive backup /path/to/Pictures/ "/Amazon Drive/Pictures"
$ ~/.odrive-agent/bin/odrive backup /path/to/Documents/ "/OneDrive/Documents"

とした。

こうすれば、backupが開始される。

ただ、localの /path/to/Documents/ に新しくファイルを追加したとき、そのファイルは自動的にOneDriveにbackupされるわけではなくて、 後から入れたファイルはodrive backupnowしないとbackupされないので、 crontabで定期的にodrive backupnowするようにした。

$ crontab -l
0 * * * * $HOME/.odrive-agent/bin/odrive backupnow

odriveでsyncしたりmountしたりすることもできるらしいが、今回はBackupしたいだけなので、とりあえずこれだけ