Informationen zum exec Plugin

Das ist ein "plugin" für den Video Disk Recorder (VDR).

Geschrieben von: Winfried Köhler

Projekt Internet Seite: wirbel.htpc-forum.de

Aktuelle Version: wirbel.htpc-forum.de/exec/index2.html

Beschreibung: führt zeitgesteuert Shell Kommandos innerhalb VDR aus.

Lizenz: GPL

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. See the file COPYING for more information.

0. Einführung

______________________________________________________________________

Dieses Plugin führt Kommandos zu einer gegebenen Zeit aus (ähnlich den Timern wie von VDR bekannt). Diese Timer werden per SVDRP (oder über das exec Timer Menü) programmiert und können Shell Kommandos ausführen oder Messages in das VDR OSD einblenden. Abgelaufene Timer (solche deren Startzeit bereits in der Vergangenheit liegt und die "single-shot" Timer sind) werden anschließend gelöscht.

1. SVDRP Befehle

______________________________________________________________________

Alle Beispiele hier nutzen das Perl Script svdrpsend.pl aus dem VDR Quellcode. Alternativ können auch andere Scripte/Programme für diesen Zweck benutzt werden, z.B. kann auch die BASH Shell direkt benutzt werden oder telnet, netcat..
BITTE LEST DIESE KOMPLETTE HILFE DATEI BEVOR IHR DIESES PLUGIN BENUTZT.

1.1. NEWT (New Timer)

______________________________________________________________________
Das SVDRP Kommando NEWT programmiert einen neuen Timer. Die Syntax ist

NEWT {DATE}:{TIME}:{TIMEOUT}:{ACTIVE}:{ACTION}:{WAKEUP}:{DETACH}:{EXECSTRING}

Format Beschreibung:
{DATE}:

{TIME}: {TIMEOUT}: {ACTIVE}: Timer aktiv
{ACTION}: {WAKEUP}: (siehe VDRs INSTALL Datei, Kapitel "Automatic shutdown")
{DETACH}: detach shell process, siehe vdr/thread.h. Nur für Shell Kommandos.
{EXECSTRING}: Ein String mit 1 .. 255 Zeichen, der 1.2. DELT (Delete Timer)

______________________________________________________________________
Das SVDRP Kommando DELT löscht einen Timer mit angegebenem Index. Die Syntax ist

DELT {INDEX}

Index läuft von 0 (erster Timer) bis Anzahl-1 (letzter Timer).

Dieses Beispiel löscht den sechsten Timer in der Timer Liste, siehe Kommando LSTT:

  -bash-3.00# svdrpsend.pl plug exec DELT 5
  220 TopLap SVDRP VideoDiskRecorder 1.5.9; Sun Sep 23 17:25:08 2007
  250 timer deleted
  221 TopLap closing connection
1.3. RUNT (Run Timer)

______________________________________________________________________
Das SVDRP Kommando RUNT führt einen Timer mit angegebenem Index jetzt aus. Die Syntax ist

RUNT {INDEX}

Index läuft von 0 (erster Timer) bis Anzahl-1 (letzter Timer).

Dieses Beispiel startet den vierten Timer in der Timer Liste, siehe Kommando LSTT:

  -bash-3.00# svdrpsend.pl plug exec RUNT 3
  220 TopLap SVDRP VideoDiskRecorder 1.5.9; Sun Sep 23 17:25:08 2007
  250 timer started
  221 TopLap closing connection
1.4. LSTT (List Timers)

______________________________________________________________________
Das SVDRP Kommando LSTT listet alle Timer auf. Die Syntax ist

LSTT

Beispiel

  -bash-3.00# svdrpsend.pl plug exec LSTT
  220 TopLap SVDRP VideoDiskRecorder 1.5.9; Sun Sep 23 16:32:14 2007
  250 2007-12-24:1730:0:1:1:0:0:play Chrismas_Song
  221 TopLap closing connection
1.5. CLRT (Clear Timers)

______________________________________________________________________
Das SVDRP Kommando CLRT löscht alle Timer. Die Syntax ist

CLRT

Beispiel

  -bash-3.00# svdrpsend.pl plug exec CLRT
  220 TopLap SVDRP VideoDiskRecorder 1.5.9; Sun Sep 23 17:26:24 2007
  250 list cleared
  221 TopLap closing connection
1.6. NACT (Next ACtive Timer)

______________________________________________________________________
Das SVDRP Kommando NACT gibt den nächsten aktiven Timer zurück. Die Syntax ist

NACT

Beispiel

  -bash-3.00# svdrpsend.pl plug exec NACT
  220 TopLap SVDRP VideoDiskRecorder 1.5.9; Sun Sep 23 17:29:17 2007
  250 next active timer 2007-12-24:1730:0:1:1:0:0:play Chrismas_Song
  221 TopLap closing connection
1.7. NWUT (Next WakeUp Timer)

______________________________________________________________________
Das SVDRP Kommando NWUT gibt den nächsten Timer zurück der den Computer aufweckt. Die Syntax ist

NWUT

Beispiel

  -bash-3.00# svdrpsend.pl plug exec NWUT
  220 TopLap SVDRP VideoDiskRecorder 1.5.9; Sun Sep 23 17:29:17 2007
  250 next wakeup timer 2007-09-23:1900:0:1:1:1:0:update_dvb_driver.sh
  221 TopLap closing connection

2. Zusätzliche Dateien

______________________________________________________________________

Dieses Plugin speichert seine Timer in $CONFIGDIR/plugins/exectimers.conf, wobei $CONFIGDIR z.B. /etc/vdr ist. Die Logdatei wird in /var/log/exec.log gespeichert.

Diese Datei wird automatisch generiert und ohne jegliche Warning überschrieben. Das Format dieser Datei entspricht exakt dem Kapitel SVDRP Kommandos - NEWT.

3. Wichtige Hinweise

______________________________________________________________________

  1. Dieses Plugin ist GPL Software. Siehe Datei COPYING für Details. Dieser Sourcecode darf weiterverwendet werden, solange die daraus entstehende Software EBENFALLS UNTER DER GPL veröffentlicht wird UND erkennbar ist WOHER DER ENTNOMMENE QUELLTEXT STAMMT. Das bedeutet, dass dann der Quelltext der daraus entstandenen Software inklusive Nachweis des ursprunglichen Quellcodes ebenfalls frei (kostenlos) veröffentlicht werden muss!
  2. Dieses Plugin prüft nur von Zeit zu Zeit, ob einer seiner Timer ausgeführt werden muss. Die erreichbare Genauigkeit beträgt nur eine Minute.
  3. Programmiere NIE Timer, welche dein System gefähren oder Seiteneffekte haben. Es ist DEINE Verantwortung, dieses Plugin zu nutzen oder die Gefährdung durch Angriffe auf dein System abzuschätzen, besonders wenn dein VDR unter einem privilegiertem Account läuft, z.B. root.

    ===========================WARNUNG!!!============================================
    JEDER NUTZER DER DIE MÖGLICHKEIT HAT EXEC TIMER ZU PROGRAMMIEREN KANN SO KOMMANDOS ÜBER DIESES PLUGIN MIT DEN RECHTEN DEINES VDR AUSFÜHREN!!

    DU MUSST ENTWEDER DIE PERMISSIONS ODER DIE LOGINS AUF DEINEN VDR COMPUTER EINSCHRÄNKEN. =================================================================================

  4. Es wird keine Garantie gegeben, dass dieses Plugin so funktioniert wie erwartet. Bitte sendet Bugs/Wünsche an den Plugin Autor.

    have phun.. wirbel (see you at vdr-portal.de)