Synology DiskStation: Medien-Indizierung (synoindex) per Script/Kommandozeile

Die Synology-eigenen Mediendienste (Audio Station, Video Station, usw.) zeigen nur Medien an, die zuvor von der Indizierung gefunden wurden. Normalerweise ist das auch kein Problem, da das Suchen und Indizieren von ganz allein passiert, wenn man Dateien auf den NAS kopiert. Allerdings springt die Indizierung nicht an, wenn Daten „intern“ erzeugt und verarbeitet werden – so zum Beispiel, wenn man per NZBget etwas downloaded und automatisch in die entsprechenden Ordner einsortieren lässt, oder wenn man Musikdateien direkt auf dem NAS umwandeln lässt, wie in dem Beitrag wma2mp3 erläutert. Und da nicht automatisch indiziert wird, werden neue Dateien solange nicht angezeigt, bis man die Indizierung in irgend einer Form antriggert. Das geht auch per Kommandozeile/Script.

Voraussetzung ist: die zu indizierenden Ordner wurden zuvor festgelegt. Dies geschieht am einfachsten im DSM, je nach Version, unter

  • „Systemsteuerung“ -> „Medienbibliothek“ -> „Indizierter Ordner“ oder
  • „Systemsteuerung“ -> „Medienindizierung“ -> „Indizierter Ordner“

und könnte vielleicht so aussehen:

Synology DiskStation: Medienindizierung im DSM

Synology DiskStation: Medienindizierung im DSM

Der Befehl für die Indizierung lautet synoindex und bietet einige Funktionen. Die wichtigste ist wohl -R (reindex). Die komplette Syntax lautet:

$ synoindex -R [all|media|photo|music|video|thumb|dirpath]

Einer der Werte in eckigen Klammern muss angegeben werden. Diese bedeuten folgendes:

Wert Beschreibung
all alles neu indizieren
media Alle Medien der Typen „Foto“, „Musik“ und „Video“ neu indizieren
photo Alle Medien vom Typ „Foto“ neu indizieren
music Alle Medien vom Typ „Musik“ neu indizieren
video Alle Medien vom Typ „Video“ neu indizieren
thumb Video-Vorschauen neu generieren
dirpath Bestimmten Dateipfad neu indizieren (z.B. einen der oben genannten, Benutzer-Home-Verzeichnisse, usw.)

Um jetzt beispielsweise alle Videos neu zu indizieren müsste folgender Befehl abgesetzt werden:

$ synoindex -R video

Konkret würde das alle Verzeichnisse betreffen, die in der Systemsteuerung das Häkchen bei „Video“ gesetzt haben (siehe Screenshot oben).

Um das Ganze automatisch ablaufen zu lassen, muss man diese Befehlszeile nur noch in ein Script packen und zum Beispiel als Post-Processing-Script bei NZBget hinterlegen.

Ein stark vereinfachtes Python-Script könnte so aussehen …

#!/usr/bin/env python
#coding: utf8 
import subprocess

subprocess.call(["synoindex", "-R", "video"])

… und die Shell-Variante vielleicht so:

#!/bin/sh

synoindex -R video

Mit $ synoindex -a [file] lassen sich auch gezielt einzelne Dateien indizieren. Für weitere Optionen einfach auf der Kommandozeile den Befehl $ synoindex (ohne weitere Parameter) absetzen, dann werden alle verfügbaren Optionen angezeigt.

Synology DiskStation: synoindex

Synology DiskStation: synoindex

Interessante, und deutlich komplexere Varianten, sind hier zu finden:

Sebastian

8 Comments

  1. Antworten Matthias

    Hallo Sebstian,
    wie kann ich den synoindex aduerhaft stoppen ich benötige die Performance für andere Sachen ?

    Matthias

    • Antworten Sebastian

      Mir ist für dieses Vorhaben kein idealer Weg bekannt, eine Lösung hätte ich dennoch:
      Per Autostart-Script (oder zur Not per Cron) führst Du einfach folgenden Befehl aus:
      synoservicectl --stop synoindexd

  2. Antworten Rene

    Hallo,
    ich habe Änderungen in meiner Datei/Verzeichnisstruktur (innerhalb photo), muss ich die alten Elemente mit -D -d manuell entfernen oder macht ein synoindex -R das auch?

  3. Antworten w8rn8r

    Kann man in der Datei /etc/init/synoindexd.conf festlegen, wann / wie häufig die Medienindizierung angestoßen wird?
    … oder dafür sorgen, dass das NICHT automatisch passiert?

  4. Antworten M

    Hallo Sebastian,
    Muss ich das auch anstoßen, wenn ich bereits indizierte Bilder vom Uploadverzeichnis mittels Skript woanders hin verschiebe? Die scheinen in der Datenbank als Objekt erhalten zu bleiben, aber im Interface fehlt die Bilddatei (bleibt als grauer Platzhalter erhalten). Im Idealfall möchte ich dabei „nur“ die Datei wiederfinden, während bereits hinzugefügte Tags und Personen erhalten bleiben… hast Du damit Erfahrung?
    Viele Grüße
    M

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht.

WordPress Cookie Hinweis von Real Cookie Banner