UbuntuにはAmazon photoやOneDriveの公式クライアントは無いが、 odriveを使ってファイルをバックアップできるようにしたので、備忘録として残しておく。
odriveはいろんなクラウドストレージを一元管理するサービスで、Linux向けのCLIクライアントもある。
今回、Google PhotoやAmazon photoやDropboxやOneDriveに散らばっていた写真や動画、ドキュメントの類をすべてデスクトップPCのHDDに突っ込んで、そこで管理するようにした。
ただ、外でスマホなどから写真を見たりしたいので、HDDに保存するのをメインとして、 写真や動画をAmazon Driveに、ドキュメントをOneDriveにバックアップするようにした。
なので、基本的にはUbuntuにマウントしたHDDのデータを、Amazon DriveやOneDriveにバックアップするような一方向の想定でセットアップした。
まず、Odriveに登録して、クラウドストレージを紐付ける。
次に、このドキュメント通りにOdriveのインストールした。
$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に登録した
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したいだけなので、とりあえずこれだけ