Voilà quelques tips pour savoir où on en est ...
(nécessite un accès SSH sur le Synology)
- Les fichiers d'instruction de l'indexation et de génération des miniatures
conv_progress_photo & conv_progress_video
informe sur l'état d'avancement des conversions sans donner de détail :
On constate ici que pour chaque image, 4 miniatures (thumbs) sont crées, par exemple pour la photo DSC01340.JPG, le répertoire @eaDir/DSC01340.JPG contient :
syno_indexing_queue & syno_indexing_queue.tmp
thumb_create.queue & thumb_create.queue.tmp
Pour valider les dossiers déjà indexés, il est possible de requêter sur la base de donnée mediaserver du Synology comme expliqué ci dessous.
Accéder à la base de données Postgres du Syno
Ici les répertoires traités par l'indexation, avec un tips de récupération du path sans le filename en postgres (vu qu'il n'existe pas de last_indexof)
Cela permet également de comprendre le contenu des fichiers syno_indexing_queue* car le préfixe des lignes correspond aux options de cette commande.
Exemple de commandes générées suite à l'upload automatique de DS photo (prefixe "a" pour ajout de fichier à la mediatheque) :
# cat /var/spool/syno_indexing_queue
NB : Pour lister toutes les bases de données disponibles, une fois connecté à psql, il faut utiliser la commande \l, \c pour changer de base de données et \dt pour lister les tables d'une DB.
Une réindexation dans PhotoStation se traduit dans le fichier syno_indexing_queue par la commande suivante :
# cat /var/spool/syno_indexing_queue.tmp
find ./ -type f -name SYNOPHOTO:THUMB*.jpg -exec bash -c 'mv --verbose "$0" "${0/:/_}"' {} \;
total=3621Ça correspond à ce qui est affiché dans le DSM, en haut à droite, derrière l'icone de progression.
total_thumb=14484
completed=3616
completed_thumb=14464
On constate ici que pour chaque image, 4 miniatures (thumbs) sont crées, par exemple pour la photo DSC01340.JPG, le répertoire @eaDir/DSC01340.JPG contient :
SYNOPHOTO_THUMB_B.jpg
SYNOPHOTO_THUMB_M.jpg
SYNOPHOTO_THUMB_S.jpg
SYNOPHOTO_THUMB_XL.jpg
syno_indexing_queue & syno_indexing_queue.tmp
Liste les instructions d'indexation dans la pile des actions à venir (R : reindex, A : add, D ; delete, ...), rempli automatiquement lors d'actions sur les fichiers ou via la commande synoindex (cf point associé).
thumb_create.queue & thumb_create.queue.tmp
Liste les dossiers à parcourir pour générer les vignettes.
Si le process d'indexation vous semble vraiment scotché, que le fichier syno_indexing_queue contient beaucoup de lignes et que malgré les reboots ça n'avance pas, il est possible de réinitialiser le tout en supprimant les fichiers syno_indexing_queue* et en relançant le service d'indexation ou en rebootant le NAS (cf synoservice pt suiv).
Au redémarrage, l'icone de progression a du disparètre et il est désormais possible de relancer un scan via le DSM : Panneau de configuration > Services d'indexation > Ré-indexation.
Un fichier syno_indexing_queue.tmp sera à nouveau créé contenant l'unique instruction ReIndex All :
Un fichier syno_indexing_queue.tmp sera à nouveau créé contenant l'unique instruction ReIndex All :
#offset:128;
R:all
- Tracker et contrôler le process de génération des miniatures
This is a subdirectory containing one entry for each file which the process has open, named by its file descriptor, and which is a symbolic link to the actual file. Thus, 0 is standard input, 1 standard output, 2 standard error, and so on.
Pour récupérer le pid du process de génération des miniatures :
# pidof synomkthumbdPar exemple, un ls -l /proc/10536/fd donnera le répertoire actuellement en cours de traitement par le générateur de miniature.
10536
Pour liste et manipuler les services Synology (relancer, stopper, etc...), il faut utiliser la commande synoservice :
synoservice --list : liste les services disponibles
synoservice --restart synomkthumbd : relance le service de génération des miniatures.
- Lister les répertoires de photos indexées en base de données
Pour valider les dossiers déjà indexés, il est possible de requêter sur la base de donnée mediaserver du Synology comme expliqué ci dessous.
Accéder à la base de données Postgres du Syno
psql mediaserver postgresExécuter une requête sur la table photo.
Ici les répertoires traités par l'indexation, avec un tips de récupération du path sans le filename en postgres (vu qu'il n'existe pas de last_indexof)
select distinct left(path, length(path) - length(regexp_replace(path, E'.*/',''))) from photo;
- La commande synoindex
Il est possible cependant que cela ne soit pas le cas automatiquement via le shell par exemple. Dans ce cas, il est possible de ne pas tout ré-indexer mais de seulement indiquer à l'indexeur que tel fichier/répertoire a été renommé ou a été supprimé, etc...
synoindex
Usage:
synoindex [OPTIONS]
Index Options:
-h, --help
this help text
-A dirpath
add a dir
-a filepath
add a file
-D dirpath
delete a dir
-d filepath
delete a file
-N new_dirpath old_dirpath
rename a dir
-n new_filepath old_filepath
rename a file
-R [all|media|photo|music|video|thumb|dirpath]
all: reindex all dirpath that registered in each package
media: reindex dirpath that registered in MediaIndex package
photo: reindex photo dirpath
music: reindex music dirpath
video: reindex video dirpath
thumb: check converted video of each video file
dirpath: reindex this specific dirpath
-R user:{user_name}
reindex personal photo dirpath
-R share:{share_name}
reindex share dirpath
-R [type_music|type_video|type_photo]
reindex dirpath that registered with specific type in MediaIndex
Package Index Options:
-P [MediaIndex|{package_name}] {index_option}
index operation only apply on this package
-p [MediaIndex|{package_name}] {index_option}
index operation apply all packages except for this package
File Index Options:
-f {index_option}
index operation apply on file index
-U photo
update photo images
Exemple de commandes générées suite à l'upload automatique de DS photo (prefixe "a" pour ajout de fichier à la mediatheque) :
# cat /var/spool/syno_indexing_queue
a:/volume1/photo/Mobile/iPhone SE/IMG_0160.JPG
a:/volume1/photo/Mobile/iPhone SE/IMG_0161.JPG
a:/volume1/photo/Mobile/iPhone SE/IMG_0162.JPG
a:/volume1/photo/Mobile/iPhone SE/IMG_0163.PNG
a:/volume1/photo/Mobile/iPhone SE/IMG_0164.JPG
a:/volume1/photo/Mobile/iPhone SE/IMG_0164.MOV
a:/volume1/photo/Mobile/iPhone SE/IMG_0165.JPG
a:/volume1/photo/Mobile/iPhone SE/IMG_0165.MOV
a:/volume1/photo/Mobile/iPhone SE/IMG_0166.JPG
- L'indexation dans PhotoStation
Photostation dispose d'une indexation distinct de l'indexation générale du DSM, elle est stockée dans une autre base de données : photo.
NB : Pour lister toutes les bases de données disponibles, une fois connecté à psql, il faut utiliser la commande \l, \c pour changer de base de données et \dt pour lister les tables d'une DB.
mediaserver=# \c photoLa table qui stocke les photos se nomme photo_image.
You are now connected to database "photo" as user "postgres".
Une réindexation dans PhotoStation se traduit dans le fichier syno_indexing_queue par la commande suivante :
# cat /var/spool/syno_indexing_queue.tmp
#offset:128;
PhotoStation:1:R:photo
- Migration des vignettes de PhotoStation v5 à v6
find ./ -type f -name SYNOPHOTO:THUMB*.jpg -exec bash -c 'mv --verbose "$0" "${0/:/_}"' {} \;
Bravo pour cette étude exhaustive, c'est d'ailleurs la seule que j'ai trouvée.
RépondreSupprimerl'icone de progression a du disparètre -> disparaitre
Le nom des vignettes à changer -> a été modifié (à pour introduire un lieu ou un temps, participe passé, avec accord éventuel, pour le verbe derrière avoir)
Vous pouvez supprimer mon commentaire après lecture.
merci pour cette étude. savez vous s'il est possible d'imposer à DSM de faire la création de miniature et l'indexation uniquement sur certains horaires (la nuit par ex.)
RépondreSupprimermerci