さよなら容量不足!サーバーサイドで動かすiCloud写真同期ツール「icloudpd」完全攻略
icloud-photos-downloader/icloud_photos_downloader
今回は、iCloudから写真をコマンドラインで一括ダウンロードできる便利なツール icloudpd (icloud-photos-downloader) について、日本の4大ビールメーカーを擬人化したエンジニアたちが居酒屋で語り合うコント形式で解説します!
アサヒ(辛口・効率重視)
「おい、キリン。いつまでスマホのストレージ不足で悩んでんだ?さっさとiCloudの写真をローカルにバックアップしちまえよ。」
キリン(堅実・伝統派)
「いやぁ、ブラウザからちまちま選んで落とすのは骨が折れるし、同期設定をミスって消えちゃうのも怖くてさ…。」
サントリー(華やか・多才)
「それなら、いいライブラリがあるわよ!icloud-photos-downloader。Pythonで作られたCLIツールなんだけど、これを使えば全自動で写真をローカルのHDDやNASに同期できるの。」
サッポロ(質実剛健・こだわり派)
「ほう……CLIか。余計なGUIがない分、サーバーに組み込んでcronで定期実行するのにも向いてそうだな。詳しく教えてくれ。」
アサヒ
「エンジニアなら、この3点は痺れるはずだぜ。」
自動化(Idempotency)
一度ダウンロードした写真は二度落とさない。差分バックアップが超高速。
メタデータの保持
撮影日時や位置情報(EXIF)を壊さずにそのまま保存できる。
2要素認証(2FA)対応
Appleのセキュリティを突破して安全にログインできる仕組みが備わっている。
サントリー
「導入はとってもスマートよ。Pythonが入っていればすぐ終わるわ!」
ターミナルで以下のコマンドを叩くだけ。
pip install icloudpd
「まずは自分が自分であることを証明しなきゃね。」
icloudpd --directory ./my_photos --username [email protected]
※パスワードを求められた後、iPhoneに届く6桁のコードを入力すれば、認証トークンが保存されます。
サッポロ
「俺なら、こういう風にスクリプトを組んで、北極の冷気のごとくキンキンに効率化するな。」
icloudpd --directory ~/Pictures/iCloudBackup \
--username [email protected] \
--size original \
--recent 100
--directory
保存先のフォルダ。
--size original
圧縮版ではなく、最高画質を落とすのがエンジニアのこだわり。
--recent 100
最近の100枚だけチェックする(全件チェックより速い!)。
--auto-delete
iCloudから消したものをローカルでも消す(同期モード)。
キリン
「なるほど、これをNAS(ネットワークHDD)で毎日深夜に走らせれば、勝手にアルバムが出来上がるわけだ!」
アサヒ
「その通り!シェルスクリプトを書いて、crontab に登録しておけば、俺たちがビールを飲んでる間も勝手に仕事をしてくれるってわけだ。」
サントリー
「結局、手動でやるよりツールに任せるのが一番安全で速いのよね。」
サッポロ
「これなら、スマホを買い替えても、iCloudの容量がいっぱいになっても怖くないな。」
キリン
「よし、バックアップはツールに任せて、俺たちはもう一杯いこうか!」
全員
「かんぱーい!!」