Hallo,
wie kann man auf einem laufenden VDR-System per Bash abfragen ob gerade eine Aufnahme läuft.
Ich will die Abfrage in das server-sleepd.sh Script einbauen, daß mal in der C't vorgestellt wurde.
Grüße aus KO
Hallo,
wie kann man auf einem laufenden VDR-System per Bash abfragen ob gerade eine Aufnahme läuft.
Ich will die Abfrage in das server-sleepd.sh Script einbauen, daß mal in der C't vorgestellt wurde.
Grüße aus KO
Warum machst du das nicht über die Abschaltfunktion des VDR?
Hier nur einige Pings einfügen um das Abschalten bei aktiven Rechnern im LAN abzubrechen. Aufnahmen und Timer würden automatisch überwacht.
Gruß
Martin
Hallo Maro1969,
es gibt dann also jemanden der auch aus KO kommt. Gut zu wissen
Zum Thema. Das Script macht ja noch ein bischen mehr. Der Rechner soll ja nicht nur als VDR-Server dienen sondern auch als Fileserver oder sonstiges. Aber er soll halt nur bei bedarf starten. Deswegen wil ich den Suspend außerhalb des VDR auslösen.
Nch stand der Dinge läuft das ganze so. Der Rechner wird über WOL oder den VDR-Timer geweckt und schaltet sich aus wenn kein (bestimmter) Teilnehmer im Netz ist und keiner am Rechner angemeldet ist. Der ganze Vorgang wird innerhalb eines bestimmten Zeitraums wiederholt. Leider ist da halt keine Abfrage an den VDR dabei.
Deswegen brauche ich das.
Gruß
Norman
könnte evtl gehen mit
"svdrpsend next rel"
wenn was <0 rauskommt läuft noch ne aufnahme.
Hi tcg,
wo finde ich eigentlich ne beschreibung der svdrpsend Befehle (API).
Ich werd das dann heut Abend mal testen
Aber das Script kann man doch auch beim VDR während des Ausschaltprozesses aufrufen. Statt aus dem "normalen Skript" den VDR zu prüfen prüft dann der VDR 8was er intern besser kann) sich selbst und durch das Skript den Rest und fährt dann entweder runter oder bleibt an (bestimmter Rechner im LAN erreichbar, Benutzer angeneldet etc.). Solche Skriptew gibt es doch schon en masse hier im VDR-Portal.
Alternativ kannst Du über die SVDRP-Schnittstelle mit "NEXT" den nächsten Timer anzeigen. Anhand der Uhrzeit und des Datums musst Du dann entscheiden, ob die Aufnahme aktuell läuft (Z.B. wenn die Timerzeit in der Vergangenheit liegt) oder in der Zukunft liegt. Dabei dann aber die Mindestzeit zwischen Aufnahmen beim VDR beachten, damit der Rechner auch rechtzeitig wieder aufwacht.
ZitatOriginal von batesman
Hi tcg,
wo finde ich eigentlich ne beschreibung der svdrpsend Befehle (API).
Ich werd das dann heut Abend mal testen
Hier: http://vdr-wiki.de/wiki/index.php/SVDRP
cu
markus
Hallo Mahlzeit,
wenn ich das aus dem Ausschaltprozess heraus mache müsste ich ja schon einen Grund haben warum ich den Rechner herunterfahren will. Den habe ich ja erst mal nur dann wenn eine Aufnahme zu Ende ist. Ich will den VDR aber grundsäzlich schon laufen haben, wenn er erst mal hochgefahren ist.
Oder wie binde ich dieses Skript an den VDR, so daß er mir die Abfragen macht ?
Gruß
Norman
ZitatOriginal von batesman
Hallo Mahlzeit,
wenn ich das aus dem Ausschaltprozess heraus mache müsste ich ja schon einen Grund haben warum ich den Rechner herunterfahren will. Den habe ich ja erst mal nur dann wenn eine Aufnahme zu Ende ist. Ich will den VDR aber grundsäzlich schon laufen haben, wenn er erst mal hochgefahren ist.
Oder wie binde ich dieses Skript an den VDR, so daß er mir die Abfragen macht ?
Im VDR-Wiki steht einiges zu Shutdown Skripten, z.B. hier: http://vdr-wiki.de/wiki/index.…stallscript-shutdown-cmds
Dan kann man sich einige Anregungen holen.
Welche Distri setzt Du überhaupt ein? Je nach System ist das mal so oder anders geregelt.
Hallo Mahlzeit,
OK, daß das auch so rum geht wusste ich nicht. Da kann ich die Abfragen natürlich auch einbauen. Ich bin halt nur über besagtes Script gestolpert und dachte "Hey, passt doch prima". Ich hätte halt nur diese eine Abfrage gebraucht, dann wäre es ja komplett gewesen.
Das Problem ist halt, daß ich mich nicht so dolle mit der Bash auskenne. Ne kleine Anpassung ist (mit etwas Recherche) noch drinne, aber dann hörts schon auf.
Dann schau ich mir das mal an.
Distri ist übrigens Debian Lenny mit e-tobi Paketen.
[Edit] Eine Frage hätte ich noch. Die Abfragen gehören ja zum Shutdown des VDR. Wie sage ich dem VDR denn, das er diese Abfragen permanent macht. Im Normalbetrieb gibts ja erst mal keinen Grund gleich wieder runter zu fahren. Der Shutdown soll ja in Abhängigkeit von den genannten Angaben ausgelöst werden. SOOO fragt er das ja nur ab, wenn jemand einen shutdown auslöst und Verzögert dann entsprechend, oder sehe ich das falsch ?[Edit]
Gruß
Norman
Du kannst den VDR so einstellen, daß er nach einer vorgegebenen Zeit ohne Benutzung und angemeldete Clients das System herunterfährt. Dabei wird das Shutdownscript abgearbeitet. in diesem Script habe ich z.B. eine Abfrage eingebaut, in der er bestimmte IP-Adressen anpingt. Bekommt er da eine Antwort, so bricht er den Shutdown ab und der Shutdown-Timer beginnt von vorne.
Aber es wäre schon gut wenn du mal deine Distri erwähnst. Bei einigen wird das über Sgutdown-Hooks geregelt. Damit kenne ich mich aber nicht wirklich aus.
Gruß
Martin
PS: und wir sind nicht die Einzigen in KO
Beim VDR kannst du ja einstellen nach wie viel Minuten Untätigkeit er sich herunterfahren soll. Dabei checkt er dann die shutdown-hooks und fährt ggf. dann den Rechner runter oder halt net. Falls der VDR nur für eine Aufnahme gestartet wurde fährt er sofort nach der Aufnahme wieder runter.
Ich glaub da war noch was, dass man dem vdr in dem shutdown-skript sagen kann nach wie viel minuten er erneut checken soll. Bin mir aber da net sicher.
Szenario wäre dann: 2h untätig -> check -> eingeloggt -> 10min warten -> check -> eingeloggt -> 10min ....
EDIT:
Hab grad nochmal nachgeschaut aus bei meinem vdr (siehe sig): in /etc/vdr/shutdown-hooks/S90.custom:
# Custom VDR Shutdown Hook
# -------------------------
#
# Here you can place any commands, you want to be executed when VDR wants
# to shutdown.
#
# * To abort the shutdown, exit with an errorlevel <> 0.
#
# * If you want a message to be displayed on the OSD when aborting a shutdown,
# then write to stdout:
#
# ABORT_MESSAGE=<message to display>
#
# * If you want to defer the shutdown, write to stdout:
#
# TRY_AGAIN=<minutes to wait before next shutdown request>
#
# * To overwrite the command that will be executed to shutdown the machine
# after all shutdown hooks have been processed, write to stdout:
#
# SHUTDOWNCMD=<new shutdown command>
#
# i.e.:
#
# echo "ABORT_MESSAGE=\"I do not want to shutdown now!\"\;TRY_AGAIN=10" ; exit 1
Alles anzeigen
maro1969: Distri hat er erwähnt:
ZitatDistri ist übrigens Debian Lenny mit e-tobi Paketen.
Hallo Maro1969/Aero,
ihr habt recht. Nachdem ich den letzten Post "abgeschossen" hab fiel mir ein "Da ware doch noch was".Dann hab ich mal Wiki danach geschaut und dannwars klar.
Eigentlich wollt ich ja nur das vorhandene Skript erweitern aber vieleicht stricke ich das jetzt auf diese Shutdown-commands um.
Gruß
Norman
maro1969 : Kannst du mir dein Skript mit dem anpingen geben ?
Ich hab in meinem /_config/bin/vdrshutdown.sh unter Gen2VDR folgendes eingefügt:
logger -s "$0 -$1-$2-$3-$4-$5-"
[ -f $WAKEUP_FILE ] && rm -f $WAKEUP_FILE
# check for forced Shutdown
[ -f /tmp/sandboxpids.tmp ] && err_exit "emerge laeuft"
# check if there are some users logged in
if [ "$IGNORE_USER" = "0" ] ; then
USERS=$(who | wc -l)
[ "$USERS" != "0" ] && err_exit "$USERS Benutzer sind angemeldet"
fi
for x in ${PROC_STOP_SHUTDOWN} ; do
[ "$(pidof -x $x)" != "" ] && err_exit "$x laeuft"
done
#######Ab hier von mir eingefügt!!!####################
#
# check for tcp-connections
#if [ "$(netstat -p --tcp | grep tcp)" != "" ] ; then
# err_exit "Es bestehen tcp-Verbindungen!"
#fi
#check for ping
ping aspire7520g -c 1 -q > /dev/null 2>&1
pingstat=$?
if [ $pingstat == 0 ] ; then
err_exit "aspire7520g ist online"
fi
#check for ping
ping s100 -c 1 -q > /dev/null 2>&1
pingstat=$?
if [ $pingstat == 0 ] ; then
err_exit "s100 ist online"
fi
#
#######Bis hier von mir eingefügt!!!####################
Alles anzeigen
Gruß
Martin
Danke Maro1969,
ich schau mal, inwieweit ich das bei mir einbauen kann.
Ich will man diesen Thread missbrauchen.
Ich möchte, dass regelmäßig geschaut wird, ob neue Aufnahmen vom VDR verfügbar sind und prüfe das in einem separaten Thread so:
Aber irgendwie wird niemals neugeladen, so dass neue Aufnahmen nicht geladen werden. Ist die Funktion für diese Aufgabe prinzipiell geeignet, oder muss ich mir was anderes überlegen?
Ich kenn zwar die Funktionen nicht, aber fehlt da nicht ein "then"?
sorry, hab vergessen zu erwähnen, dass das in C++ ist.
Uuuups,...da halt ich mich raus!!!
Sorry
Martin
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!