2013-02-22 11 views
20

Próbuję uzyskać proste zadanie crontab, które będzie uruchamiane co 15 minut i mam problem z wyborem formatowania taktowania.Formatowanie crontab - co 15 minut

Co byłem odkładając jest następujący:

15 * * * * ------------------------ 

Jestem całkiem pewien, że to właśnie działa pierwszych 15 minut każdej godziny.

myślę, że crontab pozwala określić dokładny czas do uruchomienia, a mianowicie:

0, 15,30,45 * * * * ------------------------- 

Ale gdybym chciał uruchomić crontab co 15 minut od chwili, kiedy go uruchomić, (które nie mogą być koniecznie na wartość podzielną przez 15), w jaki sposób mam zamiar sformatować, że jest to możliwe?

+0

Co to jest "moment, w którym go uruchomisz"? Kiedy skończysz 'crontab -e'? Kiedy system się uruchamia? –

Odpowiedz

34

Crontab nie pamięta, co razem „wstępne” (przypuszczalnie razem, gdy wykonywana komenda crontab -e lub crontab filename).

Jeśli chcesz uruchomić zadanie co 15 minut, zaczynając od arbitralnego czasu, musisz określić ten czas. Następująco:

7-59/15 * * * * command 

zostanie uruchomiony po 7, 22, 37 oraz 52 minut po każdej godzinie. Zakładamy, że korzystasz z Vixie cron, która jest najczęstszą implementacją. Dla lepszego przenoszenia, można użyć:

7,22,37,52 * * * * command 

I pamiętać, że nie może mieć miejsca w żadnym z pierwszych 5 dziedzinach; 0, 15,30,45, jak w pytaniu, jest nieważny.

+1

Dla przejrzystości - crond działa raz na minutę. To jest demon, który uruchamia dla ciebie elementy crontabu. Jeśli NIE użyjesz crontab do edycji pliku crontab, crond nie zobaczy zmian. Jeśli używasz crontab, "teraz" jest pierwszym wykonaniem crond po zapisaniu pliku. –

+0

@jimmcnamara: Jeśli użyjesz czegoś innego niż 'crontab' do edycji pliku crontab - cóż, po prostu tego nie rób. Bezpośrednie edytowanie pliku wymaga (a) ustalenia, gdzie on jest i (b) korzystania z uprawnień administratora. Nie używaj uprawnień roota do * niczego *, chyba że jest to konieczne i wiesz, co robisz. –

+1

'7/15' jako minutę nie jest obsługiwane w systemie Ubuntu 16.04.2 LTS. '*/15' działa – sdaffa23fdsf

26

Formatowanie crontab w taki sposób, aby uruchamiał się co 15 minut.

*/15 * * * * [path/to/script]

+9

Najpopularniejsza implementacja 'crontab' obsługuje tę składnię. Jeśli potrzebujesz maksymalnej przenośności, zmień '*/15' na' 0,15,30,45'. –

Powiązane problemy