LoginSignup
0
1

OdriveでLinux上の写真をAmazon Drive(Photos)にアップロード

Last updated at Posted at 2023-10-24

環境

  • OS: Ubuntu 22.04.3 LTS

odrive.comでの作業

odriveのアカウント作成

odriveのアカウントがない場合、以下の手順でodriveのアカウントを作成する。

  • odrive.comにアクセス
  • GET ODRIVEを選択
  • SIGN IN WITH AMAZONを選択し、
  • 保有するAmazonアカウントの情報を入力し、アクセスを許可
  • 確認用Eメールアドレスを入力し、Eメールアドレスに届いたリンクをクリックして認証

odriveにAmazon Driveをリンク

odriveにAmazon Driveがリンクされていない場合、以下の手順でリンクする。

odriveのAuth Keyを作成

以下の手順でodriveのAuth Keyを作成する。

Linuxでの作業

odrive Agent/CLIをインストール

Linux上で以下のコマンドを実行する。これにより、${HOME}/.odrive-agent/binにodriveのAgent/CLIがインストールされる。

od="$HOME/.odrive-agent/bin" && \
curl -L "https://dl.odrive.com/odrive-py" --create-dirs -o "$od/odrive.py" && \
curl -L "https://dl.odrive.com/odriveagent-lnx-64" | tar -xvzf- -C "$od/" && \
curl -L "https://dl.odrive.com/odrivecli-lnx-64" | tar -xvzf- -C "$od/"

odrive Agentを起動

以下のコマンドを実行し、odrive Agentを起動する。以下、odrive CLI ($HOME/.odrive-agent/bin/odrive) を実行する場合は、事前にodrive Agentを起動しておく。

nohup "$HOME/.odrive-agent/bin/odriveagent" > /dev/null 2>&1 &

odrive Agent/CLIにアクセス権限付与(初回のみ)

以下のコマンドを実行する。これにより、odrive Agent/CLIによるクラウドストレージへのアクセスが可能となる。

"$HOME/.odrive-agent/bin/odrive" authenticate [上記で作成したAuth Key]

odriveのMount

以下のコマンドを実行する。これにより、$HOME/mnt/odriveにodriveがマウントされる。但し、この段階ではまだodrive下のAmazon Driveフォルダはplaceholderファイル($HOME/mnt/odrive/Amazon Drive.cloudf)になっており、直接アクセスできない。

mkdir -p "$HOME/mnt/odrive"
"$HOME/.odrive-agent/bin/odrive" mount "$HOME/mnt/odrive" /

odrive下のAmazon DriveをSync(同期)

以下のコマンドを実行する。これにより、placeholderファイル($HOME/mnt/odrive/Amazon Drive.cloudf)がAmazon Driveフォルダ($HOME/mnt/odrive/Amazon Drive)に同期される(置き換わる)。

"$HOME/.odrive-agent/bin/odrive" sync "$HOME/mnt/odrive/Amazon Drive.cloudf" --recursive --nodownload

但し、Amazon Driveフォルダ($HOME/mnt/odrive/Amazon Drive)及びその配下のフォルダ・ファイルの同期が完了するには時間がかかる。そのため、以下のコマンドを実行し、同期を確認する。"Synced"と表示されたら同期完了である。

"$HOME/.odrive-agent/bin/odrive" syncstate "$HOME/mnt/odrive/Amazon Drive"

写真をAmazon Driveにアップロード

同期後、Linux上の写真をAmazon Driveにアップロードする。

例えば、以下のようなコマンドを実行する。これにより、image/配下の画像ファイル(JPEG, PNG, BMP)がAmazon Driveにアップロードされる。

rsync -avz --include '*/' --include '*.jpg' --include '*.JPG' --include '*.jpeg' --include '*.JPEG' --include '*.png' --include '*.PNG' --include '*.bmp' --include '*.BMP' --exclude '*' image/ "$HOME/mnt/odrive/Amazon Drive/image/"

Amazonプライムに入会している場合、画像ファイル(JPG, PNG, BMP等)はAmazon Driveに容量無制限で保存できるが、動画等の他のファイルはAmazon Driveに5GBまでしか保存できない。そのため、容量不足が気になる場合は、上記コマンドのように画像ファイルのみをAmazon Driveにアップロードするとよい。

アップロード後、以下のコマンドを実行し、同期を確認する。"Synced"と表示されたら同期完了である。

"$HOME/.odrive-agent/bin/odrive" syncstate "$HOME/mnt/odrive/Amazon Drive"

odrive下のAmazon DriveをUnsync

以下のコマンドを実行する。

"$HOME/.odrive-agent/bin/odrive" unsync "$HOME/mnt/odrive/Amazon Drive"

odriveのUnmount

以下のコマンドを実行する。

"$HOME/.odrive-agent/bin/odrive" unmount "$HOME/mnt/odrive"

odrive Agentを停止

以下のコマンドを実行し、odrive Agentを停止する。

killall odriveagent

その他

上記ではodriveのMount/Sync機能を使用したが、odriveのBackup機能(odrive backup, odrive backupnow)を使用する方法もある。但し、Bakcup機能の使用にはodriveのPREMIUM登録が必要である。

参考リンク

odriveの公式ガイド。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1