MrWaloo Posté(e) le 19 février 2012 Partager Posté(e) le 19 février 2012 (modifié) Salut, J'ai fais un script en python pour l'indexation partielle (pas une ré-indexation complète) et le nettoyage des entrées obsolètes. Il permet d'ajouter les entrées manquantes, de supprimer les entrées obsolètes et de supprimer les fichiers indexés 2 fois (et plus) par erreur. Il fonctionne nickel chez moi, je n'ai plus besoin de lancer une re-indexation complète qui durait entre 2 et 3 semaines (!!!!) sur mon ancien DS110j. Sur le DS212+ que je possède maintenant, pas de problèmes non plus. Pré-requis - il faut ipkg - py26-psycopg2 : module pour se connecter à une base PostgreSQL (à installer avec ipkg) : ipkg install py26-psycopg2 Ce qui va installer toutes les dépendances automatiquement. Installation Le script est téléchargeable ici : Il faut qu'il soit présent sur le NAS. Utilisation On peut le lancer en console (telnet ou ssh) sur le Syno : python2.6 index_updater.py --help[/code] pour voir les options. Il est possible de le rendre exécutable et de la lancer sans python2.6... Pour une utilisation "normale", je propose d'utiliser ces options : [CODE]python2.6 index_updater.py -A[/code] Pour savoir exactement ce qui est fait, il est possible de rajouter -v 2, ce qui créera un fichier index_updater.log avec le détail des actions effectuées. Afin de tester d'abord ce qui sera fait il est possible de mettre l'option -t, dans ce cas, RIEN n'est modifié et en combinaison avec -v 2, tout ce qui serait fait est détaillé. [u][b]Commentaire[/b][/u] Comme dit, chez moi il fonctionne... Mais en cas d'erreur, merci de m'en tenir informé... Prochaines améliorations : - Permettre d'exécuter la mise à jour d'un répertoire (ou plusieurs) seulement A+ Michel Cliquer ici pour voir le tutoriel Modifié le 16 mars 2012 par MrWaloo Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sirkazey Posté(e) le 23 février 2012 Partager Posté(e) le 23 février 2012 c'est génial... je comptai m'en faire un de petit script! je testerais ton package sur un DS211j ;-) merci beaucoup en tout cas !! Lien vers le commentaire Partager sur d’autres sites More sharing options...
Amsonia Posté(e) le 11 mars 2012 Partager Posté(e) le 11 mars 2012 Oh mon dieu, c'est le script parfait ! À tel point que je ne cesse de me demander pourquoi Synology ne l'a pas implémenté à la base… Merci mille fois et plus encore Questions : 1/ Où doit-on mettre le fichier 'index_updater.py' ? 2/ Est-il possible de pouvoir lancer le script (avec les arguments qui vont bien) directement depuis la GUI du DSM ? 3/ Testé sur DSM4 v2198 ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
bud77 Posté(e) le 11 mars 2012 Partager Posté(e) le 11 mars 2012 1) Tu me met ou tu veux le tout c'est de se souvenir ou ^^ 2) Pas sur du tout depuis la GUI, peut être avec le SPK CRON (qui permet de gerer le cron du syno via la GUI) faut voir si tas un bouton execution immédiate ou truc du genre 3) Pas encore je pense, vu que le firmware est tout neuf Lien vers le commentaire Partager sur d’autres sites More sharing options...
Amsonia Posté(e) le 11 mars 2012 Partager Posté(e) le 11 mars 2012 Merci bud77 pour ton aide et ces remarques Je n'utilise la plupart du temps que l'audiostation sur mon NAS. Le serveur DAAP et DLNA sont donc désactivés. Au lancement, le script vérifie cependant que le serveur multimédia est allumé, dommage. Ce qui est plus gênant par contre, c'est que même après avoir lancé le serveur multimédia (et même le "serveur itunes"), le script me renvoie toujours la même "erreur" ! (et en effet le fichier dans /etc/synoinfo.conf le mediaserver est toujours indiqué comme étant désactivé alors que je le vois bien lancé dans la GUI) Bref je ne sais pas trop où est le souci mais ce qui serait formidable c'est que le script ne demande pas que le serveur soit lancé Il y a tout de même 4 applications qui dépendent de ce même index, tout le monde n'a forcément utilité des 4 en même temps. Lien vers le commentaire Partager sur d’autres sites More sharing options...
MrWaloo Posté(e) le 12 mars 2012 Auteur Partager Posté(e) le 12 mars 2012 (modifié) Salut, Quelle "erreur" est renvoyée par le script ? Je suis encore en DSM3.2 (edit: enfin quelqu'un d'autre teste ce script...) edit2: tu peux stp me donner le retour de grep runmediaservice /etc/synoinfo.conf Modifié le 12 mars 2012 par MrWaloo Lien vers le commentaire Partager sur d’autres sites More sharing options...
Amsonia Posté(e) le 13 mars 2012 Partager Posté(e) le 13 mars 2012 Salut, Quelle "erreur" est renvoyée par le script ? edit2: tu peux stp me donner le retour de grep runmediaservice /etc/synoinfo.conf runmediaservice="no"[/code] Actuellement, c'est normal parce que le serveur DLNA est arrêté. Là où c'est beaucoup moins normal, c'est que la valeur ne change pas quand le serveur est activé ! Je ne sais pas si c'est possible mais ce qui serait bien ce serait de vérifier si le serveur DLNA [i]OU[/i] le serveur DAAP [i]OU[/i] AudioStation [i]OU[/i] PhotoStation est activé. Lien vers le commentaire Partager sur d’autres sites More sharing options...
MrWaloo Posté(e) le 13 mars 2012 Auteur Partager Posté(e) le 13 mars 2012 Comme toutes ces applications sont maintenant modularisées, il va faloir que j'installe DSM4.0 et que je cherche comment détecter le fait qu'elles soient installées... Le script actuel est compatible DSM3.2. J'ai encore un peu de taff... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Amsonia Posté(e) le 13 mars 2012 Partager Posté(e) le 13 mars 2012 (modifié) Comme toutes ces applications sont maintenant modularisées, il va faloir que j'installe DSM4.0 et que je cherche comment détecter le fait qu'elles soient installées... Le script actuel est compatible DSM3.2. J'ai encore un peu de taff... Pas "installées" mais lancée et une seule des quatre. Enfin, ceci est bien évidemment sujet à la justesse de ma compréhension de l'OS du NAS…ce qui est loin d'être ma spécialité ^^ Bref, si tu peux le faire, fais-le ! Moi qui ajoute bcp de fichiers audio par voie torrent donc non pris en charge par l'auto re-index des Syno* ton script est du pain béni. *le Syno ne regarde que ce qui a été rajouté dans /MUSIC /VIDEO /PHOTO par FTP(S), AFP, FileStation, etc… bref uniquement si le fichier a été transféré par le biais d'outils ou de protocoles intégrés à l'OS de base du NAS, right? Modifié le 16 mars 2012 par Amsonia Lien vers le commentaire Partager sur d’autres sites More sharing options...
MrWaloo Posté(e) le 15 mars 2012 Auteur Partager Posté(e) le 15 mars 2012 (modifié) Mise à jour faite Merci de tester * Oui, mais ce n'est pas actualisé pour une utilisation via NFS Modifié le 15 mars 2012 par MrWaloo Lien vers le commentaire Partager sur d’autres sites More sharing options...
Amsonia Posté(e) le 16 mars 2012 Partager Posté(e) le 16 mars 2012 (modifié) Je viens de faire un test avec ta nouvelle version (n'oublies pas de mettre-à-jour le changelog!). Seuls AudioStation et PhotoStation sont activées. Voilà ce que ça me sort : Asimov> python2.6 index_updater.py -t v 2 -a -c -o -i Traceback (most recent call last): File "index_updater.py", line 577, in <module> main() File "index_updater.py", line 571, in main ret = IndexUpdater(add=add, clean_db=clean_db, clean_orphans=clean_orphans, del_dbl_indexed=del_dbl_indexed, test=test, verbose=verbose) File "index_updater.py", line 102, in __init__ self.main() File "index_updater.py", line 480, in main self._readConfiguration() File "index_updater.py", line 305, in _readConfiguration index_folder = eval(open(self.INDEX_FOLDER_CONF).read(), {"__builtins__": None}, {"true": True, "false": False}) File "<string>", line 1, in <module> NameError: name 'null' is not defined Je ne sais pas trop ce que ça veut dire :s Il y une erreur quelque part ou ça dit juste que le script n'a rien eu à ajouter/modifier/supprimer de la BDD, bref que cette dernière est à jour ? edit: je viens de refaire le test en sachant qu'il y avait du contenu non indexé. J'ai d'abord lancé le script (sans -t) sans activer le serveur multimédia et ça n'a rien indexé. (rien de visible dans AudioStation) J'ai ensuite refait la même manip avec le serveur multimédia activé et pareil, rien de nouveau dans l'index. Mes fichiers nouveaux étaient deux albums dans un sous-sous-dossier de /MUSIC si ça peut aider. Modifié le 16 mars 2012 par Amsonia Lien vers le commentaire Partager sur d’autres sites More sharing options...
MrWaloo Posté(e) le 16 mars 2012 Auteur Partager Posté(e) le 16 mars 2012 (modifié) Tu peux poster le contenu du fichier /usr/syno/etc/index_folder.conf STP ? edit: si le script renvoie cette erreur, c'est que l'exécution est stoppée, l'indexation n'est pas faite Modifié le 16 mars 2012 par MrWaloo Lien vers le commentaire Partager sur d’autres sites More sharing options...
bud77 Posté(e) le 16 mars 2012 Partager Posté(e) le 16 mars 2012 Amsonia > Vérifie dans /var/log/messages si il te dit pas que la base est en cours de shutdown, si oui, reboot et relance le script Lien vers le commentaire Partager sur d’autres sites More sharing options...
MrWaloo Posté(e) le 16 mars 2012 Auteur Partager Posté(e) le 16 mars 2012 D'après l'erreur, le fichier /usr/syno/etc/index_folder.conf contient quelque chose que je n'ai pas prévu (il n'est pas vide... ???) et c'est mal interprété.de base Ce fichier contient la configuration de l'indexation en dehors des partages *de base* (music, video, photo), si par exemple public doit être indexé... Bref ça contient la config accessible dans Service d'indexage média / Dossier indexé (qui devrait d'ailleurs être au pluriel...) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Amsonia Posté(e) le 16 mars 2012 Partager Posté(e) le 16 mars 2012 Alors, le contenu de /usr/syno/etc/index_folder.conf est null Pour /var/log/messages, je ne vois pas de messages concernant le processus synoindexd qui correspondent à la date/heure de mon test :s HS : par contre j'ai plein de postfix/smtpd[10207]: warning: database /usr/syno/mailstation/etc/aliases.db is older than source file /usr/syno/mailstation/etc/aliases[/code] Lien vers le commentaire Partager sur d’autres sites More sharing options...
MrWaloo Posté(e) le 16 mars 2012 Auteur Partager Posté(e) le 16 mars 2012 Le script est mis à jour pour la gestion du 'null'. Pour les log, c'est autre chose... Les seuls log qui sont valables sont ceux générés par le script quand on utilise l'option -v 2 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Amsonia Posté(e) le 16 mars 2012 Partager Posté(e) le 16 mars 2012 j'essaye de comprendre ton log. Il y a des choses bizarres, du moins que je ne comprends pas. 2012-03-16 14:00:14,577 - INFO - *-* Working on share [music] whose path is '' 2012-03-16 14:00:14,578 - INFO - [music] is to be indexed 2012-03-16 14:00:14,579 - INFO - *-* Working on share [PHOTO] whose path is '/volume1/PHOTO' 2012-03-16 14:00:14,580 - INFO - [PHOTO] is NOT to be indexed 2012-03-16 14:00:14,581 - DEBUG - Share path 'PHOTO' should not be indexed, it is removed from DBs 2012-03-16 14:00:14,582 - INFO - Command to run: 'synoindex -D "PHOTO"' 2012-03-16 14:00:14,583 - INFO - *-* Working on share [MUSIC] whose path is '/volume1/MUSIC' 2012-03-16 14:00:14,584 - INFO - [MUSIC] is NOT to be indexed 2012-03-16 14:00:14,585 - DEBUG - Share path 'MUSIC' should not be indexed, it is removed from DBs 2012-03-16 14:00:14,586 - INFO - Command to run: 'synoindex -D "MUSIC"' 2012-03-16 14:00:14,587 - INFO - *-* Working on share [video] whose path is '' 2012-03-16 14:00:14,588 - INFO - [video] is to be indexed 2012-03-16 14:00:14,589 - INFO - *-* Working on share [photo] whose path is '' 2012-03-16 14:00:14,590 - INFO - [photo] is to be indexed 2012-03-16 14:00:14,591 - INFO - *-* Working on share [VIDEO] whose path is '/volume1/VIDEO' 2012-03-16 14:00:14,593 - INFO - [VIDEO] is NOT to be indexed 2012-03-16 14:00:14,594 - DEBUG - Share path 'VIDEO' should not be indexed, it is removed from DBs 2012-03-16 14:00:14,594 - INFO - Command to run: 'synoindex -D "VIDEO"' Les dossiers partagés (ceux par défaut) qui sont paramétrés (via la GUI) pour NE PAS être indexés : - /volume1/homes - /volume1/PHOTO Les dossiers (de base) qui sont paramétrés (via la GUI) pour POUR être indexés : - /volume1/MUSIC - /volume1/VIDEOS Et, si je lis correctement ton log, ça dit que /volume1/MUSIC ne doit pas être indexé mais que 'music' (en minuscules dont) qui est dit être à la racine path is ''[/code] doit être indexé. Quelle est la différence entre /volume1/MUSIC et le music en minuscules ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
MrWaloo Posté(e) le 16 mars 2012 Auteur Partager Posté(e) le 16 mars 2012 (modifié) Comment tu as fait pour avoir des noms de partage en MAJUSCULES ? Les partages multimédia par défaut sont en minuscules... Pourquoi tu as VIDEOS avec un S ? Je croyais que les 3 partages music, video et photo étaient créés automatiquement dès que le serveur Multimédia est activé... C'est un postulat de départ qui s’effondre... edit: Bon je vais sans doute devoir demander de la configuration à l'utilisateur... J'y réfléchis ce soir Modifié le 16 mars 2012 par MrWaloo Lien vers le commentaire Partager sur d’autres sites More sharing options...
Kramlech Posté(e) le 16 mars 2012 Partager Posté(e) le 16 mars 2012 Je croyais que les 3 partages music, video et photo étaient créés automatiquement dès que le serveur Multimédia est activé... C'est tout à vrai ... Par contre si le répertoire existe déjà avant que l'on active le serveur Multimédia, avec une simple variation de majuscule, ça marche ... C'est comme cela que mon serveur Multimédia utilise les répertoires Music, Video et Photo .... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Amsonia Posté(e) le 16 mars 2012 Partager Posté(e) le 16 mars 2012 (modifié) Il est possible que j'ai créé moi-même ces dossiers partagés et que, par chance, ils correspondent avec ceux créés par défaut par le NAS. Je dis que c'est possible parce que je ne me souviens pas avoir activé le serveur multimédia dès mes premières heures d'utilisation du NAS. Ceci étant dit, mes 3 dossiers sont bien considérés comme ceux par défaut par le NAS, en témoigne cette capture d'écran. Et quand je parcous le NAS via DLNA (depuis ma TV par ex) ça reconnaît bien que MUSIC contient de la musique, que VIDEO contient les films, etc. Et le DLNA ne me montre pas mes autres dossiers partagés (DL, DIVERS, etc.) Pour ta deuxième question, j'ai fait une erreur tout à l'heure (dans le train en 3G…) en tapant VIDEOS avec un 'S'. C'est bien VIDEO, en majuscules mais au singulier. Par ailleurs, dans Panneau de config > Dossier partagé, seuls MUSIC et VIDEO sont paramétrés pour être indexés. Mais il s'agit là, je crois, d'une autre indexation que celle faite pour le serveur média/audiostation/photostation/itunes server. Il s'agit là, je crois, de l'indexation nécessaire à la recherche de fichiers/dossier via le FileStation. En espérant t'avoir éclairé sur mon cas… N'hésite pas à me demander des précisions de conf. Je ne pensais pas avoir un système si personnalisé ! En fait je ne le pensais pas personnalisé du tout ^^ edit : voici le contenu de mon smb.conf [global] workgroup=WORKGROUP local master=no realm=* printing=cups winbind enum groups=yes idmap gid=96000-196000 passdb backend=smbpasswd security=user idmap uid=10000-110000 printcap name=cups load printers=yes winbind enum users=yes [home] valid users=%U comment=home writable=yes directory mode=0777 path=/var/services/homes/%U create mode=0777 browseable=no [DIVERS] invalid users=nobody,@famille-amis,@leechers,@mail,contact,guest,lejardinier,up10ad,web,nobody valid users=nobody,@administrators,nobody comment="" path=/volume1/DIVERS guest ok=yes browseable=yes fileindex=no mediaindex=no edit synoacl=no ftp disable list=no ftp disable modify=no ftp disable download=no read list=nobody,nobody write list=nobody,@administrators,nobody writeable=no [DL] invalid users=nobody,@leechers,@mail,contact,guest,leechauto,lejardinier,up10ad,web,nobody valid users=nobody,@famille-amis,@users,@administrators,nobody comment="" path=/volume1/DL guest ok=yes browseable=yes fileindex=no mediaindex=no edit synoacl=no ftp disable list=no ftp disable modify=no ftp disable download=no read list=nobody,nobody write list=nobody,@administrators,@famille-amis,@users,nobody writeable=yes [homes] invalid users=nobody,@leechers,@mail,contact,lejardinier,up10ad,web,nobody valid users=nobody,@administrators,nobody comment="user home" path=/volume1/homes guest ok=yes browseable=yes fileindex=no mediaindex=yes edit synoacl=no ftp disable list=no ftp disable modify=no ftp disable download=no read list=nobody,nobody write list=nobody,@administrators,nobody writeable=no [MUSIC] invalid users=nobody,@mail,contact,leechauto,lejardinier,up10ad,web,nobody valid users=nobody,@leechers,guest,@famille-amis,@users,@administrators,nobody comment="" path=/volume1/MUSIC guest ok=yes browseable=yes fileindex=yes mediaindex=yes edit synoacl=no ftp disable list=no ftp disable modify=no ftp disable download=no read list=nobody,@famille-amis,@leechers,@users,guest,nobody write list=nobody,@administrators,nobody writeable=no [PHOTO] invalid users=nobody,@leechers,@mail,contact,guest,lejardinier,up10ad,web,nobody valid users=nobody,@famille-amis,@administrators,nobody comment="" path=/volume1/PHOTO guest ok=yes browseable=yes fileindex=yes mediaindex=yes edit synoacl=no ftp disable list=no ftp disable modify=no ftp disable download=no read list=nobody,@famille-amis,nobody write list=nobody,@administrators,nobody writeable=no [SOFTWARE] invalid users=nobody,@mail,contact,leechauto,lejardinier,up10ad,web,nobody valid users=nobody,@leechers,guest,@famille-amis,@users,@administrators,nobody comment="" path=/volume1/SOFTWARE guest ok=yes browseable=yes fileindex=yes mediaindex=no edit synoacl=no ftp disable list=no ftp disable modify=no ftp disable download=no read list=nobody,@famille-amis,@leechers,@users,guest,nobody write list=nobody,@administrators,nobody writeable=no [VIDEO] invalid users=nobody,@mail,contact,leechauto,lejardinier,up10ad,web,nobody valid users=nobody,@leechers,guest,@famille-amis,@users,@administrators,nobody comment="" path=/volume1/VIDEO guest ok=yes browseable=yes fileindex=yes mediaindex=yes edit synoacl=no ftp disable list=no ftp disable modify=no ftp disable download=no read list=nobody,@famille-amis,@leechers,@users,guest,nobody write list=nobody,@administrators,nobody writeable=no [web] invalid users=nobody,@famille-amis,@leechers,@mail,contact,lejardinier,up10ad,web,nobody valid users=nobody,@administrators,nobody comment="System default shared folder" path=/volume1/web guest ok=yes browseable=yes fileindex=no mediaindex=no edit synoacl=no ftp disable list=no ftp disable modify=no ftp disable download=no read list=nobody,nobody write list=nobody,@administrators,nobody writeable=yes Modifié le 16 mars 2012 par Amsonia Lien vers le commentaire Partager sur d’autres sites More sharing options...
MrWaloo Posté(e) le 16 mars 2012 Auteur Partager Posté(e) le 16 mars 2012 C'est tout à vrai ... Par contre si le répertoire existe déjà avant que l'on active le serveur Multimédia, avec une simple variation de majuscule, ça marche ... C'est comme cela que mon serveur Multimédia utilise les répertoires Music, Video et Photo .... Merci pour la précision, ça veut dire qu'il faut que je vérifie ça dans le script. Lien vers le commentaire Partager sur d’autres sites More sharing options...
MrWaloo Posté(e) le 16 mars 2012 Auteur Partager Posté(e) le 16 mars 2012 J'ai refait un post dans tutorials, là où se trouve ce post, bah c'est pas top, je ferme celui-ci et j'attends validation de l'autre... Lien vers le commentaire Partager sur d’autres sites More sharing options...
sangorys Posté(e) le 6 octobre 2012 Partager Posté(e) le 6 octobre 2012 Question bete : quelle est la différence entre ce script et la commande /usr/syno/bin/synoindex -R all ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés