Situs Web Bisa Mbukak Tugas Jadwal karo Cron

jam

Kita duwe sawetara sistem pemantauan sing keluwih sing kerja kanthi rutin nindakake proses. Ana sing mlayu saben menit, sawetara uga saben wengi gumantung karo apa sing ditindakake. Contone, kita bisa nglakokake skrip sing ngekspor kabeh pelanggan sing durung tuku sajrone 30 dina kanggo ngirim kupon.

Daripada nyoba nglacak kabeh kanthi tangan, luwih gampang nggawe proyek sing dijadwal lan dieksekusi kanthi otomatis. Ing sistem adhedhasar Unix, iki bisa ditindakake karo Cron. Kanggo sampeyan sing ngerti apa sing sampeyan lakoni, wenehi wulangan bebas babagan kula lan para pamiarsa yen mbuwang informasi.

Sayang banget, nanging pangembang web sing khas ora kenal karo Cron. Sanajan ana, perusahaan hosting web asring ora nyedhiyakake akses menyang, utawa dhukungan saka, Cron. Hostku minangka salah siji sing nomer loro - dheweke ngidini sampeyan nggunakake, nanging ora ndhukung.

Cron iku opo?

cron diarani kanggo tembung Yunani Chronos, tegese wektu. Cron mbukak loop terus-terusan kanggo mbukak tugas sing dikumpulake dening Crontab (bisa uga dijenengi tabulator Tugas kasebut biasane diarani Cronjobs, lan bisa ngrujuk skrip ing situs sampeyan.

Katrangan Diagram Cron

Kepiye carane nyiyapake Crontab

Nggawe Cron supaya bisa mlaku bisa uga nantang, mula iki sing dakkerteni lan kepiye carane nindakake Yen Nyedhot:

  1. Aku nyiyapake skrip kanggo mriksa Twitter API kanggo ndeleng apa ana sing wis mangsuli @dewahoya. Pesen sing dibandhingake karo pesen sing wis dak simpen ing situs web, ngetik pesen anyar.
  2. Sawise skrip digunakake, aku ngaktifake idin kanggo Pangguna kanggo nglakokake skrip (744) lan nambah referensi skrip menyang file Cronjob - luwih mengko.
  3. Aku banjur kudu mlebu situs web liwat SSH. Ing Mac, sing mbukak Terminal lan ngetik Jeneng panganggo SSH@domain.com jeneng panganggo yaiku jeneng pangguna sing pengin digunakake lan domain yaiku situs web. Aku banjur dijaluk lan menehi sandhi.
  4. Aku banjur nyoba mbukak skrip langsung saka command prompt kanthi ngetik jeneng filename lan path relatif ing server: /var/www/html/myscript.php
  5. Sawise bisa digunakake kanthi bener, aku nambah kode Unix sing dibutuhake ing baris pisanan file: #! / usr / bin / php -q . Aku percaya iki mung ngandhani Unix kanggo nggunakake PHP kanggo nglakokake skrip.
  6. Ing baris perintah Terminal, aku ngetik crontab (wong liya bisa uga kudu ngetik crontab -e) banjur tekan enter… lan kabeh iku dibutuhake!

Sintaks kanggo File Cronjob sampeyan

Gegayutan karo nomer 2 ing ndhuwur, Cron nggunakake skema cerdas kanggo nemtokake kapan skrip sampeyan bakal dileksanakake. Nyatane, sampeyan pancen bisa nyalin lan nempel menyang Cronfile (ing hostku, dununge ing / var / spool / cron / nganggo jeneng berkas padha karo jeneng pangguna).

# + —————- menit (0 - 59)
# | + ————- jam (0 - 23)
# | | + ———- dina wulan (1 - 31)
# | | | + ——- wulan (1 - 12)
# | | | | + —- dina minggu (0 - 6) (Minggu = 0 utawa 7)
# | | | | |
* * * * * /var/www/html/myscript.php

Ing ndhuwur bakal nglakokake skripku saben menit. Yen aku mung pengin mlaku sepisan sejam, aku luwih becik menehi menit sawise jam sing dakkarepake supaya bisa mlaku, mula yen ana ing tandha 30 menit:

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

Sampeyan manawa sampeyan wis ngidini idin menyang file iki supaya bisa dieksekusi! Aku nemokake manawa sintaks, ijin, lan nglakokake crontab saka jendela Terminal minangka faktor sing paling penting. Saben aku nyimpen file maneh, aku uga bakal nemokake ijin sing kudu disetel maneh!

UPDATE: Yen sampeyan pengin nggawe proyek mlaku, salah sawijining cara yaiku nganyari lapangan database kanthi skrip pungkasan. Yen luwih jarang, sampeyan mung bisa nulis email sing dikirim menyang sampeyan dhewe.

Sumber daya Cron Tambahan:

Pira proyek sing bisa digunakake kanthi otomatis nganggo Cron?