Jenereta ya Misemo ya Cron

Tengeneza ratiba ya cron sehemu kwa sehemu, ona maana yake kwa maelezo rahisi, na nakili mstari wa crontab — au chagua mfano wa kawaida ili kuanza.

Kila 5 dakika.
Mifano ya Kawaida

Tengeneza Misemo ya Cron Papo Hapo

Weka kila sehemu — dakika, saa, siku ya mwezi, mwezi, na siku ya wiki — na upate mstari wa crontab ulio tayari kutumika pamoja na maelezo rahisi.

Kila kitu kinafanya kazi moja kwa moja kwenye kivinjari chako — hakuna data inayotumwa popote, na hakuna ratiba zinazohifadhiwa.

Msemo wa Cron Ni Nini?

Msemo wa cron ni mpangilio wa sehemu tano unaotumiwa na mifumo inayofanana na Unix ili kupanga amri ziendeshwe kiotomatiki kwa nyakati, tarehe, au vipindi maalum.

Kila sehemu inadhibiti kipimo tofauti cha muda — dakika, saa, siku ya mwezi, mwezi, na siku ya wiki — na kwa pamoja zinabainisha hasa wakati kazi inapaswa kuendeshwa.

Muundo wa Sehemu za Cron

Dakika 0–59
Saa 0–23
Siku ya mwezi 1–31
Mwezi 1–12
Siku ya wiki 0–6 (0 = Jumapili)

Alama Maalum

* Thamani yoyote — inalingana na thamani yoyote inayowezekana kwa sehemu hiyo
, Kitenganishi cha orodha ya thamani — mfano 1,15 inamaanisha tarehe 1 na 15
- Wigo wa thamani — mfano 1-5 inamaanisha Jumatatu hadi Ijumaa
/ Thamani za hatua — mfano */15 inamaanisha kila vipimo 15

Kwa Nini Kutumia Jenereta ya Cron?

  • Epuka makosa ya muundo yanayovuruga kazi zilizopangwa kimya kimya
  • Ona maelezo rahisi kabla ya kutumia ratiba
  • Anzia kwa mfano wa kawaida badala ya kuandika kutoka mwanzo
  • Pata mstari wa crontab ulio tayari kubandikwa, ukiwa na amri ya hiari
  • Hauhitaji usakinishaji au akaunti

Jinsi ya Kutengeneza Msemo wa Cron

  1. Weka sehemu za dakika, saa, siku, mwezi, na siku ya wiki — au chagua mfano wa kawaida
  2. Kwa hiari, ongeza amri unayotaka kuendesha
  3. Angalia maelezo rahisi ili kuthibitisha ratiba ni sahihi
  4. Nakili mstari wa crontab na ubandike kwenye faili yako ya crontab

Mbinu Bora za Cron

Pendelea nyakati maalum badala ya ratiba za mara kwa mara sana — kuendesha kazi kila dakika wakati kila dakika 5 au 15 ingefaa kunapoteza rasilimali.

Wakati kazi inategemea siku ya mwezi na siku ya wiki kwa pamoja, kumbuka utekelezaji mwingi wa cron unachukulia sehemu hizo mbili kama AU (OR), si NA (AND).

Daima rekodi matokeo ya kazi zilizopangwa (mfano, elekeza kwenye faili) ili makosa yasipite bila kutambuliwa.

Matumizi ya Kawaida

  • Hifadhi rudufu za hifadhidata kiotomatiki
  • Mzunguko wa kumbukumbu na kazi za usafishaji
  • Uzalishaji wa ripoti uliopangwa
  • Uongezaji joto wa hifadhi ya muda au ubatilishaji wake
  • Kutuma muhtasari wa barua pepe za mara kwa mara
  • Kusawazisha data kati ya mifumo
  • Ukaguzi wa afya na ping za ufuatiliaji
  • Kuhuisha vyeti au tokeni

Maswali Yanayoulizwa Mara kwa Mara

Kazi ya cron inaendeshwa kwenye eneo la saa gani?

Kwa default, cron hutumia eneo la saa la ndani la mfumo. Baadhi ya mifumo hukuruhusu kuweka eneo la saa maalum kwa kila kazi au kwa crontab — angalia hati za mfumo wako.

Je, misemo ya cron inaweza kujumuisha sekunde?

Cron ya kawaida ya Unix inasaidia sehemu tano tu (dakika na zaidi), bila sehemu ya sekunde. Baadhi ya vipanga ratiba, kama Quartz, vinasaidia sehemu ya sekunde ya hiari, lakini hilo ni muundo tofauti.

Nini kinatokea ikiwa nitaweka siku ya mwezi na siku ya wiki kwa pamoja?

Utekelezaji mwingi wa cron unaendesha kazi ikiwa sharti lolote linalingana (AU, si NA). Ili kuendesha tu kwenye tarehe maalum ambayo pia inaangukia siku maalum ya wiki, kwa kawaida unahitaji mantiki ya ziada kwenye script yenyewe.

Ninawezaje kupima msemo wa cron kabla ya kuutumia?

Angalia maelezo rahisi yanayoonyeshwa hapa ili kuthibitisha yanalingana na nia yako, kisha thibitisha kwenye mfumo wako halisi kwa ratiba ya majaribio ya muda mfupi kabla ya kuitegemea katika uzalishaji.

Je, nitumie cron au vipima muda vya systemd?

Cron ni rahisi na inafanya kazi kila mahali, hivyo kuifanya bora kwa kazi za moja kwa moja zinazorudiwa. Vipima muda vya systemd vinatoa udhibiti zaidi (utegemezi, urekodi, na kushughulikia utekelezaji uliokosekana) na ni chaguo zuri kwenye mifumo ambayo tayari inatumia systemd.

JUU