Tovuti zinaweza Kuendesha Kazi zilizopangwa na Cron

saa

Tuna mifumo kadhaa ya ufuatiliaji ambayo inafanya kazi ambayo hufanya michakato mara kwa mara. Wengine hukimbia kila dakika, wengine mara moja usiku kulingana na kile wanachofanya. Kwa mfano, tunaweza kutekeleza hati inayouza wateja wote ambao hawajafanya ununuzi kwa siku 30 kuwatumia kuponi.

Badala ya kujaribu kufuatilia hizi zote kwa mkono, ni rahisi sana kujenga kazi ambazo zimepangwa na kutekelezwa kiatomati. Kwenye mifumo inayotegemea Unix, hii inafanikiwa na Cron. Kwa nyinyi watu ambao mnajua mnachofanya, jisikieni huru kunielimisha mimi na wasomaji ikiwa nitatupa habari yoyote isiyo ya kweli.

Ni bahati mbaya, lakini msanidi wa wavuti wa kawaida hajui kabisa Cron. Hata kama ziko, kampuni za kukaribisha wavuti mara nyingi hazitoi ufikiaji, au msaada wa, Cron. Mwenyeji wangu ni mmoja wa wa mwisho - wanakuruhusu kuitumia, lakini hawaiungi mkono.

Cron ni nini?

