Wie deaktiviere ich das automatische Starten eines Paketes beim Hochfahren ?

  • Lange schon haben wir uns gewünscht, diese Mitteilung veröffentlichen zu können. Seit langer Zeit planen wir den Umzug auf neue Server und nun ist es geschafft. Um euch einen Einblick hinter die Kulissen zu geben haben wir einen extra Beitrag geschrieben:

    Das Forum hat eine neue Heimat bei netcup gefunden

    Wir möchten uns ganz herzlich bei netcup bedanken! necup stellt uns die neuen Server. Schaut mal in unsere Beiträge, was sich durch den Umzug alles verbessert hat.

rumknapser

Benutzer
Mitglied seit
02. Mai 2013
Beiträge
328
Punkte für Reaktionen
4
Punkte
24
Guten Abend und noch einen knapp 2 Stunden langen schönen Feiertag :)

habe hier im Forum nur unvollständiges gefunden, deswegen möchte ich nocheinmal nachfragen:

Bei einem Reboot oder Neustart, soll ein Paket (hier Plex) nicht automatisch gestartet werden. Ich möchte das Paket händisch starten (aber natürlich nicht händisch vor jedem Neustart deaktivieren müssen).


Es gibt in der Systemsteuerung Benutzerdefinierte Aufgaben, die z.B. beim Herunterfahren ausgelöst werden können.
Dort trage ich einen Codeschnipsel ein, z.B.
Rich (BBCode):
"/var/packages/Plex Media Server/scripts/start-stop-status" stop
oder
Rich (BBCode):
/var/packages/Plex Media Server/scripts/start-stop-status stop
oder
Rich (BBCode):
/var/packages/Plex\ Media\ Server/scripts/start-stop-status stop

Doch nichts von alledem funktioniert wie gewünscht.
Beim Hochfahren (nach diversen Test-Reboots) wird das Paket automatisch gestartet...

Führe ich die Aufgabe händisch aus, wird das Paket gestoppt. Der Codeschnipsel scheint also korrekt zu sein.

Was vergesse ich, oder wo kann ich noch ansetzen?

Aufgabe.png
Aufgabe bearbeiten.png
Aufgabe bearbeiten Allgemein.png
 

Kurt-oe1kyw

Benutzer
Mitglied seit
10. Mai 2015
Beiträge
6.865
Punkte für Reaktionen
540
Punkte
234
Also ich bin da nicht der Spezialist und ohne das mir jemand diese Codes vorgibt kann ich gar nichts ausser diese genauso 1:1 eintippen, aber auf deinem Bild da steht im Register "Allgemein" neben Ereignis nur "Herunterfahren".
Also du erteilst den Skriptbefehl beim Abschalten, sollte da aber denn nicht korrekterweise neben Ereignis "Hochfahren/Einschalten" stehen?
Denn du willst ja beim Hochfahren Plex stoppen und nicht beim Abschalten der DS.
Zumindest für mich als völlig Ahnungslosen (das ist ernst gemeint) erscheint mir persönlich das plausibler.

Aber nochmal ich kann da wirklich nur raten, mal schauen was die Linux Spezialisten dazu meinen.
 

synfor

Benutzer
Mitglied seit
22. Dez 2017
Beiträge
4.979
Punkte für Reaktionen
535
Punkte
188
Ich halte es für sinnvoller, das Programm gar nicht erst automatisch beim Hochfahren starten zu lassen.
 

rumknapser

Benutzer
Mitglied seit
02. Mai 2013
Beiträge
328
Punkte für Reaktionen
4
Punkte
24
Also du erteilst den Skriptbefehl beim Abschalten, sollte da aber denn nicht korrekterweise neben Ereignis "Hochfahren/Einschalten" stehen?


Spezialist oder nicht, deine Aussage klingt für mich sinnig :) Danke!

Ich hatte mir gerade noch einmal das output.log angeschaut, welches ja bei dieser Art Scripten geschrieben wird und dort steht auch brav "Stopping Plex ..." drin. Beim lesen kam mir der Gedanke, dass ich Plex ja nicht stoppen möchte, sondern deaktivieren...

Dazu noch dein obiger Einwand und ich habe wieder neue Motivation gefunden etwas zu experimentieren.

Melde mich dann...
 

Andy+

