Ngartos sareng Nganggo Cron: Pitunjuk Komprehensif pikeun Ngajadwalkeun Proyék
Cron, pondok pikeun paréntah ngajalankeun online, mangrupikeun jadwal padamelan dumasar waktos anu kuat dina sistem operasi sapertos Unix. Syaratna Cron mangrupa sandiwara dina kecap kronos or chronos, nu dina mitologi Yunani ngagambarkeun waktu. Ngaran cron pikeun penjadwal padamelan dumasar-waktos ngagambarkeun fungsina pikeun ngajadwalkeun sareng ngalaksanakeun tugas dina waktos atanapi interval anu khusus, janten rujukan anu pas kana konsép waktos dina mitologi.
Cron ngidinan Anjeun pikeun ngajadikeun otomatis tugas repetitive, ngaéksekusi skrip dina interval husus, sarta ngajaga efisiensi sistem. Pitunjuk komprehensif ieu bakal ngajalanan anjeun sadayana anu anjeun kedah terang ngeunaan cron, ti pamasangan ka pamakean, kosakata konci, sareng conto kode nyata.
Daptar eusi
- Naon cron?
- Masang Cron
- Konsep Dasar jeung Terminologi
- Sintaksis Cron
- Conto jeung Kasus Paké
- Pitfalls umum jeung prakték pangalusna
- sumberdaya cron tambahan
Naon ari Cron?
Cron mangrupikeun daemon (prosés latar) anu dijalankeun dina sistem basis Unix, kalebet Linux sareng macOS. Tujuan utami nyaéta pikeun ngaéksekusi tugas anu dijadwalkeun sacara otomatis. Tugas ieu tiasa dibasajankeun skrip saderhana pikeun pangropéa sareng cadangan sistem.
Masang Cron
Dina kalolobaan sistem kawas Unix, cron tos dipasang. Anjeun tiasa pariksa kasadiaanana ku muka terminal sareng ngetik:
crontab -e
Upami paréntah ieu muka redaktur tabel cron, anjeun parantos dipasang cron. Upami henteu, anjeun tiasa pasang nganggo manajer pakét sistem anjeun. Contona, dina Ubuntu, anjeun tiasa nganggo:
sudo apt-get install cron
Konsep Cron jeung Terminologi
Sateuacan nyilem kana panggunaan cron, hayu urang ngartos sababaraha konsép sareng terminologi penting:
- crontab: Pondok kanggo méja cron, éta file anu ngandung daptar tugas dijadwalkeun pikeun pamaké.
- Cronjob: Tugas tunggal atawa paréntah dijadwalkeun pikeun ngajalankeun dina waktu nu tangtu.
- widang: Unggal cronjob boga lima widang nu nangtukeun lamun pakasaban jalan:
- Menit (0-59)
- Jam (0-23)
- Poé bulan (1-31)
- Bulan (1-12)
- Poé minggu (0-7, dimana duanana 0 jeung 7 ngagambarkeun Minggu)
Sintaksis Cron
Ngartos sintaksis entri crontab penting pisan. Ieu nuturkeun pola:
* * * * * command-to-be-executed
Ieu katerangan anu dikoméntarkeun anu anjeun tiasa selapkeun dina padamelan cron anjeun:
# +---------------- minute (0 - 59)
# | +------------- hour (0 - 23)
# | | +---------- day of month (1 - 31)
# | | | +------- month (1 - 12)
# | | | | +---- day of week (0 - 6) (Sunday=0 or 7)
# | | | | |
* * * * * /var/www/html/myscript.php
Unggal tanda bintang (*) ngagambarkeun widang dina ekspresi cron. Salaku conto, pikeun ngajadwalkeun padamelan unggal dinten di 3:30 PM, anjeun kedah nganggo:
30 15 * * * command-to-be-executed
Conto Cron sareng Kasus Pamakéan
Hayu urang ngajalajah sababaraha conto praktis pikeun ngagambarkeun pamakean cron:
- Ngajalankeun Script Daily: Pikeun ngaéksekusi naskah unggal dinten tengah wengi, anjeun tiasa nganggo:
0 0 * * * /path/to/script.sh
- Ngajalankeun Skrip Unggal Jam: Pikeun tugas per jam, paké:
0 * * * * /path/to/script.sh
- Cadangan mingguan: Pikeun ngajadwalkeun cadangan mingguan dina Minggu jam 2 AM, paké:
0 2 * * 0 /path/to/backup-script.sh
- Ngajalankeun Tugas dina Bulan Spésifik: Pikeun ngajalankeun padamelan ngan dina Januari sareng Juli jam 8:30:
30 8 * 1,7 * /path/to/script.sh
Pitfalls Cron jeung Praktek Pangalusna
- variabel lingkungan: Pastikeun yén padamelan cron anjeun nyetél variabel lingkungan anu diperyogikeun, sabab padamelan cron henteu ngawariskeun variabel lingkungan cangkang anjeun.
- idin: Pastikeun anjeun nyetél idin kana file skrip anjeun salaku tiasa dieksekusi. Unggal waktos abdi nyimpen deui naskah abdi, abdi mendakan idin abdi kedah diatur deui!
- Variabel jalur: Sebutkeun jalur lengkep pikeun executable sareng skrip dina padamelan cron anjeun pikeun ngahindarkeun masalah sareng jalur relatif.
- tés: Uji aranjeunna dina lingkungan anu aman sateuacan nyetél padamelan cron kritis pikeun mastikeun aranjeunna tiasa dianggo sapertos anu diharapkeun.
- logging: Mindahkeun kaluaran cron jobs anjeun ka file log pikeun ngalacak palaksanaan maranéhanana jeung sagala kasalahan poténsial.
0 0 * * * /path/to/script.sh >> /path/to/cron.log 2>&1
Proyék cron ieu ngajalankeun naskah /path/to/script.sh
unggal poe di tengah wengi, sarta kaluaran (duanana stdout na stderr) dihasilkeun ku naskah ieu appended kana file log
/path/to/cron.log
. Ieu mangrupikeun prakték umum pikeun moto sareng log kaluaran padamelan cron pikeun tujuan monitoring sareng ngungkulan. Hayu urang ngarecah sintaksis padamelan cron khusus ieu:
- *0 0 ***: Bagian ieu netepkeun jadwal nalika padamelan cron kedah dijalankeun. Dina hal ieu, éta dijadwalkeun ngajalankeun unggal dinten di tengah wengi (0 menit kaliwat 0 jam).
- /path/to/script.sh: Ieu paréntah atawa Aksara sangkan ngaéksekusi nalika pakasaban cron jalan. Conto ieu nunjukkeun naskah anu aya di
/path/to/script.sh
. - >> /path/to/cron.log: Bagian ieu alihan kaluaran baku (stdout) tina pakasaban cron kana file log ngaranna
cron.log
perenahna di/path/to/
. nu>>
operator appends kaluaran ka file log, jadi lamun file teu aya, eta bakal dijieun, sarta lamun geus aya, kaluaran bakal ditambahkeun kana tungtung file. - 2> & 1: Ieu dipaké pikeun alihan duanana kaluaran baku (stdout) jeung kasalahan baku (stderr) kana file log sarua. The
2
ngagambarkeun stderr, jeung1
ngagambarkeun stdout. Janten,2>&1
hartina duanana stdout na stderr dialihkeun ka file log sarua dieusian saméméhna.
Cron mangrupikeun alat anu berharga pikeun ngotomatisasi tugas dina sistem basis Unix. Kalayan pilihan jadwal anu fleksibel, éta tiasa nyederhanakeun administrasi sistem sareng ningkatkeun efisiensi. Ku ngartos sintaksisna sareng nuturkeun prakték pangsaéna, anjeun tiasa ngamangpaatkeun kakuatan cron pikeun ngajadikeun otomatis tugas rutin anjeun sacara efektif.
Sumberdaya Cron tambahan
- Unix Daémon - Dean Wilson