Cron ialah perkhidmatan penjadualan kerja berasaskan masa dalam sistem pengendalian seperti Unix. Pengguna boleh menjadualkan kerja (arahan atau skrip) untuk dijalankan pada masa, tarikh atau selang waktu tertentu. Ciri ini amat berguna untuk mengautomasikan tugas penyelenggaraan sistem, menjalankan skrip, atau menghantar e-mel pada selang waktu tertentu.
Anatomi Pekerjaan Cron
Memahami struktur kerja Cron adalah penting. Tugas Cron ialah satu baris dalam fail crontab (Cron table) yang mewakili perintah yang dijadualkan untuk dijalankan pada selang waktu tertentu. Entri crontab mempunyai enam medan:
- Minit (0 – 59)
- Jam (0 – 23)
- Hari dalam bulan (1 – 31)
- Bulan (1 – 12)
- Hari dalam seminggu (0 – 7, di mana kedua-dua 0 dan 7 mewakili Ahad)
- Perintah untuk melaksanakan
Menyediakan Pekerjaan Cron
Untuk menjadualkan kerja Cron, anda perlu mengedit fail crontab. Anda boleh melakukan ini menggunakan crontab -e
arahan, yang membuka fail crontab dalam editor teks. Berikut ialah panduan ringkas:
- Membuka Crontab: Jalankan
crontab -e
perintah. Ini membuka fail crontab dalam editor lalai anda. - Menambah Pekerjaan Cron: Pada baris baharu, nyatakan parameter penjadualan (minit, jam, dsb.) diikuti dengan arahan.
- Menyimpan dan Keluar: Simpan perubahan dan keluar dari editor.
Contoh Kerja Cron Biasa
Kepelbagaian Cron boleh ditunjukkan melalui pelbagai kes penggunaannya. Berikut adalah beberapa contoh:
- Sandarkan direktori setiap hari: Anda boleh menjadualkan kerja Cron untuk membuat sandaran direktori tertentu setiap hari. Andaikan direktori ialah /home/username/documents, dan anda mahukan sandaran pada 2 AM setiap hari.
0 2 * * * tar -zcf /var/backups/home.tgz /home/username/documents
- Menjalankan skrip setiap minit: Jika anda mempunyai skrip (katakan, script.sh terletak di /home/username/script.sh), anda boleh menjadualkannya untuk dijalankan setiap minit.
* * * * * /home/username/script.sh
- Menghantar e-mel setiap hari Isnin: Katakan anda mempunyai fail mail.txt dan anda ingin menghantar e-mel kandungannya setiap hari Isnin jam 5 petang. Anda boleh menggunakan arahan mel bersama-sama dengan Cron.
0 17 * * MON cat /home/username/mail.txt | mail -s "Weekly Update" [email protected]
Petua dan Trik Cron Lanjutan
Walaupun Cron berkuasa dan fleksibel, terdapat beberapa petua dan kiat yang boleh membantu anda mengoptimumkan penggunaannya:
- Menetapkan PATH: Semasa menjadualkan tugas, anda boleh menetapkan pembolehubah persekitaran PATH di bahagian atas fail crontab untuk memastikan semua arahan ditemui tanpa menyatakan laluan mutlak.
- Ubah hala Output: Secara lalai, Cron menghantar e-mel ke akaun pengguna yang melaksanakan cronjob. Jika ini tidak diperlukan, anda boleh mengubah hala output ke /dev/null.
- Kerja Cron Log: Untuk menjejaki kerja cron, anda boleh mengubah hala output ke fail log sebaliknya.
Had dan Alternatif kepada Cron
Walaupun kelebihannya, Cron bukan tanpa batasan. Ia tidak mempunyai ciri seperti pergantungan kerja, rantaian kerja dan pelaporan terperinci, yang terdapat dalam penjadual tugas yang lebih maju.
Terdapat beberapa alternatif yang berkuasa untuk Cron, termasuk:
- anakron: Sesuai untuk sistem yang tidak berjalan secara berterusan.
- Fcron: Menggabungkan kefungsian Cron dan Anacron, dengan ciri yang dipertingkatkan.
- Pemasa Systemd: Pengganti moden untuk Cron dalam pengedaran Linux berasaskan Systemd.
Pembelajaran Lanjutan
- Panduan Cron pada Dokumentasi Ubuntu
- Tutorial Cron pada TecMint
- Gambaran Keseluruhan Cron tentang Tutorial DigitalOcean
- halaman manusia Crontab
Dengan kuasa Cron, anda boleh mengautomasikan hampir semua tugas yang anda akan jalankan secara manual. Struktur ringkas dan pilihan penjadualan yang fleksibel menjadikannya ruji dalam mana-mana kit alat pentadbir sistem seperti Unix.