* * * * * lässt den Auftrag jede Minute laufen, rund um die Uhr, an jedem Tag des Jahres. Alle fünf Felder stehen auf Stern, was Cron als „jeder Wert“ liest. Das sind 1.440 Läufe pro Tag. Prüfe deshalb vorher, ob der Auftrag zuverlässig in deutlich unter einer Minute fertig wird.
Wie oft läuft * * * * * wirklich?
Sechzigmal pro Stunde, 1.440-mal pro Tag. Eine Minute ist zugleich die feinste Auflösung der klassischen Crontab: Ein Sekundenfeld gibt es nicht. Wer schneller takten will, braucht einen systemd-Timer, einen dauerhaft laufenden Dienst oder eine Schleife im Skript. Der erste Lauf kommt zur nächsten vollen Minute nach dem Speichern der Crontab.
Was passiert, wenn ein Lauf länger als eine Minute dauert?
Cron wartet nicht. Der nächste Lauf startet pünktlich, auch wenn der vorige noch arbeitet. Ein Skript, das zwei Minuten braucht, läuft dann dauerhaft in zwei Kopien, und auf einem ausgelasteten Server wächst daraus binnen Stunden ein Stapel hängender Prozesse. Die übliche Absicherung ist eine Sperre: flock -n auf eine Sperrdatei, dann beendet sich der zweite Start sofort.
Wann ist der Minutentakt die richtige Wahl?
Selten. Sinnvoll ist er für kurze lokale Prüfungen: eine Warteschlange abarbeiten, ein Lebenszeichen schreiben, eine Datei auf Änderungen ansehen. Alles, was fremde Programmierschnittstellen anspricht, gehört auf ein längeres Intervall, denn 1.440 Anfragen pro Tag laufen schnell ins Ratenlimit. Und wer eigentlich „sofort reagieren“ meint, fährt mit einem dauerhaften Dienst samt Warteschlange besser als mit jedem Zeitplan.
So trägst du den Ausdruck ein
- Crontab mit crontab -e öffnen – und zwar als der Benutzer, dessen Rechte der Auftrag braucht.
- Die Zeile * * * * * /pfad/zum/skript.sh eintragen und speichern.
- Den Befehl in flock -n /tmp/meinjob.lock einpacken, damit ein langsamer Lauf den nächsten nicht überholt.
- Die ersten Läufe im Log mitlesen, bevor du den Auftrag sich selbst überlässt.