Importer automatiquement les photos de son APN sous Debian
L’objectif de cet article est d’importer automatiquement les photos contenus dans les cartes mémoires venant de mon APN. Pour cela, il va falloir pouvoir différencier les cartes de mon APN des autres cartes mémoires, nous allons faire cela grâce à udev
.
Pour commencer, nous allons mettre la carte mémoire et chercher le device affecté à celle ci
$ tail -f /var/log/messages Oct 22 23:19:44 perhonen kernel: [ 1355.344642] sd 6:0:0:0: [sdd] 15523840 512-byte logical blocks: (7.94 GB/7.40 GiB) Oct 22 23:19:44 perhonen kernel: [ 1355.346251] sdd: sdd1
Nous voyons qu’ici, la carte est connu sous /dev/sdd
, elle ne contient qu’une seule partition /dev/sdd1
, c’est celle-ci qui nous intéresse.
Pour la suite, nous utiliserons le label de la partition afin d’identifier la carte SD. Pour mettre en place ce label, vous pouvez vous référer à l’article Gérer le label d’une partition FAT32.
Pour finir, nous allons créer le fichier de règles udev /etc/udev/rules.d/z90-pictures-import.rules
qui demandera l’exécution d’un script d’importation à l’insertion d’une carte contenant le label EOS_DIGITAL
:
SUBSYSTEM=="block", ENV{ID_FS_LABEL}=="EOS_DIGITAL", SYMLINK+="sdcard" SUBSYSTEM=="block", ENV{ID_FS_LABEL}=="EOS_DIGITAL", ACTION=="add", RUN+="/usr/local/sbin/pictures-import.sh"
Le nom du fichier a une grande importance car c’est lui qui définit l’ordre d’exécution des règles udev
, le fichier commence donc par la lettre z
afin d’être exécuter en dernier. De plus, il est définit par l’extension .rules
car seul les fichiers ayant cette extension sont exécutés par udev
.
Le fichier de règle précédent, créer un lien /dev/sdcard
(règle 1) vers la carte mémoire et demande d’exécuter le script /usr/local/sbin/pictures-import.sh
(règle 2), ci-dessous :
#!/bin/sh source = "/tmp/sdcard" target = "/home/data/Images" if [ "${ACTION}" = "add" ]; then rm -rf $source mkdir $source mount -t vfat /dev/sdcard $source mkdir -p $target cp $source/* $target/ umount $source
Ce script est un exemple vous pouvez le remplacer par un de votre composition, un autre article présentera mon mien qui classe mes photos tout seul.
Si vous voulez voir les règles udev
exécutées sur votre carte, utilisez la commande suivantes :
# udevadm test -a -p /sys/block/sdd/sdd1