Benutzer
Mitglied seit
25. Jan 2016
Beiträge
3.875
Punkte für Reaktionen
115
Punkte
129
Normalerweise reicht der Stop des Paketes. Ansonsten beim Hochfahren mit einer solchen Sequenz "/var/packages/Plex Media Server/scripts/start-stop-status" stop beim Hochfahren stoppen. Ggf. ein sleep 10 && oder höher davorsetzen, da es beim Hochfahren sein könnte, dass das Paket noch gar nicht gestartet war, also

sleep XX && "/var/packages/Plex Media Server/scripts/start-stop-status" stop
 

rumknapser

Benutzer
Mitglied seit
02. Mai 2013
Beiträge
328
Punkte für Reaktionen
4
Punkte
24
sleep XX && "/var/packages/Plex Media Server/scripts/start-stop-status" stop
Dank Dir,
gerade das habe ich vorhin ausprobiert und es funktioniert...halbwegs.

Das Paket wird automatisch beim Hochfahren gestartet und dann von meinem Skript (wie in deinem Vorschlag, nur ohne sleep) wieder gestoppt.

Dies führt dazu, dass schon einige Dateien des Pakets und die Datenbank des Pakets verändert werden und genau das soll nicht passieren.

Die Idee ist also für die Praxis nicht tauglich, wenn man -so wie ich- möchte, dass das Paket gar nicht erst gestartet wird.

Schade, doch ich habe meinen Logik-Denkfehler behoben bekommen. Ein Dank nochmal an Euch :)

Wir warten also alle gespannt auf eine kompetente Antwort von synfor, wie man das Starten eines Paketes beim Hochfahren unterbindet, ohne es vorher manuell zu deaktivieren ;-D

Bis dahin, einen schönen Samstags-Einkauf.
 

Benares

Benutzer
Mitglied seit
27. Sep 2008
Beiträge
6.160
Punkte für Reaktionen
569
Punkte
228
Vielleicht ist es falsch, das start-stop-status-Script eines Paketes direkt aufzurufen. Dadurch wird zwar das Paket gestoppt/gestartet, aber irgendwo muss sich der DSM ja auch merken, was beim Booten gestartet werden soll. In den start-stop-status-Scripten habe ich keine Checks auf sowas gefunden, also muss das anderswo gespeichert sein.
Aber es gibt ja auch noch "synopkg" und "synopkgctl" (s. --help) als Befehle. Vielleicht macht dessen start/stop etwas mehr.
 

rumknapser

Benutzer
Mitglied seit
02. Mai 2013
Beiträge
328
Punkte für Reaktionen
4
Punkte
24
Auch das macht Sinn für mich :) Danke.
Die beiden tools scheinen mir nützlich zu sein, doch -auf die Schnelle- konnte ich keine Option zum deaktivieren eines Paketes finden, das mir passend erschien.
Im Moment kann die Box nicht mehr rebootet werden, so das ich die Tests verschieben werde.

Falls jemand einen Reboot-Simulator kennt, der es mir ermöglicht, das Verhalten eines Reboots zu faken, immer her damit :)

Vielleicht noch einmal zur Logik, die angewand werden muss, soweit ich das überblicke, bis jetzt:

-Beim Hochfahren der DS soll das Paket nicht gestartet werden. Auch nicht kurz um es dann wieder zu stoppen.

-Beim Runterfahren der DS könnte das Paket gestoppt werden, da gestoppte Pakete beim Neustart der DS (nicht 100% sicher hier) auch nicht automatisch wieder gestartet werden. Allerdings möchte ich auch im Falle eines Stromausfalls (= kein sauberes Runterfahren) keinen Paketestart, wenn die DS wieder hochfährt.

-Die geplanten Aufgaben fürs Herauf- und Herunterfahren scheinen zu spät zu greifen, so das ein anderer Zeitpunkt gefunden werden muss.

-Die DS muss sich merken, welches Paket "deaktiviert" ist um es beim Neustart gar nicht erst starten zu wollen.

Ich lasse das mal wirken, bin aber natürlich offen für weitere Ideen!
Vielen Dank an Euch, es wird immer konkreter :)
 
Zuletzt bearbeitet von einem Moderator:

Andy+

Benutzer
Mitglied seit
25. Jan 2016
Beiträge
3.875
Punkte für Reaktionen
115
Punkte
129
Es gibt doch ein Verzeichnis ein Autostartverzeichnis, in dem alle Services gestartet werden, irgendwo im Unterverzeichnis etc. Dort müsste am besten eingegriffen werden.
 

