[QPKG] SHUTDOWN - ua. wenn kein Client erreichbar ist
- Eraser-EMC2-
- Geschlossen
- Erledigt
-
-
Zitat von "Senku"
Bei dem wait4pc.sh -m komm ich in das Menü rein..?
Ja,
mich interessiert, ob der Wert 1 (wie unten) auch im Menü richtig abgezeigt wird.Das hat mich auch weitergebracht, eher verwirrt.
Ich habe dadurch noch keine Erklärung gefunden, warum es bei dir nicht funktioniert.
Nach den Ergebnissen muß es funktionieren. -
Ja die Einstellungen sind ident. Also wenn ich Samba auf Check habe, steht dort im Skript auch eine eins
Das ist okay.. Ähmm, wo genau passiert der Übertrag in die Variable $iSESSIONS?
-
Zitat von "Senku"
Das ist okay.. Ähmm, wo genau passiert der Übertrag in die Variable $iSESSIONS?
In der lib.sh in der Zeile 277
und ausgewertet -
Danke, das waren tolle Hinweise!
Wenn man die notwendigen Variable setzt (CMD_WC und CMD_SMBNET) und den iSESSION befüllt, funktioniert es.
Interessant, warum es im Skript nicht funktioniert... Ich schau mal, wenn ich Zeit habe nochmal intensiver. (Es muss nun theoretisch an der Abfrage liegen... anders gehts ja nicht)
Danke Vielleicht fällt dir ja auch noch etwas auf .. Falls ich noch was nachschauen kann, soll.. Immer her damit! :mrgreen:
-
Hallo Leute,
will ja nicht unverschämt sein, aber mich würde interessieren, ob man dem wait4pc beibringen könnte, auch auf Zugriffe von einem UDLNA-Client zu achten.
Samba ist ja wunderbar, aber ich nutze den QNAP (TS-469L) sehr oft als Upnp/UDLNA Server, zum Streamen auf meinen Sat-Receiver oder Surround-Receiver.
Mit Ping will ich auch nicht arbeiten, schließlich will ich den QNAP nicht jedes Mal wecken, wenn ich Fernsehen schaue, das wäre Stromverschwendung,Any Ideas?
Wäre schön, danke.
Weejah
-
Leider ist mir keine Möglichkeit bekannt, den Verbindungsstatus vom Twonky abzufragen.
-
Zitat von "Eraser-EMC2-"
Leider ist mir keine Möglichkeit bekannt, den Verbindungsstatus vom Twonky abzufragen.
Ich glaube hier kann ich helfen!Ich habe in den letzten Monaten mein eigenes Shutdown-Script sukzessive um Überprüfungen für pyLoad und Twonky erweitert, und es funktioniert ausgezeichnet (nur nicht so komfortabel wie die Lösung von Eraser).
Ich werd mal die privaten Verweise / Codeteil generalisieren und dann das Script hier posten.
Omar
-
So, wie verprochen der Code meines Shutdown-Scripts:
Anmerkungen:
- Das Script ist insofern modular aufgebaut, dass es aus einzelnen Funktionen besteht, die im Hauptteil einfach auskommentiert werden können. Die Funktionen überprüfen folgende Services:
* Erreichbarkeit von Hosts im Netz anhand von Ping
* Aktiver (eingeschalteter) Squeezebox-Player
* Offene Sambasessions
* Laufen pyLoad-Downloads
* Wird über Twonky gerade gestreamt - So weit ich mich erinnern kann hatte ich beim pyLoad-Check am Anfang Schwierigkeiten, den Port einzutragen. Beim erstmaligen Aufruf von pyLoadCli.py wird der Port abgefragt, der Default-Wert war aber ein anderer als am Server (im Webclient Einstellungen / Allgemein / Remote) eingetragen.
- Die Kommentare sind auf Englisch - alte Angewohnheit ...
Anmerkungen aus meinem Ursprungspost:
Zitat von "Omar Hawk"- Wie schon erwähnt muss netcat installiert sein
- Ich habe mich für ein paar Überprüfungen am Code von Eraser "orientiert"
- Das Script muss manuell auf die Gegebenheiten (Netzwerk ...) angepasst werden
- Der Eintrag in die Crontab muss selbst vorgenommen werden
- Ein Log habe ich nur insofern realisiert, indem ich die Ausgabe in der Crontab auf ein File umleite
Omar
Bash
Alles anzeigen#!/bin/sh SUBNET='10.11.12.' HOSTS='1 2 3 4' SMBNET="/usr/local/samba/bin/net" func_ping () ( echo "Status Hosts" echo "------------" for HOST in $HOSTS do ping -q -c 1 "${SUBNET}${HOST}"&> /dev/null if [ "$?" -eq 0 ]; then echo "${SUBNET}${HOST} ist noch erreichbar" COUNTping=$[$COUNTping+1] else echo "${SUBNET}${HOST} ist offline" fi done echo "**************************************" return $COUNTping ) func_squeezebox () ( echo "Status Squeezebox" echo "-----------------" # The installation of Netcat via ipkg is required! playerCount=$(printf "player count ?\nexit\n" | /opt/bin/nc localhost 9090 | cut -d ' ' -f 3) echo Players Connected: $playerCount while [ $playerCount -gt 0 ]; do let playerCount-- playerID=$(printf "player id "$playerCount" ?\nexit\n" | /opt/bin/nc localhost 9090 | cut -d ' ' -f 4 | sed 's/%/%%/g') playerName=$(printf "player name $playerCount ?\nexit\n" | /opt/bin/nc localhost 9090 | sed 's/%20/ /'g | cut -d ' ' -f 4-) echo -n "$playerName " if [ $( printf "$playerID power ?\nexit\n" | /opt/bin/nc localhost 9090 | cut -d ' ' -f 3 ) -eq 0 ]; then echo OFF else echo ON COUNTsqueezebox=$[$COUNTsqueezebox+1] fi done echo "**************************************" return $COUNTsqueezebox ) func_samba () ( echo "Status Samba" echo "------------" COUNTsamba=`${SMBNET} status sessions parseable | wc -l` echo "Offene Sambasessions " $COUNTsamba echo "**************************************" return $COUNTsamba ) func_pyLoad () ( export LD_LIBRARY_PATH=/root/.pyload/opt/lib local CONF=/etc/config/qpkg.conf local QPKG_DIR=/share/MD0_DATA/.qpkg/pyload/ local pyLoadNoDownloads="No downloads running." # Check if the port for pyLoadCli is correct! local pyLoadNotRunning="Could not establish connection to 127.0.0.1:7227." echo "Status pyLoad" echo "-------------" # Print out the current status - just for informational purpose, can be removed # The "grep -v" is needed cause for some reason when running as a cronjob pyLoadCli.py can't write the config file ${QPKG_DIR}/opt/bin/python2.5 ${QPKG_DIR}/pyLoadCli.py status|grep -v "Couldn't write user config file" pyStatusTxt=$(${QPKG_DIR}/opt/bin/python2.5 ${QPKG_DIR}/pyLoadCli.py status|grep -v "Couldn't write user config file") if [ "$pyStatusTxt" = "$pyLoadNotRunning" ] || [ "$pyStatusTxt" = "$pyLoadNoDownloads" ] then COUNTpyStatus=0 else COUNTpyStatus=1 fi echo "**************************************" return $COUNTpyStatus ) func_twonkymedia () ( # use any directory where files can be written and deleted local OUTPUT_DIR=/tmp/ echo "Status TwonkyMedia" echo "------------------" wget -q --directory-prefix=${OUTPUT_DIR} localhost:9000/rpc/stream_active twonkyCount=$(cat ${OUTPUT_DIR}stream_active|cut -d ':' -f 2) echo Anzahl Streamings: $twonkyCount if [ $twonkyCount -gt 0 ]; then wget -q --directory-prefix=${OUTPUT_DIR} localhost:9000/rpc/stream_info;cat ${OUTPUT_DIR}stream_info fi rm ${OUTPUT_DIR}stream* echo "**************************************" return $twonkyCount ) echo '###########################################################' echo 'Check 4 Shutdown' date echo '###########################################################' func_ping COUNT=$[$COUNT+$?] func_squeezebox COUNT=$[$COUNT+$?] func_samba COUNT=$[$COUNT+$?] func_pyLoad COUNT=$[$COUNT+$?] func_twonkymedia COUNT=$[$COUNT+$?] if [ ${COUNT} = 0 ]; then echo "Keine Clients bzw. kein laufendes Service (pyLoad) gefunden!" echo "Server wird heruntergefahren" /sbin/poweroff else echo "NAS bleibt online" fi
- Das Script ist insofern modular aufgebaut, dass es aus einzelnen Funktionen besteht, die im Hauptteil einfach auskommentiert werden können. Die Funktionen überprüfen folgende Services:
-
Hi zusammen,
wie kann ich die Subnet ändern? Die stimmt bei mir nicht mehr seit ich eine Fritzbox angeschlossen habe.
Danke für Tipps und Hilfe
Gruss mn2000
-
Das ist auch das was ich gesucht habe und mein QNAP wird auch in Standby gefahren.
Leider kann ich den Prüfzyklus */5 nicht ändern.
Das Webfront übernimmt die geänderten Werte nicht. -
-
Ich habe nun die Downloads mit dem Bugfix aktualisiert
und die Unterstützung für das QDownload/QGet entfernt,
da es mit den letzten QGet-Versionen nicht mehr funktionierte. -
Funktioniert bei mir noch nicht
Keine Werte werden gesepichert.Außerdem funktioniert auch der Link nicht mehr:
iStat gibt diese Links:
http://lore:80/istat/
https://lore:8081/istat/Wait4PC diesen
http://lore:8080/Wait4PC/index.htmlFunktionieren tut aber nur
https://lore/Wait4PC/index.html -
Hallo zusammen,
ich möchte Wait4PC nutzen mit meiner Logitech Squeezbox Touch nutzen.
WoL geht nämlich schön von der Squeezebox aus, da wäre es toll, wenn ich eine Möglichkeit hätte, nach Benutzung die NAS wieder runterzufahren.
Leider scheint die Squeezbox immer im Netz aktiv zu sein, auch wenn sie "ausgeschaltet" ist.
Jedenfalls ist sie per Ping erreichbar und damit zeigt auch Wait4PC ständig Ihre Adresse "grün" an.
Damit geht das Script prinzipbedingt nicht, richtig?Hat jemand das gleiche Problem? Oder eine Idee wie ich es trotzdem nutzen kann?
Danke schon mal.
-
Hallo,
Die Überprüfung, ob eine Squeezebox im LAN auf den LMS am NAS zugreift, geht mit Wait4PC nicht. Ich hab' mir deshalb ein Script gebastelt, das (unter anderem) diese Funktion abdeckt. (Siehe hier)
Das Script ist aber weit nicht so komfortabel wie Wait4PC und setzt (minimale) Grundkenntnisse beim Umgang mit Shell-Scripts voraus.Omar
-
Hallo,
erst einmal möchte ich mich für das tolle Tool bedanken.
Ich nutze Wait4PC jetzt seit VErsion 1.4 und es hat noch nie Probleme gemacht.Jetzt nutze ich seit neuestem die TVStation und nehme darüber auf.
Meistens läuft in der Zeit allerdings kein weiterer Rechner. Gäbe es eine Möglichkeit den Shutdown bei laufender Aufnahme zu unterbinden?Gruß Luke
-
Ich habe gestern versucht vom "Shutdown-Script" auf das QPKG umzusatteln. Leider bekomme ich mit der aktuellen 1.46 Version keine Konfigurationsseite zu sehen. Der Link im Webserver serviert eine leere Seite. Mehrmaliges neu-installieren brachte keine Besserung. Installiere ich hingegen die Version 1.45, kann ich die Konfigurationsseite öffnen. Die Probleme der 1.45 sind ja bereits bekannt, weswegen ich liebend gerne direkt auf die 1.46 umsteigen würde.
Hat einer einen Rat?NAS=TS-459 Pro+
-
Die Konfigurationsseite sollte nun wieder zu sehen sein.
Schuld war eine fehlerhafte Dateiberechtigung.
keine Ahnung, warum es bei menem letzten test nicht aufgefallen ist.Ich werde, wenn ich Zeit finde, weitere Funktionen aus den vergangenen Beiträgen integrieren.
EDIT:
Ich habe gestern doch noch eine ruhige Stunden gefunden und konnte die Unterstützung
von dem Twonky, pyLoad und Squeezebox integrieren.
Schönen Dank an "Omar Hawk".
Die Funktion vom Twonky-Server konnte ich selbst testen,
jedoch fehlt mir die Möglichkeit eines Tests für die pyLoad und Squeezebox-Unterstützung. -
Hallo Eraser,
Gern geschehen!
Wenn ich am Wochenende dazukomme werd' ich mir mal deine neueste Version zu Gemüte führen und testen!
Omar
P.S.: Wie hast du die Squeezebox-Abfrage gelöst? Ebenfalls über netcat? Wenn ja solltest du das als Anmerkung dazuschreiben ...