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
Hat jemand eine tolle Idee?
Ciao, micbur
Time-Trigger-Bash erstellen - Zeit des letzten Aufrufs merken
-
- prolinux-forum-admin
- Posts: 1444
- Joined: 26. Jun 2004 21:18
- Contact:
Code: Select all
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
MfG, Klopskuchen
When all else fails, read the instructions .
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
Ciao, micbur
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
Ciao, micbur
-
- prolinux-forum-admin
- Posts: 1444
- Joined: 26. Jun 2004 21:18
- Contact:
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:Hmmm, export funktioniert aber nur...
- 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.
VAR=`cat lockfile` VAR enthält dann entweder eine 0 oder eine 1.wie ich eine Datei in der Shell auslesen kann
Einen String (zB. `date`) kannst du mit cut oder awk zerlegen.
MfG, Klopskuchen
When all else fails, read the instructions .