Benares

Benutzer
Mitglied seit
27. Sep 2008
Beiträge
6.160
Punkte für Reaktionen
569
Punkte
228
Ich glaube, ich habe die Stelle gefunden, an der sich der DSM merkt, welche Pakete beim Booten gestartet werden:

Bei allen automatisch startenden Paketen gibt es unter /var/packages/<PaketName> eine Flag-Datei namens "enabled" mit 0 Bytes, die erzeugt/gelöscht wird, wenn man ein Packet über den DSM startet/stoppt. Die start-stop-status-Scripte rühren diese Datei nicht an.
Ich denke, man muss diese enabled-Datei beim Shutdown einfach löschen, um den Start eines Pakets beim nächsten Reboot zu verhindern.
 
Zuletzt bearbeitet:

rumknapser

Benutzer
Mitglied seit
02. Mai 2013
Beiträge
328
Punkte für Reaktionen
4
Punkte
24
Es gibt doch ein Verzeichnis ein Autostartverzeichnis, in dem alle Services gestartet werden, irgendwo im Unterverzeichnis etc. Dort müsste am besten eingegriffen werden.

Du könntst dieses Verzeichnis meinen:
Rich (BBCode):
/usr/local/etc/rc.d/
Dort habe ich seit Jahren ein Script für eine RAMDisk, welches direkt beim Hochfahren ins System eingebunden wird.

Dieses Skript wurde noch nie von einem DSM Update entsorgt/deaktiviert/modifiziert/etc. Es scheint also, hier ist ein solider Platz um etwas sehr früh beim Systemstart anzutriggern. Danke!



Bei allen automatisch startenden Paketen gibt es unter /var/packages/<PaketName> eine Flag-Datei namens "enabled" mit 0 Bytes, die erzeugt/gelöscht wird, wenn man ein Packet über den DSM startet/stoppt. Die start-stop-status-Scripte rühren diese Datei nicht an.
Ich denke, man muss diese enabled-Datei beim Shutdown einfach löschen, um den Start eines Pakets beim nächsten Reboot zu verhindern.
Das liest sich userfreundlicher (und nach einigen Wochen des Vergessens auch wieder nachvollziehbarer) an. Danke!
Ich könnte also dieses Enabled-Flag a) beim Herunterfahren löschen lassen, durch eine -eingangs erwähnte- Ausgelöste Aufgabe, denn beim Hochfahren wäre es zu spät.
Oder aber b) durch ein Skript in /usr/local/etc/rc.d/, welches dann aber nicht so leicht (weil keine schöne GUI) zu modifizieren/deaktivieren wäre.

Mit a) hätte ich meinen Stromausfall-Punkt zwar nicht berücksichtigt, doch dies ist nur marginal im Vergleich mit der Bequemlichkeit, die Ausgelöste Aufgabe via WebGui -mal eben schnell- zu de-/aktivieren. Und dies sogar für mehrere Pakete gleichzeitig, falls später mal gewünscht.

Hmmm.... jut, dann habe ich jetzt wieder 2 Dinge, die ich testen kann und werde. Doch nicht am Tag des <jenes höhere Wesen, das wir verehren>, heute wird das NAS genutzt um der Berieselung zu fröhnen... Ich hoffe, Ihr lasst es euch auch gut gehen :)
Seid bedankt!
 

Benares

Benutzer
Mitglied seit
27. Sep 2008
Beiträge
6.160
Punkte für Reaktionen
569
Punkte
228
Kannst die Datei ja erstmal händisch löschen und DS danach neu starten. Dann siehst du ja, ob danach Plex nicht mehr läuft - was ich erwarten würde.
 

rumknapser

Benutzer
Mitglied seit
02. Mai 2013
Beiträge
328
Punkte für Reaktionen
4
Punkte
24
Ja, so dachte ich mir das auch und danke nochmal für die Recherche, nur nach einem Neustart fangen hier ca. 25463 Dienste an, wild zu indizieren und auf den Platten rumzurödeln, die CPU zum glühen zu bringen und das Ganze beruhigt sich erst nach 1-3 Stunden; zudem würde die hochgeschätzte, momentane Dame des Hauses doch arg wunderlich gucken, wenn Ihre Episode(n) plötzlich zu stoppen oder gar zu ruckeln beginnen...
 
