Cron “sık sık” işlerde kalanları nasıl ele alıyor?


13

Bunu yaparsam:

*/9 * * * * /path/to/wotnot

Saat 09.00'dan başlayarak görev iki saatte ne zaman başlayacak

Bu bir:

09h00
09h09
09h18
09h27
09h36
09h45
09h54
10h03
10h12
10h21
10h30
10h39
10h48
10h57

veya B:

09h00
09h09
09h18
09h27
09h36
09h45
09h54
10h00
10h09
10h18
10h27
10h36
10h45
10h54

Yanıtlar:


31

Bir aralığa baktığınızda, yalnızca bu sütun içinde yorumladığınızdan, dakika sütunundaki '* / 9', "her dakika listeleyin, ardından her dokuzuncu değeri seçin" anlamına gelir. Bu seçim saatin en üstünde sıfırlanır, böylece her saatte xx: 00, xx: 09, xx: 18 vb.

Ayrıca, "her saatte dokuz dakikada bir" olarak da okunabilir, bu da saatin üst kısmındaki sıfırlamayı gerektirir.

Göreceğiniz gerçek davranış B seçeneğine karşılık gelir.


Soruyu gerçekten cevaplamış gibi görünen tek cevap bu. Emin olmak için bunu denedin mi?
gparent

Son 10 dakika içinde mi? Hayýr. Son üç ay içinde mi? Evet, ancak dokuz dakikalık bir aralıkta değil.
John

Neden yaptýđýn zaman niye umursadýđýmý anlamýyorum ama sadece. Teşekkür ederim.
gparent

1
Eski çalışma arkadaşlarının "hayır, bunu test etmedin, hatalı hafızanıza güveniyorsun!" benzer durumlarda (elbette, 5 dakika sonra hala çalıştığını kanıtladıktan sonra rahatsız olurlar), bu yüzden önceden buna karşı korunma alışkanlığı oluşturdum.
John

2
Testin ilk adımı, müşteri ile aynı marka ve sürüme sahip olduğunuzdan emin olmaktır (bu durumda Jesse). Burada hangi cronu kullandığına dair hiçbir ipucu görmüyorum. (Muhtemelen Vixie Cron ve bu temel özellik muhtemelen bu programın sürümlerinde kararlı.)
Kaz

22

John'un cevabını doğrulamak için */n, dakika sütununda "dakika 0 mod n olduğunda" anlamına gelir. İşte bir crontabgiriş:

*/7 * * * *  date >> /tmp/foo

ve işte çıktı:

Thu Jan 10 14:49:01 GMT 2013
Thu Jan 10 14:56:01 GMT 2013
Thu Jan 10 15:07:01 GMT 2013

Son iki kez arasındaki boşluğun yedi dakika olmadığına dikkat edin , çünkü nn: 56'dan sonra bir sonraki */7eşleşme `nn + 1: 07'dir.

Evet, o zamanların gelecekte olduğunun farkındayım (ya da bunu yayınladığım zamanlardı); Hızlı bir cevap almak için sistem saatini oldukça hızlı ileri sürmem gerekiyordu.


5
Çaba için +1 :)
Sven
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.