Sie sind nicht angemeldet.

JustJ

User

  • »JustJ« ist männlich
  • »JustJ« ist der Autor dieses Themas

Beiträge: 14

Registrierungsdatum: 09.04.2008

Derivat: Ubuntu

Architektur: 32-Bit PC

  • Nachricht senden

1

12.05.2008, 00:52

Abfrage nur in einem bestimmten zeitfenster bestätigen.

Ich habe gerade das programm CheckGmail installiert was (wie der name sagt) ein Gmail account auf neue nachrichten überprüft. In dem programm ist es möglich ein script einzustellen das bei einer neuen ankommenden nachricht ausgeführt wird, das wäre in meinem Fall eine mit aplay abgespiele wav datei. Leide kann es sein dass irgendwelche forum nachrichten oder ähnliche nachts um 4 ankommen zu welcher zeit ich über eine audible notifikation nur bedingt erfreut wäre. Meine frage ist ob es möglich ist per script ein Programm nur in einem bestimmten zeitfenster (wenn möglich für jeden tag einstellbar) auszuführen bzw eine funktion die wenn sie in diesem zeitfenster ausgeführ wird true oder 1 oder irgendwas ausgibt.
Vielen dank schonmal,
Jonathan
Jerver Status | Samba : working | VsFTP : working | SSH : working | Ampache : working | MPD : working | uTorrent : working | Espeak with Mbrola : working | Voice recognition : working on it | Synergy : working | eMail : planned | Apache : working | Mysql :working | Webmin : working |

2

12.05.2008, 02:15

Hi,

Da Dein Rechner offenbar 24/7 läuft (und keinen Lautstärkeregler hat :D ), wäre das ein Fall für einen Cron-Job.
Der kann Dir für beliebige Tage und Zeiten so einen Ein/Aus-Schalter erzeugen. Je nachdem, wie das fragliche Gebimmel-Skript aufgerufen wird, könnte man zB. morgens eine Datei erzeugen und abends wieder löschen lassen. Der Aufruf des Skripts müßte dann von der Existenz dieser Datei abhängig gemacht werden.
Also morgens das Kommando

Quellcode

1
touch ~/BimmelAn
und abends

Quellcode

1
rm ~/BimmelAn

Der Aufruf für das Script selbst wäre dann etwa

Quellcode

1
[ -f ~/BimmelAn ] && <das_script>

Über die vielen Möglichkeiten der Zeiteinstellung steht was in

Quellcode

1
man 5 crontab
Beim Erstellen dieser Nachricht kamen keine Tiere zu Schaden.
me is all sausage
but don't call me Ferdl

JustJ

User

  • »JustJ« ist männlich
  • »JustJ« ist der Autor dieses Themas

Beiträge: 14

Registrierungsdatum: 09.04.2008

Derivat: Ubuntu

Architektur: 32-Bit PC

  • Nachricht senden

3

12.05.2008, 11:54

Jo, der rechner läuft 24/7 und da ich mit dem auch musik hör (teilweise bis spät abends, zu welchen zeitpunkt ich aber keine wunderbar synthetische stimme höhren will die mir sagt dass ich eine incomming message habe) hat der hardwareseitig eine fixe lautstärke.
Hmm an die idee mit cron hab ich schon gedacht aber auf die BimmelAn datei bin ich noch nicht gekommen, das lässt sich auch wunderbar manuell einstellen, Jo das mach ich, vielen dank :thumbsup:
PS ich glaub ich nenn die datei echt bimmelan, das hat was :D

Edit, auf welches verzeichnis haben bei linux alle benutzer schreib und lösch zugriff, bzw, wann wird /tmp gelöscht?
Jerver Status | Samba : working | VsFTP : working | SSH : working | Ampache : working | MPD : working | uTorrent : working | Espeak with Mbrola : working | Voice recognition : working on it | Synergy : working | eMail : planned | Apache : working | Mysql :working | Webmin : working |

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »JustJ« (12.05.2008, 11:54)


4

12.05.2008, 13:27

auf welches verzeichnis haben bei linux alle benutzer schreib und lösch zugriff, bzw, wann wird /tmp gelöscht?
Hat das jetzt direkt etwas mit der Bimmeldatei zu tun?
Ansonsten müßte man erst genauer definieren, wer als 'alle Benutzer' gemeint sein soll. Wirklich alle (inklusive Systembenutzer), alle dem System bekannten echten Menschen, oder auch die ganze Menschheit mit Zugang zu dem Rechner... Kommt vor allem drauf an, wer da jetzt was dürfen soll.
Für den gegenständlichen Zweck wäre wohl entweder Dein home-Verzeichnis oder /tmp/ der richtige Ort.
Letzteres wird bei mir beim Booten ausgemistet, obwohl ich jetzt nicht genau sagen kann, welches boot-script das erledigt.
Beim Erstellen dieser Nachricht kamen keine Tiere zu Schaden.
me is all sausage
but don't call me Ferdl

JustJ

User

  • »JustJ« ist männlich
  • »JustJ« ist der Autor dieses Themas

Beiträge: 14

Registrierungsdatum: 09.04.2008

Derivat: Ubuntu

Architektur: 32-Bit PC

  • Nachricht senden

5

12.05.2008, 13:43

Jo, ich würde die datei dann für den ganzen rechner bzw alle benutzer (Mein user, root und bestimmte programmspezifische benutzer) schreib unr löschbar machen, kann ich das gleich bei touch machen oder muss ich die chmodden?
Jerver Status | Samba : working | VsFTP : working | SSH : working | Ampache : working | MPD : working | uTorrent : working | Espeak with Mbrola : working | Voice recognition : working on it | Synergy : working | eMail : planned | Apache : working | Mysql :working | Webmin : working |

6

12.05.2008, 14:45

Jo, ich würde die datei dann für den ganzen rechner bzw alle benutzer (Mein user, root und bestimmte programmspezifische benutzer) schreib unr löschbar machen, kann ich das gleich bei touch machen oder muss ich die chmodden?
Der Inhaber der Datei darf eh alles damit machen, root sowieso, wer da noch dürfen soll mußt Du irgendwie festlegen.
Ich würde es so machen: Such Dir eine Gruppe aus zu der alle gehören, die die Datei ändern können sollen (audio wäre vielleicht passend); ansonsten lege eben eine neue Gruppe an und füge ihr die gewünschten user zu.
Für den cron-job brauchen wir jetzt einen Speicherort für die Datei. Für mehrere User wäre jetzt /tmp/ ideal. Dieses hat aber (bei mir zumindest) das Sticky-bit gesetzt, d.h. nur der Erzeuger der Datei kann sie auch wieder löschen. Also das Konzept ändern: Wir prüfen und ändern nicht die Existenz der Datei, sondern deren Inhalt.
Das Kommando im cron-job lautet dann morgens:

Quellcode

1
echo ein > /tmp/bimmel; chown :audio /tmp/bimmel; chmod g+w /tmp/bimmel

und abends das gleiche nur mit 'echo aus > /tmp/bimmel'
Die Abfrage, ob Dein Programm zu einem Zeitpunkt das Audioscript ausführen soll oder nicht, bezieht sich dann auf den Inhalt der Datei:

Quellcode

1
[ `grep ein /tmp/bimmel` ] && <audioscript>
Beim Erstellen dieser Nachricht kamen keine Tiere zu Schaden.
me is all sausage
but don't call me Ferdl

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »fredl99« (12.05.2008, 14:45)