[gelöst]Server abhänging von VDR starten und stoppen

  • Guten Morgen,


    ich möchte gerne meinen Server, abhänging vom VDR starten und stoppen,
    dazu soll, beim Shutdown von VDR ein Skript ausgeführt werden, welches des Server in den Standby schickt.
    Das Skript liegt auf dem Server und wird von VDR folgendermaßen ausgeführt:

    Code
    plink -pw 'passwort' andreas@server DISPLAY=:0 gnome-terminal --command pshutdown


    Dieser Befehl lässt sich von der shell jedes mal erfolgreich ausführen, nur wie bekomme ich das so automatisiert, das dieser Befehl jedesmal beim herunterfahren, oder beim vdr stop ausgeführt wird?
    Ich habe auch schon in /etc/init/ eine datei.conf angelegt:


    leider wird der Befehl so nicht automatisch ausgeführt, hat jemand eine Idee woran das liegen kann? Oder kann mir sonst eine Methode nennen, wie ich das erreichen kann?


    [size=10]nOpacity: Icons
    [size=10]skindesigner: tryoutsglassy

    Einmal editiert, zuletzt von BooStar ()

  • ...vielleicht liegts dadran dass in der ersten zeile des scripts ein "d" fehlt?? ;)

    Client 1 Hardware : MSI Z87-G43, I5-4570, 4 GB Ram (oversized aber war über :) ),Zotac NVidia GT630 (25 Watt),Thermaltake DH202 mit iMon-LCD ( 0038 ) und vdr-plugin-imon
    Software : yaVDR 0.6,sofhhddevice @ 1920x1080@50Hz
    Server Hardware : MSI Z87-G43, I7-4790, 16 GB RAM, 5x3 TB WD Red, Digibit-R1 (2 Devices)
    Software : Ubuntu 16.04 LTS mit yavdr-Paketen,virtualbox,diverse VM's


    Yoda: Dunkel die andere Seite ist...sehr dunkel!
    Obi-Wan: Mecker nicht, sondern iss endlich dein Toast ...

  • Hallo.
    Nein, das ist nur beim pasten auf der Strecke geblieben!


    [size=10]nOpacity: Icons
    [size=10]skindesigner: tryoutsglassy

  • Hallo,


    erst einmal vielen Dank für das Skript. Sowas wollte ich gerade auch umsetzen.


    Hast du das Skript nur beim Herunterfahren des Clients getestet oder auch beim 'reinen Stoppen des VDR des Client ('stop vdr' in der Konsole)?


    Es gibt da wohl ein Problem, das beim 'runterfahren des Clientrechners, die Netzwerkschnittstelle schneller beendet wird als der VDR (siehe auch Thread: ' streamdev-Client meldet sich nicht korrekt beim Server ab ')!


    Gruß, Sven

    VDR-Server: MLD 5.0.0 (HEADLESS), Banana Pi, 3TB Platte, 2 Sundtek SkyTV Ultimate
    VDR-Client-1: MLD 4.0.0, ASROCK K8NF4G-SATA2, Digitainer, X10, Nvidia GeForce EN210 silent
    VDR-Client-2: MLD 4.0.0, ASROCK A330ION, Digitainer, Atric IR Rev.5
    VDR-Client-3: MLD 5.0.0, Raspberry PI B
    VDR-Client-4: MLD 4.0.0, ASROCK ION 330HT
    VDR-Client-5: yaVDR 0.4, HP dc5750, Nvidia GeForce EN210 silent, USB IR Remote Receiver mit irmplircd (Mini-How-To)
    VDR-Client-DEAKT: MLD 4.0.0, ECS GF8200SM-M3

    2 Mal editiert, zuletzt von sky2000walker ()

  • Hallo,


    bin derzeit auch am überlegen meinen server zum streamen umzurüsten.
    Bin dabei auch über das Problem gestolpert.
    Wobei ich mich derzeit nur theor. damit befasse.
    Starten habe ich mir in etwa wie bei dir vorgestellt.
    Das beenden des VDR werde ich über eine Prüfung relisieren, ob die
    Clients noch verbunden sind.
    Ab und zu benutzen meine Kids auch den "großen Ausschaltknopf"an den Clients.
    Dachte an so was :
    http://de.gentoo-wiki.com/wiki/Automatischer_Shutdown
    Natürlich nur vdr beenden. Wobei ich das sleep entfernen werde, und eventuell
    einen cronjob anlege.



    Gruss Ralf

    Produktiv-1: ga-m61p-s3 Tevii S470 G210 yaVDR64-0.5.0
    Produktiv-2: ga-m61p-s3 FF 1.5 lenny mit E-tobi 1.4.7
    Nas-Vdr-Server: DQ77MK / Core i5-2500 / 32gb / cine V6 +2x duoflex / Intel PRO/1000GT dual / Proxmox yavdr omv
    Testsystem: ASRock B75 Pro3-M cine V6 gt740 yaVDR

    Einmal editiert, zuletzt von NX650 ()

  • wie wäre ein anderer ansatz:


    Client: der client weckt server per wake-on-lan


    Server:
    Cron job checkt alle 5 oder 10 minuten ob bestimmte ip's erreichbar sind. wenn nicht dann shutdown


    damit könnten auch andere geräte (windows pc's, ...) auf dem server arbeiten (mp3, dokumente) ohne dass der wegen dem runterfahrenden vdr runterfährt.


    so in der art:


    http://www.michael-fuchs.net/r…/edv/scripts/watchip.html

    Einmal editiert, zuletzt von DocViper ()


  • Wake-on-lan ist denke ich schon mal 'ne gute Loesung. Zum abschalten des Servers kann man einen 'Timeout' bauen, beschrieben hier:
    Funktioniert: Server nach Film gucken wieder schlafen legen...
    Funzt bei mir zuverlaessig.


    Gruss,
    - berndl

  • Hallo zusammen,


    Zitat

    Hast du das Skript nur beim Herunterfahren des Clients getestet oder auch beim 'reinen Stoppen des VDR des Client ('stop vdr' in der Konsole)? Es gibt da wohl ein Problem, das beim 'runterfahren des Clientrechners, die Netzwerkschnittstelle schneller beendet wird als der VDR


    Ja,das habe ich alles getestet. Das Netz ist auch vorahnden, aber irgendwie wird der plink-befehl nicht ausgeführt. Ich habe das Gefühl, das es darn liegt, das der Befehl im Hintergrund ausgeführt wird.Denn wenn ich ihn auf der console mit "&" starte, kommt auf dem server auch nix an..

    Zitat

    wie wäre ein anderer ansatz:


    Ja, einfach einen Trigger vom Server abzusetzen wäre ja einfach,
    dabei sehe ich allerdings folgende Nachteile, welche der Grund sind, warum ich diese Veränkungen hier mache ;)
    1)Würde ich gerne den ausgelösten Shutdown unterbrechen können
    2)Wenn man einen Trigger absetzt, was mache ich wenn ich am Server arbeite und keiner der VDRs, oder Clienten (je nachdem wie weit man IPs pingt), dann kommt alle 10 min ne Meldung das er runterfahren will, was auch nervig wird.


    [size=10]nOpacity: Icons
    [size=10]skindesigner: tryoutsglassy

  • Zitat

    Original von BooStar
    Ich habe das Gefühl, das es darn liegt, das der Befehl im Hintergrund ausgeführt wird.Denn wenn ich ihn auf der console mit "&" starte, kommt auf dem server auch nix an..


    Dann häng doch mal ein nohup davor.


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

  • Hi,
    also das scheint auch noch nicht ganz zu klappen,
    wenn ich jetzt auf der console

    Code
    nohup plink -pw 'passwort' andreas@192.168.10.2 DISPLAY=:0 gnome-terminal --command pshutdown &


    aufrufe, wird das Kommando erfolgreich auf dem Server ausgeführt,
    wenn ichs aber in die /etc/init/datei.conf eintrage, passiert nix..


    [size=10]nOpacity: Icons
    [size=10]skindesigner: tryoutsglassy

  • Zitat

    Original von BooStar
    wenn ichs aber in die /etc/init/datei.conf eintrage, passiert nix..


    In dem Skript fehlt noch das Schlüsselwort task, außerdem würde ich das exec davorsetzen, aber ohne nohup und &


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

  • Hi,
    also so siehts jetzt aus:


    aber leider tuts immer noch nicht.
    wender mit nohup noch mit exec.
    das "&" hatte ich nur auf der console verwendet, nicht im script.


    [size=10]nOpacity: Icons
    [size=10]skindesigner: tryoutsglassy

  • Warum machst du es denn nicht andersherum? Prüf doch auf dem Server regelmäßig mit svdrpsend ob der VDR noch da ist und wenn nicht, dann fährst du eben runter. Das ließe sich dann auch erweitern um Tests auf mehrere VDRs.


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

  • Ja, wenn ich jetzt vom Server einen cronjob anlege, der, sagen wir alle 10min ein Script ausführt, welches das Netz auf Aktivität prüft und wenn nicht aktiv herunterfährt, bleibt aber das Problem, das wenn ich am Server arbeite und sonst nichts im Netz aktiv ist, alle 10min ein script nervt, was den Server ausschalten will.
    Ich werde mal schauen ob ich am Server einen Anmeldestatus abfangen kann,dann kann ichs durchaus trigger, das Script.
    Ungefähr so:
    Wenn Session abgemeldet -> prüfe alle 10min auf Netzaktivität, bei inaktiv fahre nach einem Countdown herunter-
    Wenn Session angemeldet -> mache nichts, aber schalte beim abmelden den Trigger wieder ein...
    sollte funktionieren!


    [size=10]nOpacity: Icons
    [size=10]skindesigner: tryoutsglassy

    2 Mal editiert, zuletzt von BooStar ()

  • Sieh dir mal das vdr-addon-lifeguard an. Das sollte meiner Meinung nach mit wenigen Änderungen auch ohne VDR laufen. Ich hatte auch schon mal vor das für meinen VDR-losen Server einzusetzen, komme aber nicht dazu. So könntest du verhindern, dass der Server runter fährt wenn du noch drauf bist. Das Problem hättest du aber mit deiner ursprünglichen Lösung auch gehabt.


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

  • //edit.


    [size=10]nOpacity: Icons
    [size=10]skindesigner: tryoutsglassy

    Einmal editiert, zuletzt von BooStar ()

  • Hallo zusammen,
    also ich hab das "Problem" jetzt folgendermaßen gelöst:


    ==WAKEUP==
    Um den Server von yaVDR aufzuwecken muss etherwake installiert werden:

    Code
    sudo apt-get install etherwake


    Damit es automatisch bei jedem yaVDR start ausgeführt wird, ist eine Datei mit folgendem Inhalt in /etc/init/ anzulegen:


    Um den Server von anderen PCs im Netzwerk zu starten habe ich entweder Bash, oder Batch- Scripte mit etherwake, oder entsprechend WOL auf die Desktops gelegt.


    ==SLEEP==
    Grundsätzlich wird der Server nicht heruntergefahren, sondern in den Standby geschickt: pm-suspend (ubuntu)
    Damit das im Script auch ohne Passwortabfrage geht, muss der Befehl per visudo entsprechend konfigureirt werden.
    Damit das ganz automatisiert funktioniert, habe ich das checkidle- script von berndl ein wenig modifiziert und einen cronjob dafür angelegt:

    Code
    */21 * * * * bash /home/andreas/bin/checkidle/checkidle.sh > /home/andreas/bin/checkidle/checkidle.log

    Das Script wird alle 21min ausgeführt und warte 10min bis der Rechner heruntergefahren wird.


    Eigentlich wurde nur die Prüfung für den Login verändert.
    Ich prüfe nicht, ob user angemeldet sind, sondern ob der Bildschirm gesperrt wurde, wenn das der Fall ist und keine der IPs in der auto-shutdown-ips.dat gepingt werden kann, fährt der Server in den Standby.
    Damit das Script sauber von cron ausgeführt werden kann, habe ich noch ein weiters exit für den while-loop dazu geschrieben, dies verhindert, das das Script ggf. doppelt ausgeführt wird.
    Wahrscheinlich brauche ich den while-loop jetzt gar nicht mehr, aber was solls, wenn noch jemand Verbesserungsvorschläge hat - Ich bin für alles offen.
    Und vielen Dank an alle, die mir geholfen haben.


    [size=10]nOpacity: Icons
    [size=10]skindesigner: tryoutsglassy

    6 Mal editiert, zuletzt von BooStar ()

  • Das ist nicht gut. Das gehört in einen eigenen Skript. Den lässt du starten mit

    Code
    start on starting vdr-net

    . Das hat den Vorteil dass der Start von vdr-net solange hinausgezögert wird, bis dein Skript durch ist und du änderst unsere Skripte nicht.


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

  • Hi, danke für die Rückmeldung,
    heisst also ich soll ein neues Skipt in /etc/init anlegen das so aussieht:


    [size=10]nOpacity: Icons
    [size=10]skindesigner: tryoutsglassy

  • Genau das heisst es, funktioniert genau so wie oben beschieben.


    [size=10]nOpacity: Icons
    [size=10]skindesigner: tryoutsglassy

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!