Sauvegarder ses photos de smartphone avec Owncloud puis récupération d’un groupe de photos a posteriori
J’ai donc sur mon smartphone Android l’application Owncloud qui me permet de synchroniser avec mon serveur perso mes photos prises.
Pour ensuite les trier facilement et les récupérer, plutôt que repartir de mon smarphone, j’utilise mon espace Owncloud et la fonction “télécharger” qui permet de récupérer un ensemble de fichiers.
Le souci : pas très cool de cliquer 400 fois pour sélectionner les photos :p
Et l’idée n’est pas d’utiliser un montage Webdav
Mon astuce : Vu l’url compréhensible de téléchargement des fichiers, j’ai fait un petit script bash pour me générer la bonne URL pour récupérer les fichiers entre ma photo numero $NUMDEBUT à $NUMFIN !
Le voici (l’idée est que vous testiez la forme de l’URL via votre propre install owncloud pour avoir le $URLSERVEUROWNCLOUD et $CHEMIN et $CHEMINREPOWNCLOUDPERSO, de même le nommage des photos est ici supposé être du type DSC*$i*.JPG, à adapter si IMG*) :
Pour $NUMDEBUT $NUMFIN c’est donc la séquence des photos à récupérer
Mise en garde : il faut faire par etape de 300 photos pour éviter le “The requested URL’s length exceeds the capacity limit for this server.”
#!/bin/sh
echo "https://$URLSERVEUROWNCLOUD/index.php/apps/files/ajax/download.php?dir=$CHEMIN&files=[%22" | tr -d "\n" > /$CHEMINREPOWNCLOUDPERSO/files/$CHEMIN/todo.txt;
for i in $(seq $NUMDEBUT $NUMFIN)
do
cd /$CHEMINREPOWNCLOUDPERSO/files/$CHEMIN/;
ls DSC*$i* | sed s/\ \(/%20\(/g | tr -d "\n" >> todo.txt;
echo "%22%2C%22" | tr -d "\n" >> todo.txt;
done
#gestion des images dans meme minute
sed -i 's/JPGDSC/JPG%22%2C%22DSC/g' /$CHEMINREPOWNCLOUDPERSO/files/$CHEMIN/todo.txt;
#contournement cas gestion erreur image n'existe pas
for i in $(seq 1 4)
do
sed -i 's/%22%2C%22%22%2C%22/%22%2C%22/g' /$CHEMINREPOWNCLOUDPERSO/files/$CHEMIN/todo.txt;
done
echo "]" >> /$CHEMINREPOWNCLOUDPERSO/files/$CHEMIN/todo.txt;
sed -i 's/\[%22%22%2C%22/\[%22/g' /$CHEMINREPOWNCLOUDPERSO/files/$CHEMIN/todo.txt;
sed -i 's/%22%2C%22]/%22]/g' /$CHEMINREPOWNCLOUDPERSO/files/$CHEMIN/todo.txt;
Si tout se passe bien dans le dossier de vos photos une fois le script lancé sur votre serveur, vous trouverez un todo.txt avec une URL qu’il s’agira d’ouvrir dans un autre onglet pour télécharger votre photos.zip 😀