Syncthing Restart

airasim

Benutzer
Mitglied seit
24. Feb 2018
Beiträge
12
Punkte für Reaktionen
1
Punkte
3
Hallo zusammen,

auf meiner DS 218+ läuft zum Datenabgleich mit den Clients Syncthing.

Nun möchte ich auch einen USB-Stick der an die DS angesteckt wird integrieren. Hierzu muss ich jedoch Syncthing neu starten, sobald der Stick angestöpselt wird, da Syncthing die Überwachung des Ordners stoppt, wenn dieser nicht erreichbar ist. Mit UDEV kann ich ein Skript starten, das dies übernimmt. Das läuft auch soweit.

Jedoch habe ich das Problem, dass ich nach dem Beenden von Syncthing (killall syncthing) es nicht mehr gestartet bekomme und auch alle Hinweise zum Start von Syncthing (systemd, systemctl) auf die DS nicht zutreffen.

Kurzum: wie kann ich Syncthing auf der Diskstation manuell mit einem Skript (neu-)starten?

Danke, Grüße
airasim
 

airasim

Benutzer
Mitglied seit
24. Feb 2018
Beiträge
12
Punkte für Reaktionen
1
Punkte
3
Wenn nur alles so einfach wäre 8=)

Bash:
sudo synopkg stop syncthing
sudo synopkg start syncthing

Vielen Dank für die schnelle Hilfe!
 

airasim

Benutzer
Mitglied seit
24. Feb 2018
Beiträge
12
Punkte für Reaktionen
1
Punkte
3
Für alle, die es interessiert:

Die Abfrage lsusb liefert die IDs für den USB-Stick:
|__1-3 0781:5408:0200 00 2.00 480MBit/s 200mA 1IF (SanDisk U3 Titanium 0831411DC34383B2)

Im Ordner /lib/udev/rules.d/ habe ich eine Datei 51-usbstick.rules mit folgendem Inhalt angelegt:

Bash:
ACTION=="add",ATTRS{idVendor}=="0781",ATTRS{idProduct}=="5408",ENV{DEVTYPE}=="usb_device",RUN+="/usr/local/bin/syncthing-restart.sh"

Hierdurch wird beim Einstecken dieses einen bestimmten USB-Sticks in die Diskstation das folgende Skript /usr/local/bin/syncthing-restart.sh ausgeführt:

Bash:
#!/bin/sh
echo "$(date): USB-Stick eingesteckt" >> /tmp/usbstick.log
echo "Syncthing wird neu gestartet:" >> /tmp/usbstick.log
/usr/syno/bin/synopkg restart syncthing >> /tmp/usbstick.log
echo "$(date): Vorgang abgeschlossen" >> /tmp/usbstick.log

Durch den Neustart von syncthing wird die Synchronisation des Ordners auf dem USB-Stick wieder gestartet, nachdem sie nach dem Abziehen des Sticks von syncthing automatisch gestoppt wurde. Hierdurch ist es mir nun möglich von allen Geräten im Netzwerk Dateien in einem Sync-Ordner zu sammeln, die dann beim Einstecken des USB-Sticks in die Diskstation auf diesen kopiert werden.

In Corona-Zeiten perfekt für den gebündelten Marsch zum Copy-Shop :geek:
 
  • Like
Reaktionen: geimist

airasim

Benutzer
Mitglied seit
24. Feb 2018
Beiträge
12
Punkte für Reaktionen
1
Punkte
3
So, meine Lösung lief jetzt einige Wochen problemlos und hat mir die Gänge zum Copyshop tatsächlich etwas erleichtert.

Nun musste ich jedoch feststellen, dass mittlerweile beim Einstecken des USB-Sticks syncthing nicht mehr neu gestartet wird. Der Grund hierfür war, dass meine UDEV-Regel 51-usbstick.rules aus dem Ordner /lib/udev/rules.d/ verschwunden war.

Ein Blick in die Systemeinstellungen von DSM hat mir verraten, dass im März eine neue DSM Version veröffentlicht wurde, die auch installiert wurde. Nun meine Frage hierzu, da ich meine, sowas an anderer Stelle schon mal erlebt zu haben:

Kann es sein, dass bei einem DSM-Update bestimmte Systemordner "bereinigt" werden? Gibt es eine Übersicht welche Ordner hiervon betroffen sind? Kann man das irgendwo abschalten?