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:

WertBeschreibung
allalles neu indizieren
mediaAlle Medien der Typen „Foto“, „Musik“ und „Video“ neu indizieren
photoAlle Medien vom Typ „Foto“ neu indizieren
musicAlle Medien vom Typ „Musik“ neu indizieren
videoAlle Medien vom Typ „Video“ neu indizieren
thumbVideo-Vorschauen neu generieren
dirpathBestimmten 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

...ist staatlich geprüfter Techniker für Elektrotechnik, Schwerpunkt Prozessautomatisierung und Energietechnik. Die Themen Automatisierung und Programmierung haben es ihm besonders angetan.
Außerdem ist er für jede technische Spielerei zu haben 😉
Sebastian

5 Comments

  1. Avatar
    Antworten Matthias

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

    Matthias

    • Sebastian
      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. Avatar
    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?

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.