osxphotos - Sauvegardez automatiquement votre photothèque Apple
Vos photos dans iCloud, c'est une synchronisation, et pas un backup et même si la nuance est mince, quand on s'en rend compte, il est souvent trop tard... C'est pourquoi même si vous avez une confiance aveugle en Apple, si demain votre compte est supprimé pour une raison ou une autre, vous perdrez l'accès à vos précieuses photos. Et ça, on ne le veut pas ! Alors aujourd'hui, on va apprendre à en faire une sauvegarde.
Pour cela, on va utiliser osxphotos , une bibliothèque Python open source (MIT) qui lit directement la base SQLite de Photos.app pour en exporter tout le contenu. Ça tourne sur macOS de Sierra à Sequoia, et même sur Linux.
L'installation :
brew tap RhetTbull/osxphotos
brew install osxphotos
Et pour exporter tout votre catalogue de photos vers un disque externe il suffit d'entrer la commande suivante :
osxphotos export /Volumes/MonDisque/Photos --download-missing --update
--download-missing forcera le téléchargement depuis iCloud des photos pas encore présentes en local et --update fera le boulot incrémental, ne retraitant que les nouvelles photos ou celles modifiées depuis le dernier lancement.
Du coup, le premier export peut prendre des heures, et les suivants quelques secondes. L'outil génère d'ailleurs un .osxphotos_export.db dans le dossier de destination pour tracker ce qui a déjà été exporté. Je trouve ça un peu plus simple que d'exporter toute la grosse photothèque .photoslibrary à chaque coup.
Ensuite, pour automatiser, un cron suffit (vérifiez votre chemin avec which osxphotos - /opt/homebrew/bin/ sur Apple Silicon, /usr/local/bin/ sur Intel) :
0 3 * * * /opt/homebrew/bin/osxphotos export /Volumes/MonDisque/Photos --download-missing --update
Moi je l'ai mis tous les jours à 3h du mat ! Mais attention, disque non monté = 0 export, 0 erreur visible. Donc à moins que vous ayez un script de vérification du montage, vérifiez les logs de temps en temps. Pour une gestion plus propre des conditions de montage, launchd est quand même préférable, mais pour commencer, le cron fera très bien l'affaire.
Après si vous n'utilisez pas Photos.app mais juste iCloud depuis votre iPhone, regardez plutôt du côté de la sauvegarde iPhone sur disque externe . Et si vous voulez aussi mettre en sécurité vos données Apple Notes , ou les migrer sur Obsidian, c'est possible aussi.
