iCloudPD – zálohování fotek z iCloud

Možná jste někdy řešili problém, že byste měli rádi ještě fotky z iCloudu lokálně či až tak nevěříte Apple a fotky byste chtěli mít pro jistotu zálohované. K tomu slouží projekt icloudpd, který dle zadaného příkazu a v kombinaci s cron pravidelně kontroluje iCloud a stahuje fotky do zadaného adresáře. A protože máme rádi Docker, tak jej i využijeme.


Bohužel se jedná o službu, která bude jednorázově spouštěná (klient) a z tohoto důvodu je nevhodné se ji pokoušet implementovat přímo do IOTstacku. Navíc je potřeba vložit ručně heslo (lze i automaticky) či jednou za čas 2FA kód s potvrzením na telefonu.

A nyní se již vrhneme na konkrétní řešení s pomocí projektu iCloud Photos Downloader (icloudpd).


Krok č. 1 – vytvoření skriptu

Začneme příkazem pro editaci a vytvoření nového souboru, který nazveme icloud_photo_download.sh:

mcedit ~/.local/bin/icloud_photo_download.sh

Do něj vložíme následující obsah, kde si pochopitelně nastavíme vlastní přihlašovací jmého/heslo (nahradit za vaše iCloud přístupové údaje u hodnot PRIHLASOVACIJMENO a PRIHLASOVACIHESLO) a případně dle vlastního uvážení poupravíme i složky, kde se budou fotky ukládat. Skript bude kontrolovat posledních 500 fotek:

!/usr/bin/env bash

cd ~/IOTstack
docker run -it --rm --name icloud -v ~/iCloudPhotos:/data -v ~/IOTstack/volumes/icloudpd/cookies:/cookies -e TZ=Europe/Prague icloudpd/icloudpd:latest icloudpd --directory /data --cookie-directory /cookies --folder-structure {:%Y/%Y-%m-%d} --username PRIHLASOVACIJMENO --password PRIHLASOVACIHESLO --size original --recent 500

Při prvním spuštění je vhodné vynechat poslední přepínač --recent 500, aby skript stáhl veškeré dostupné fotografie.


Krok č. 2 – nastavení práv

Aby mohl být skript spouštěn, je potřeba mu nastavit patřičná práva. Velmi jednoduchá věc, kterou obstará příkaz:

chmod 755 ~/.local/bin/icloud_photo_download.sh

Krok č. 3 – nastavení pravidelného spouštění

Zde se vysloveně nabízí použití cronu, tedy zadáme příkaz:

crontab -e

A na konec vložíme následující kód, které bude spouštět skript každý den ve 4:30 ráno:

30  04    *    *    *    icloud_photo_download.sh >>./Logs/icloud_photo_download.log 2>&1

Poznámka pod čarou: skript samozřejmě můžeme vyvolat ručně zadáním icloud_photo_download.sh, čímž můžeme ověřit i funkčnost a poprvé stáhnout všechny fotky (při vypuštění posledního přepínače – viz výše). Jak vidíte na screenu níže, skript zrovna stahuje bezmála 33 tisíc fotek 😀

Zanechat komentář