Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
Time-Trigger-Bash erstellen - Zeit des letzten Aufrufs merken

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Programmieren - Allgemein
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
micbur



Anmeldungsdatum: 05.06.2004
Beiträge: 86

BeitragVerfasst am: 01. Jul 2006 13:58   Titel: Time-Trigger-Bash erstellen - Zeit des letzten Aufrufs merken

Hallo,

mein Webhoster erlaubt mir einen Cronjob zu erstellen bzw. das ist in meinem Hostingpaket enthalten. Nun habe ich aber mehr als nur einen Job zu tun. Dafür habe ein Shell-Script geschrieben. Allerdings gibt es Jobs, die länger dauern, als mein Intervall gewählt ist.

Daher meine Frage, wie man da vorgehen könnte, Script zu schreiben, dass wie ein Time-Trigger funktioniert.

Ich müsste also mir über mehrere Shellaufrufe hinweg mir merken, wann ein Job das letzte mal gestartet wurde. Aber wie mache ich das?

Ich suche also momentan eher Idden, als fertige Script. Das will ich ja auch alleine schreiben Wink

Hat jemand eine tolle Idee?

Ciao, micbur
 
Benutzer-Profile anzeigen Private Nachricht senden

klopskuchen
prolinux-forum-admin


Anmeldungsdatum: 26.06.2004
Beiträge: 1444

BeitragVerfasst am: 01. Jul 2006 14:46   Titel:

Code:
wenn: (inhalt_lockfile == 1)
   Abbruch;
wenn: ( (TIME - TIMEVAR) < Intervall )
   Abbruch;

schreibe 1 nach lockfile;
tu_was()
export TIMEVAR = "irgendwas mit date";
schreibe 0 nach lockfile


TIMEVAR kann natürlich auch ein String in einer Datei sein statt einer Umgebungsvariable, je nach Umfeld.


MfG, Klopskuchen
_________________
When all else fails, read the instructions .
 
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen

micbur



Anmeldungsdatum: 05.06.2004
Beiträge: 86

BeitragVerfasst am: 01. Jul 2006 15:07   Titel:

Hmmm, export funktioniert aber nur, wenn der Cronjob nicht in einer extra Shell ausgeführt wird. Ich bin aber ein anderer Nutzer als der Cronjob. Es ist wahrscheinlich, dass eine extra Shell benutzt wird.

Meinst du nicht?

Aber danke für die Idee.

Das mit der Datei habe ich mir auch schon überlegt, aber dann fiel mir nur ein, dass ich noch nicht weiß, wie ich eine Datei in der Shell auslesen kann. Java ist auch nicht installiert, sonst wäre ich ja schon beinache fertig Wink

Ciao, micbur
 
Benutzer-Profile anzeigen Private Nachricht senden

klopskuchen
prolinux-forum-admin


Anmeldungsdatum: 26.06.2004
Beiträge: 1444

BeitragVerfasst am: 01. Jul 2006 15:24   Titel:

Zitat:
Hmmm, export funktioniert aber nur...

Das ist nur eine Möglichkeit. Obiges stellt keinen Anspruch auf Richtigkeit oder Vollständigkeit. Waren eben nur die ersten Gedanken dazu. Wichtig ist nur zwei Gegebenheiten zu testen:
- ins lockfile (oder Prozesstabelle) gucken ob "ich" sowieso gerade laufe
- ist die Zeit seit letzter Ausführung ran bzw. ist die aktuelle Zeit minus der der letzten Ausführung groß genung um erneut auszuführen
Wo du die Werte sicherst (export oder Datei) ist ja Wurscht.

Zitat:
wie ich eine Datei in der Shell auslesen kann

VAR=`cat lockfile` VAR enthält dann entweder eine 0 oder eine 1.
Einen String (zB. `date`) kannst du mit cut oder awk zerlegen.


MfG, Klopskuchen
_________________
When all else fails, read the instructions .
 
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen

micbur



Anmeldungsdatum: 05.06.2004
Beiträge: 86

BeitragVerfasst am: 01. Jul 2006 15:32   Titel:

[quote="klopskuchen"]
Zitat:

VAR=`cat lockfile`


Arhhg, ja, mit date mache ich das ja zu Hauf. Manchmal ist man wie ein Brett, starr und undurchsichtig.

Wenn das klappt, kann ich ja für jeden Job meine eigene runtime-Tabelle nutzen.
proc1:time1
proc2:time2
...

Naja, mal schaun.

Danke, micbur
 
Benutzer-Profile anzeigen Private Nachricht senden

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Programmieren - Allgemein Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy