*/20 * * * *
Zapewnia, że uruchamia się co 20 minut. Chciałbym uruchamiać zadanie co 20 minut, zaczynając od 5 po godzinie, czy jest to możliwe w przypadku Crona? Czy może być:
5/20 * * * *
?
*/20 * * * *
Zapewnia, że uruchamia się co 20 minut. Chciałbym uruchamiać zadanie co 20 minut, zaczynając od 5 po godzinie, czy jest to możliwe w przypadku Crona? Czy może być:
5/20 * * * *
?
Odpowiedzi:
Aby uruchomić zadanie co 20 minut, zaczynając o 5 po godzinie, spróbuj wykonać następujące czynności:
5-59/20 * * * *
Wyjaśnienie
*
W dziedzinie minut jest taki sam, jak 0-59/1
w którym 0-59
jest zakres i 1
jest krok . Polecenie będzie uruchamiane od pierwszej minuty w zakresie (0), a następnie we wszystkich kolejnych minutach, które są odległe od pierwszego krok po kroku (1), aż do ostatniej (59).
Dlatego */20 * * * *
będzie działał o 0 minutach, 20 minutach później i 40 minutach później - czyli tak samo jak co 20 minut. Jednak */25 * * * *
będzie działać o 0 minutach, 25 minutach później i 50 minutach później - co nie jest takie samo jak co 25 minut. Dlatego zwykle pożądane jest użycie wartości kroku w polu minuty, która dzieli się równomiernie na 60.
Aby więc przesunąć czas rozpoczęcia, jawnie określ zakres i ustaw pierwszą wartość na wartość przesunięcia.
Przykłady
5-59/20 * * * *
będzie działać po 5 minutach, 25 minutach później i 45 minutach później.
10-59/25 * * * *
będzie działać po 10 minutach i po 35 minutach.
1-59/2 * * * *
będzie działać co nieparzystą minutę.
Pewnie!
5,25,45 * * * * /your/cron
5-59/20
to możliwe, ale 5,25,45
ma tę zaletę, że od razu bardzo jasne, co to robi.
Możesz spróbować: */5 * * * * sleep N; your job
sleep `shuf -i 1-100 -n 1`
Zrób sztuczkę.