Cron inaitwa jina la Kiyunani Chronos, lenye maana wakati. Cron huendesha kwa kitanzi endelevu ili kuendesha kazi ambazo zinakusanywa na Crontab (labda ametajwa kwa tabkidonda. Kazi hizo kawaida hujulikana kama Cronjobs, na zinaweza kurejelea maandishi kwenye tovuti yako.

Maelezo ya Mchoro wa Cron

Ninawezaje kusanidi Crontab

Kupata Cron kukimbia kweli inaweza kuwa changamoto, kwa hivyo hii ndio niliyojifunza na jinsi nilivyofanya Ikiwa Suck:

  1. Niliweka hati yangu kuangalia Twitter API kuona ikiwa kuna mtu amejibu @ifuck. Nililinganisha ujumbe huo na ujumbe ambao tayari nimehifadhi kwenye wavuti, na kuingiza yoyote mpya.
  2. Mara tu hati ilipokuwa ikifanya kazi, niliwezesha ruhusa kwa Mtumiaji kutekeleza hati (744) na kuongeza kumbukumbu ya hati kwa faili yangu ya Cronjob - zaidi juu ya hiyo baadaye.
  3. Ikabidi niingie kwenye wavuti yangu kupitia SSH. Kwenye Mac, hiyo ilichukua kufungua Kituo na kuandika Jina la mtumiaji la SSH@domain.com ambapo jina la mtumiaji lilikuwa jina la mtumiaji nilitaka kutumia na kikoa kilikuwa tovuti. Kisha nikachochewa na nikapeana nywila.
  4. Kisha nikajaribu kutumia hati moja kwa moja kutoka kwa haraka ya amri kwa kuandika jina la faili na njia ya jamaa kwenye seva: /var/www/html/myscript.php
  5. Mara tu nilipofanya kazi kwa usahihi, niliongeza nambari muhimu ya Unix kwenye safu ya kwanza ya faili: #! / usr / bin / php -q . Ninaamini hii inaambia tu Unix kutumia PHP kutekeleza hati.
  6. Kwenye laini ya amri ya Kituo, niliandika crontab (wengine wanaweza kuhitaji kuchapa crontab -e) na hit Enter… na hiyo ndiyo tu ambayo ilihitajika!

Sintaksia ya Faili yako ya Cronjob

Kuhusiana na # 2 hapo juu, Cron hutumia mpango mzuri wa kuamua ni lini hati zako zitatekelezwa. Kwa kweli, unaweza kunakili na kubandika hii kwenye Cronfile yako (kwenye mwenyeji wangu, iko ndani / var / spool / cron / na jina la faili sawa na jina langu la mtumiaji).

# + —————-- dakika (0 - 59)
# | + ————- saa (0 - 23)
# | | + ——— - - siku ya mwezi (1 - 31)
# | | | + ——- - mwezi (1 - 12)
# | | | | + - - siku ya wiki (0 - 6) (Jumapili = 0 au 7)
# | | | | |
* * * * * /var/www/html/myscript.php

Hapo juu itafanya maandishi yangu kila dakika. Ikiwa ningetaka iendeshe mara moja kwa saa, ningeweka tu dakika ngapi baada ya saa ambayo ningetaka ianze, kwa hivyo ikiwa ilikuwa kwenye alama ya dakika 30

30 * * * * /var/www/html/myscript.php

Hakikisha umeweka ruhusa kwenye faili hii kama inayoweza kutekelezwa, pia! Niligundua kwamba sintaksia, ruhusa, na kutekeleza crontab kutoka kwa Dirisha la Kituo ni mambo muhimu zaidi. Kila wakati ningehifadhi faili, ningepata ruhusa zangu zinahitaji kuweka upya pia!

UPDATE: Ikiwa ungependa kuhakikisha kazi zinaendelea, njia moja tu ni kusasisha uwanja wa hifadhidata na mara ya mwisho hati kuendeshwa. Ikiwa ni nadra zaidi, unaweza tu kuandika barua pepe uliyotumiwa kwako.

Rasilimali za ziada za Cron:

Je! Ni kazi ngapi unaweza kutumia Cron?

8 Maoni

  1. 1

    Nakala iliyofunikwa vizuri juu ya kuanzisha cron, kwa mtu mpya kwa crojobs, sehemu ngumu zaidi katika kuanzisha cron ni kugundua muda wa utekelezaji wa cronjob, na ni jambo la kawaida kupata muda usiofaa mwanzoni mwa kujaribu. Ikiwa cronjobs yako ni nyeti ya wakati, ni vizuri kuingiza nambari kadhaa kwenye hati ili kuonyesha hali ili uweze kufahamishwa hali ya utekelezaji wa kazi.

  2. 2

    Hujambo Doug,

    Vitu kadhaa vya kuzingatia wakati unafanya kazi na kazi za cron.

    Kwanza, baada ya dazeni kadhaa, utatamani ungekuwa na UI, hifadhidata na sintaksia inayoonekana Kiingereza

    Pili, cron itatimua kazi hiyo kwa wakati uliowekwa, bila kujali ikiwa ombi la awali la kazi limekamilika. Kwa hivyo kuendesha kazi mara moja kwa dakika ambayo inachukua dakika 2 itasababisha haraka kazi sawa sawa.

    Ifuatayo, hakuna ripoti yoyote ya makosa wakati kitu kinakwenda sawa, kwa hivyo utahitaji kuongeza ripoti yako mwenyewe ya makosa.

    Nimezungumzia haya kwa njia kadhaa:
    - kuwa na programu iliyosababishwa kupitia kutazama kwa cron kwenye hifadhidata ili kuamua ni nini kinahitaji kuendeshwa. Endesha mara moja kwa dakika au saa kulingana na kile unachotaka
    - kila hati iunde faili ya 'kufuli' ndani / tmp na ikiwa ipo, usianze tena, hii inazuia kazi za kurudia ikiwa hutaki
    - ikiwa hati hupata faili ya kufuli zaidi ya saa 1 (au chochote kinachopendekeza umekufa) tuma arifa ya barua pepe
    - uwe na hati tuma barua pepe juu ya kufeli kwa kazi ili ujue kuna kitu kilienda vibaya
    - angalia mifumo kama Flux au wapangaji wa kibiashara wakati mahitaji yako yanapata zaidi ya hati chache

    Chris

  3. 4

    Pia nitaongeza kuwa kwenye mifumo mingi ya Linux / Unix, "crontab -e" ndio unayotumia kuhariri crontab yako. Nadhani mwenyeji wako (Jumpline) anatumia toleo lililobadilishwa kwa sababu za usalama.

  4. 5

    Bado nakumbuka siku ya kwanza kukutana na Cronnie. Nilikuwa nimesikia vitu juu yake, kwamba alikuwa wa kutegemewa, kila wakati kwa wakati, lakini wakati mwingine alikuwa akichanganya kuhusu nia yake.

    Niliona hii kuwa kweli kwani alikuwa siri kamili kwangu mwanzoni. Baada ya kuuliza karibu kumhusu, nilishika haraka haraka juu ya jinsi alipenda kufanya kazi. Sasa, siwezi kufikiria siku ikienda bila yeye maishani mwangu. Yeye hufanya ya kawaida kuwa ya kusisimua, na huondoa mizigo mingi kwenye mabega yangu.

    Kwa uzito wote, nahisi kama nimepiga tu uso na kile ninachoweza kujiendesha na kazi za cron. Kwa kweli ni marafiki bora wa watengenezaji. Ikiwa unatumia mtu kama CPanel kudhibiti seva yako, hutoa kiolesura cha urafiki zaidi kuunda crons. Kamilisha na menyu kunjuzi kwa dakika, saa, siku, mwezi, n.k. ambayo inakujengea laini ya cron.

  5. 7

    Hakika naona hii ni jambo ambalo kila muuzaji anapaswa kutumia… Je! Kuna mtu yeyote ambaye anaweza kutoa huduma hii kwa sababu inasikika kama "teknolojia" pia?

Unafikiri?

Tovuti hii inatumia Akismet kupunguza spam. Jifunze jinsi maoni yako yanasindika.