Aufbau der crontab:
* * * * * Befehl
┬ ┬ ┬ ┬ ┬
│ │ │ │ │
│ │ │ │ └──── Wochentag (0-7, Sonntag ist 0 oder 7)
│ │ │ └────── Monat (1-12)
│ │ └──────── Tag (1-31)
│ └────────── Stunde (0-23)
└──────────── Minute (0-59)
Erklärung:
1 2 3 4 5 Befehl
1 = Minute (0-59)
2 = Stunde (0-23)
3 = Tag (0-31)
4 = Monat (1-12)
5 = Wochentag (0-7, Sonntag ist 0 oder 7)
Befehl = Der auszuführende Befehl, am besten mit Pfad
Wie kann man unter Linux mit der crontab ein Script alle paar Sekunden ausführen lassen?
Normalerweise ist die kleinste Zeit – Einheit“ 1 x pro Minute, wenn alle Sternchen gesetzt sind
Mit einem Trick kann man trotzdem alle paar Sekunden ein Programm / File starten
Um ein Skript alle 30 Sekunden auszuführen, legt man seinen Cronjob einfach doppelt an
und lässt den zweiten einfach 30 Sekunden schlafen.
Während das erste Skript einmal pro Minute startet, wartet das zweite Skript zunächst 30 Sekunden.
Hier sind mehrere Beispiele, wir gehen davon aus unser Script heisst: mybatch.sh und liegt im Ordner /home/username
Cronjob alle 30 Sekunden ausführen
* * * * * /home/username/mybatch.sh
* * * * * sleep 30; /home/username/mybatch.sh
Cronjob alle 15 Sekunden ausführen
Um das Skript alle 15 Sekunden laufen zu lassen, sollte man es vier Mal starten lassenb und die Sleep-Zeit entsprechend anpassen:
* * * * * /home/username/mybatch.sh
* * * * * sleep 15; /home/username/mybatch.sh
* * * * * sleep 30; /home/username/mybatch.sh
* * * * * sleep 45; /home/username/mybatch.sh
Cronjob alle 10 Sekunden ausführen
Hier noch das Beispiel für alle 10 Sekunden Asuführung…
* * * * * /home/username/mybatch.sh
* * * * * sleep 10; /home/username/mybatch.sh
* * * * * sleep 20; /home/username/mybatch.sh
* * * * * sleep 30; /home/username/mybatch.sh
* * * * * sleep 40; /home/username/mybatch.sh
* * * * * sleep 50; /home/username/mybatch.sh
Vielleicht hilft es Euch ja weiter…
Views: 795