
Ich habe einen Cron-Job auf CentOS, den ich alle 3 Minuten ausführen möchte, aber ich habe viele andere Cron-Jobs, die alle 3 Minuten ausgeführt werden, beginnend bei 0, 3, 6, 9 usw.
Um eine zu starke Überlastung meines Servers zu vermeiden, wollte ich, dass einige meiner Crons alle 3 Minuten, aber ab 1 Minute usw. ausgeführt werden: 1, 4, 7 ...
Meine Crons sind normalerweise so:
*/3 * * * *
Wie kann ich das machen?
Antwort1
Die typischere und prägnantere Angabe ist „1-59/3“, was „alle 3 Minuten beginnend bei 1“ bedeutet.
Antwort2
Zusätzlich zu heemayls Antwort könnten Sie die gewünschten Minuten auflisten, obwohl dies weniger kompakt und wahrscheinlich fehleranfälliger ist als die vorhandene Methode:
1,4,7,10,13,16,19,22,25,28,31,34,37,40,43,46,49,52,55,58 * * * * some_command
Antwort3
Sie können es sleep 60
als ersten Befehl verwenden, sodass der Befehl, den Sie ausführen möchten, tatsächlich nach 1 Minute ausgeführt wird, während die cron
Zeit wie folgt eingehalten wird */3
:
*/3 * * * * sleep 60 && some_command