Zuletzt bearbeitet von einem Moderator:

Benares

Benutzer
Mitglied seit
27. Sep 2008
Beiträge
6.160
Punkte für Reaktionen
569
Punkte
228
Glaub ich nicht, dass das damit zu tun hat. Was hat Plex mit der Indizierung zu tun? Hast du noch andere Dinge probiert?
 

rumknapser

Benutzer
Mitglied seit
02. Mai 2013
Beiträge
328
Punkte für Reaktionen
4
Punkte
24
Dein Glaube ist hier nicht relevant :-D
Plex ist nur eins von diversen Paketen, die hier laufen.
Und einige von ebendiesen indizieren halt beim Systemstart ihre Daten gerne neu ein. Bei langsamen (aber dafür leisen) Festplatten dauert das Ganze halt seine Zeit...
So ist das nunmal, um mit Andreas Dorau zu sprechen.
 
Zuletzt bearbeitet von einem Moderator:

Benares

Benutzer
Mitglied seit
27. Sep 2008
Beiträge
6.160
Punkte für Reaktionen
569
Punkte
228
Ich glaube es trotzdem nicht, muss an was anderem liegen. Ich habe es gerade bei mir probiert:
Bei laufendem Plex die enabled-Datei unter "/var/packages/Plex Media Server" entfernt, dann die DS neu gestartet. Wie erwartet - Plex läuft nicht wieder an und keine Auffälligkeiten bei der Indizierung.
 

rumknapser

Benutzer
Mitglied seit
02. Mai 2013
Beiträge
328
Punkte für Reaktionen
4
Punkte
24
Gelöst: Wie deaktiviere ich das automatische Starten eines Paketes beim Hochfahren ?

Ich glaube es trotzdem nicht, muss an was anderem liegen.
Ich habe überhaupt keine Idee, worauf zu Dich hier beziehst,
kann aber mitteilen, das es nun genauso funktioniert, wie ich es Eingangs wollte.
Ergo, alle sind zufrieden und freuen sich.

Vielen Dank also und einen hoffentlich noch stillen und erholsamen Sonntach!


Für die Akten:

Mein Script sieht so aus (wichtig sind nur die erste und die letzte Zeile, der Rest ist meine "Erinnerungsstütze"):
Rich (BBCode):
#!/bin/sh

# https://www.synology-forum.de/showthread.html?107420&page2&p=867639&viewfull=1#post867639
# Bei allen automatisch startenden Paketen gibt es unter /var/packages/<PaketName> eine Flag-Datei namens "enabled" mit 0 Bytes, die erzeugt/gelöscht wird, wenn man ein Packet über den DSM startet/stoppt. Die start-stop-status-Scripte rühren diese Datei nicht an.
# Ich denke, man muss diese enabled-Datei beim Shutdown einfach löschen, um den Start eines Pakets beim nächsten Reboot zu verhindern.

# "/var/packages/Plex Media Server/scripts/start-stop-status" stop

rm -rf "/var/packages/Plex Media Server/enabled"

und ich erstelle und rufe es so auf:
1.png
2.png
3.png
 

Benares

Benutzer
Mitglied seit
27. Sep 2008
Beiträge
6.160
Punkte für Reaktionen
569
Punkte
228
Das bezog sich auf den angeblichen Start einer Neuindizierung durch diese Aktion. Dem ist nicht so.
 

rumknapser

Benutzer
Mitglied seit
02. Mai 2013
Beiträge
328
Punkte für Reaktionen
4
Punkte
24
Das bezog sich auf den angeblichen Start einer Neuindizierung durch diese Aktion. Dem ist nicht so.
Ah, nun verstehe ich, worauf du dich beziehst, danke!

Da hast du wohl meine Aussagen falsch interpretiert und Neuindizierung nur auf Plex bezogen.

Plex ist nur eins von diversen Paketen, die hier laufen.
Und einige von ebendiesen indizieren halt beim Systemstart ihre Daten gerne neu ein.

nach einem Neustart fangen hier ca. 25463 Dienste an, wild zu indizieren

Es ging nicht explizit um Plex, sondern um diverse andere Dienste/Pakete, die beim Neustart ebenso loslegen wollen, wie Plex.

Schön, dass dies nun geklärt ist und sogar eine Lösung gefunden wurde! ;-D

Gute Nacht.
 
NAS-Central - Ihr Partner für NAS Lösungen