Cara Mencipta dan Mengurus Pekerjaan Cron di Linux


Cron ialah salah satu alatan Linux yang paling berguna dan kegemaran pembangun kerana ia membolehkan anda menjalankan arahan automatik pada tempoh, tarikh dan selang tertentu menggunakan kedua-dua skrip tujuan umum dan khusus tugas. Berdasarkan penerangan itu, anda boleh bayangkan bagaimana pentadbir sistem menggunakannya untuk mengautomasikan tugas sandaran, pembersihan direktori, pemberitahuan, dsb.

Tugas cron berjalan di latar belakang dan sentiasa menyemak fail /etc/crontab dan /etc/cron.*/ dan /var/spool/cron/ direktori. Fail cron tidak sepatutnya diedit secara langsung dan setiap pengguna mempunyai crontab yang unik.

Jadi, bagaimanakah anda sepatutnya mencipta dan mengedit kerja cron? Dengan arahan crontab. Crontab ialah kaedah yang anda gunakan untuk mencipta, mengedit, memasang, menyahpasang dan menyenaraikan kerja cron.

Perintah untuk mencipta dan mengedit kerja cron adalah sama dan mudah. Dan yang lebih menarik ialah anda tidak perlu memulakan semula cron selepas mencipta fail baharu atau mengedit fail sedia ada.


crontab -e

Sintaks Cron

Sama seperti mana-mana bahasa, bekerja dengan cron adalah lebih mudah apabila anda memahami sintaksnya dan terdapat 2 format yang perlu anda ketahui:


A B C D E USERNAME /path/to/command arg1 arg2
OR
A B C D E USERNAME /root/backup.sh

Penjelasan sintaks cron di atas:

  • J: Minit julat: 0 – 59
  • B: Jam julat: 0 – 23
  • Julat C: Hari: 0 – 31
  • D: Bulan julat: 0 – 12
  • E: Hari dalam seminggu julat: 0 – 7. Bermula dari hari Isnin, 0 atau 7 mewakili Ahad
  • NAMA PENGGUNA: gantikan ini dengan nama pengguna anda
  • /path/to/command – Nama skrip atau perintah yang anda mahu jadualkan

Bukan itu sahaja. Cron menggunakan 3 simbol operator yang membolehkan anda menentukan berbilang nilai dalam medan:

  1. Asterisk (*): menentukan semua nilai yang mungkin untuk medan
  2. Koma (,): menentukan senarai nilai
  3. Dash (-): menentukan julat nilai
  4. Pemisah (/): menentukan nilai langkah

Sekarang setelah anda mengetahui sintaks dan pengendali Cron, mari lihat beberapa contoh cron.

Contoh Kerja Cron

Langkah pertama untuk menjalankan arahan cron ialah memasang crontab anda dengan arahan:


crontab -e

Jalankan /root/backup.sh pada 3 pagi setiap hari:


0 3 * * * /root/backup.sh

Jalankan script.sh pada 4:30 petang pada hari kedua setiap bulan:

30 16 2 * * /path/to/script.sh

Jalankan /scripts/phpscript.php pada 10 malam sepanjang minggu:

0 22 * * 1-5 /scripts/phpscript.php

Jalankan perlscript.pl pada 23 minit selepas tengah malam, 2 pagi dan 4 pagi, setiap hari:

23 0-23/2 * * * /path/to/perlscript.pl

Jalankan arahan Linux pada 04:05 setiap Ahad:

5 4 * * sun /path/to/linuxcommand

Pilihan Cron

Senaraikan kerja cron.


crontab -l
OR
crontab -u username -l

Padamkan semua kerja crontab.

crontab -r

Padamkan tugas Cron untuk pengguna tertentu.


crontab -r -u username

Rentetan dalam Crontab

Rentetan adalah antara perkara kegemaran pembangun kerana ia membantu menjimatkan masa dengan menghapuskan penulisan berulang. Cron mempunyai rentetan khusus yang boleh anda gunakan untuk membuat arahan dengan lebih cepat:

  1. @hourly: Jalankan sekali setiap jam iaitu “0 * * * *
  2. @midnight: Jalankan sekali setiap hari iaitu “0 0 * * *
  3. @daily: sama seperti tengah malam
  4. @weekly: Jalankan sekali setiap minggu, iaitu “0 0 * * 0
  5. @monthly: Jalankan sekali setiap bulan iaitu “0 0 1 * *
  6. @annually: Jalankan sekali setiap tahun iaitu “0 0 1 1 *
  7. @yearly: sama seperti @tahunan
  8. @reboot: Jalankan sekali pada setiap permulaan

Sebagai contoh, ini ialah cara membuat sandaran sistem anda setiap hari:

@daily /path/to/backup/script.sh

Pada ketika ini, anda mempunyai semua yang anda perlukan untuk membuat dan mengurus tugas sistem menggunakan Cron. Anda kini boleh mula menyediakan dan mengekalkan beberapa persekitaran menggunakan arahan berjadual.

Berapa ramai pengguna Cron anda? Dan adakah terdapat sebarang butiran yang boleh anda sumbangkan kepada artikel tersebut? Kotak perbincangan ada di bawah.

Apabila anda cukup faham tentang cara Crontab berfungsi, anda boleh menggunakan utiliti penjana Crontab yang bagus ini untuk menjana talian crontab secara percuma.

Anda juga boleh membaca artikel Ubuntu tentang cara menggunakan Cron di sini. Ia mempunyai sumber yang mungkin anda rasa berguna.