Hi!
Könnte vielleicht jemand den timerd so erweitern, das man auch Shell Commands ausführen kann?
Somit wäre dann z.B. ein Script möglich, welches nach dem einschalten morgens um 6 (als Beispiel) mit pzapit mehrere Kanäle durchgeht, um die EPG Infos zu sammeln, die Mailpostfächer abzufragen, usw.. so das diese Infos dann um 7:00 zum Kaffee zur Verfügung stehen.
also z.B. 06:00 /bin/tralala
09:00 /var/etc/shell1.sh
23:00 /var/shell/backup.sh
usw.. ?
timerd Command ausführen
-
- Einsteiger
- Beiträge: 372
- Registriert: Donnerstag 18. Dezember 2003, 18:45
-
- Interessierter
- Beiträge: 45
- Registriert: Dienstag 14. Oktober 2003, 15:18
Wozu brauchst Du da ein Script. Mit entsprechenden täglichen Umschalt-Timern kannst Du die EPG's zu einer beliebigen Zeit einlesen lassen. Und wenn die Box durch diese Timer erst mal gewckt ist, und der maild läuft, werden auch die Postfächer abgefragt.
Wenn Du die Box nachts im Deep-Standby hast, must Du natürlich zuerst einen Timer "Aufwachen aus Deep-Standby" programieren (glaube ich wenigstens, hab noch nicht ausprobiert, ob ein Umschalttimer die Box auch aus dem Deep-Standby weckt)
Wenn Du die Box nachts im Deep-Standby hast, must Du natürlich zuerst einen Timer "Aufwachen aus Deep-Standby" programieren (glaube ich wenigstens, hab noch nicht ausprobiert, ob ein Umschalttimer die Box auch aus dem Deep-Standby weckt)
-
- Einsteiger
- Beiträge: 372
- Registriert: Donnerstag 18. Dezember 2003, 18:45
Hi Alex,
also das waren ja nur Beispiele. Ich würde zum Beispiel über nacht meine Termine mit der Box abgleichen wollen, usw.. Also ShellScripts ausführen können. Das wäre dann mit einfachen mitteln ein Vollwertiger Ersatz für eine crontab. TimerD läuft ja bereits als Daemon, sogar im Deep Standby.
Ich gehe mal ins Detail:
Abgleich meiner tuxcal.list vom Server
Holen der Nummern aus meinem isdn.log, um zu sehen wer anrief
usw usw..
Mir fallen da jetzt auch nicht tausende von Dingen ein, aber es wäre sicherlich kein großes Problem das zu implementieren, wenn man es kann, und es würde die Box um eine echte crontab Funktion bereichern. Es muß nicht jeder nutzen, und eigentlich mag ich solche Gegenfragen: "Wozu brauchst du Scripte" nicht besonders. Es gibt etliche Anwendungsmöglichkeiten für eine cron.
Nett wäre auch noch, wenn man die Box aus dem Deep StandBy in den normalen StandBy holen könnte, so daß der TV nicht angeht. Ansonsten wird man (jeh nach lautstärke des gestrigen abends) ja des nachts wach
also das waren ja nur Beispiele. Ich würde zum Beispiel über nacht meine Termine mit der Box abgleichen wollen, usw.. Also ShellScripts ausführen können. Das wäre dann mit einfachen mitteln ein Vollwertiger Ersatz für eine crontab. TimerD läuft ja bereits als Daemon, sogar im Deep Standby.
Ich gehe mal ins Detail:
Abgleich meiner tuxcal.list vom Server
Holen der Nummern aus meinem isdn.log, um zu sehen wer anrief
usw usw..
Mir fallen da jetzt auch nicht tausende von Dingen ein, aber es wäre sicherlich kein großes Problem das zu implementieren, wenn man es kann, und es würde die Box um eine echte crontab Funktion bereichern. Es muß nicht jeder nutzen, und eigentlich mag ich solche Gegenfragen: "Wozu brauchst du Scripte" nicht besonders. Es gibt etliche Anwendungsmöglichkeiten für eine cron.
Nett wäre auch noch, wenn man die Box aus dem Deep StandBy in den normalen StandBy holen könnte, so daß der TV nicht angeht. Ansonsten wird man (jeh nach lautstärke des gestrigen abends) ja des nachts wach
-
- Senior Member
- Beiträge: 394
- Registriert: Freitag 9. November 2001, 00:00
-
- Einsteiger
- Beiträge: 372
- Registriert: Donnerstag 18. Dezember 2003, 18:45
DankeDirch hat geschrieben:also ich find die idee nicht wirklich schlecht, obwohl es nicht brauche . . .
Wie gesagt - die Ideen kommen sicher, wenn die Funktion erstmal da ist. Möglichkeiten gibt es etliche. das regt vielleicht wieder einige kreative Toolauthoren an.
Dirch hat geschrieben: aber es sollte reichen ein neues TimerEvent zu erzeugen das halt nen externes programm startet.
Hmm.. dann wäre nur ein "external event" möglich?
Also ich dachte ja so.. der Timer hat doch bereits etliche Events, wobei immer Funktion "X" ausgeführt wird. wakeUp, Erinnerung, usw.. Theoretisch mußte das möglich sein, zu Uhrzeit XYZ das command ABC zu starten. Naja, lasse mich mal überraschen
-
- Senior Member
- Beiträge: 394
- Registriert: Freitag 9. November 2001, 00:00
aehh jeinen-total hat geschrieben:Dirch hat geschrieben: aber es sollte reichen ein neues TimerEvent zu erzeugen das halt nen externes programm startet.
Hmm.. dann wäre nur ein "external event" möglich?
Also ich dachte ja so.. der Timer hat doch bereits etliche Events, wobei immer Funktion "X" ausgeführt wird. wakeUp, Erinnerung, usw.. Theoretisch mußte das möglich sein, zu Uhrzeit XYZ das command ABC zu starten. Naja, lasse mich mal überraschen
also im prinzip hast du es richtig verstanden, es gibt schon verschiedene events wie zapto, record, etc. was noch fehlt ist ein ExecuteEvent dem man dann einen command und die parameter dafuer mitgibt. Welcher command/befehl/script das dann ist is egal.
Das Event koennte z.B. so aussehen:
Code: Alles auswählen
class CTimerEvent_Execute : public CTimerEvent
{
public:
char command[COMMAND_MAXLEN];
char parameter[COMMAND_MAXLEN];
CTimerEvent_Execute( time_t announceTime, time_t alarmTime, char* msg, CTimerd::CTimerEventRepeat evrepeat = CTimerd::TIMERREPEAT_ONCE);
CTimerEvent_Execute(CConfigFile *config, int iId);
virtual void fireEvent();
virtual void announceEvent();
virtual void stopEvent();
virtual void saveToConfig(CConfigFile *config);
};
-
- Einsteiger
- Beiträge: 372
- Registriert: Donnerstag 18. Dezember 2003, 18:45
Ahja, dann OK so. Das meinte ich dann auch gesagt zu habenDirch hat geschrieben: also im prinzip hast du es richtig verstanden, es gibt schon verschiedene events wie zapto, record, etc. was noch fehlt ist ein ExecuteEvent dem man dann einen command und die parameter dafuer mitgibt. Welcher command/befehl/script das dann ist is egal.
Auha! Na, vielleicht erbarmt sich ja jemand. Hmm.. i h überlege mir mal ein gutes Beispiel für ne Anwendung, inzwischenDas Event koennte z.B. so aussehen:siehe timermanager.hCode: Alles auswählen
class CTimerEvent_Execute : public CTimerEvent { public: char command[COMMAND_MAXLEN]; char parameter[COMMAND_MAXLEN]; CTimerEvent_Execute( time_t announceTime, time_t alarmTime, char* msg, CTimerd::CTimerEventRepeat evrepeat = CTimerd::TIMERREPEAT_ONCE); CTimerEvent_Execute(CConfigFile *config, int iId); virtual void fireEvent(); virtual void announceEvent(); virtual void stopEvent(); virtual void saveToConfig(CConfigFile *config); };
-
- Einsteiger
- Beiträge: 372
- Registriert: Donnerstag 18. Dezember 2003, 18:45
Das ging jetzt Fix, weil meine Frau vor dem TV gerade meckerte, ob ich nicht den Tuxmail abschalten könne.
Also eine Anwendung wäre zum Beispiel zur "PrimeTime", also 20:00, den Tuxmail killen. Klar, kann man manuell machen, aber wer denkt da ständig dran? Tuxmail könnte man somit zeitgesteuert arbeiten lassen.
Hmm.. OK, ist ein lames Beispiel
Also eine Anwendung wäre zum Beispiel zur "PrimeTime", also 20:00, den Tuxmail killen. Klar, kann man manuell machen, aber wer denkt da ständig dran? Tuxmail könnte man somit zeitgesteuert arbeiten lassen.
Hmm.. OK, ist ein lames Beispiel