Pendahuluan
Daemon Cron adalah utilitas Linux bawaan yang menjalankan proses pada sistem Anda pada waktu yang dijadwalkan. Cron membaca crontab (tabel cron) untuk perintah dan skrip yang telah ditentukan sebelumnya.
Dengan menggunakan sintaks tertentu, Anda dapat mengonfigurasi cron job untuk menjadwalkan skrip atau perintah lain agar berjalan secara otomatis.
Panduan ini menunjukkan cara menyiapkan tugas cron di Linux, dengan contoh.
Prasyarat
- Sistem yang menjalankan Linux
- Akses ke baris perintah/jendela terminal (Ctrl –Altern –B atau Ctrl –Altern –F2 )
- Akun pengguna dengan root atau sudo hak istimewa
Sintaks Crontab Dasar
Cron membaca file konfigurasi untuk daftar perintah yang akan dieksekusi. Daemon menggunakan sintaks khusus untuk menafsirkan baris di crontab tabel konfigurasi.
Untuk dapat mengatur pekerjaan cron, kita perlu memahami elemen dasar yang membentuk sintaks ini. Bentuk standar untuk baris crontab adalah sebagai berikut:
a b c d e /directory/command output
Jadi, bagian dari cron
perintah adalah:
1. Lima bidang pertama a b c d e
tentukan waktu/tanggal dan pengulangan pekerjaan.
2. Di bagian kedua, /directory/command
menentukan lokasi dan skrip yang ingin Anda jalankan.
3. Segmen terakhir output
adalah opsional. Ini mendefinisikan bagaimana sistem memberi tahu pengguna tentang penyelesaian pekerjaan.
1. Format Waktu Pekerjaan Cron
Lima bidang pertama dalam perintah mewakili angka yang menentukan kapan dan seberapa sering perintah dijalankan. Sebuah spasi memisahkan setiap posisi, yang mewakili nilai tertentu.
Tabel di bawah ini merangkum kemungkinan nilai untuk bidang dan contoh sintaks:
Field | Nilai yang Mungkin | Sintaks | Deskripsi |
[a] – Menit | 0 – 59 | 7 * * * * | Tugas cron dimulai setiap kali jam sistem menunjukkan 7 dalam posisi menit. |
[b] – Jam | 0 – 23 | 0 7 * * * | Tugas cron berjalan setiap kali jam sistem menunjukkan pukul 7 pagi (jam 7 malam akan dikodekan sebagai 19). |
[c] – Hari | 0 – 31 | 0 0 7 * * | Hari dalam sebulan adalah 7 yang berarti pekerjaan berjalan setiap 7 hari dalam sebulan. |
[d] – Bulan | 0 =tidak ada dan 12 =Desember | 0 0 0 7 * | Bulan numerik adalah 7 yang menentukan bahwa pekerjaan hanya berjalan pada bulan Juli. |
[e] – Hari dalam Seminggu | 0 =Minggu dan 7 =Minggu | 0 0 * * 7 | 7 di posisi saat ini berarti pekerjaan hanya akan berjalan pada hari Minggu. |
2. Perintah untuk Dieksekusi
Bagian selanjutnya menentukan perintah untuk dieksekusi. Ini mewakili direktori dan nama file yang tepat dari skrip atau perintah yang Anda ingin cron selesaikan. Misalnya:
/root/backup.sh
Dalam contoh kita, perintah melihat direktori root sistem dan menjalankan backup.sh naskah. Anda dapat menentukan skrip atau perintah apa pun yang Anda inginkan.
3. Keluaran (Opsional)
Secara default, cron
mengirim email ke pemilik file crontab saat dijalankan. Ini adalah cara mudah untuk melacak tugas. Ingatlah bahwa tugas rutin atau kecil dapat mengisi kotak masuk Anda dengan cepat.
Karena ini adalah fitur opsional, Anda dapat mencegah skenario itu dengan menonaktifkan email keluaran. Untuk menonaktifkan keluaran email, tambahkan string berikut, >/dev/null 2>&1
, setelah kolom waktu dan perintah.
* * * * * directory/command >/dev/null 2>&1
4. Menggunakan Operator (Opsional)
Untuk efisiensi, sintaks cron juga menggunakan operator. Operator adalah karakter khusus yang melakukan operasi pada nilai yang disediakan di bidang cron.
- Sebuah tanda bintang (*) mewakili semua nilai. Gunakan operator ini untuk menjaga agar tugas tetap berjalan sepanjang bulan, atau sepanjang hari dalam seminggu.
- Sebuah koma (,) menentukan nilai individu yang terpisah.
- Sebuah tanda hubung (–) menunjukkan rentang nilai.
- Sebuah garis miring (/) digunakan untuk membagi nilai menjadi langkah-langkah. (*/2 adalah setiap nilai lainnya, */3 adalah setiap sepertiga, */10 adalah setiap sepersepuluh, dst.)
Menyiapkan Pekerjaan Cron
Untuk mengonfigurasi tugas cron, buka crontab dengan editor teks pilihan dan masukkan sintaks untuk perintah yang ingin Anda jalankan.
Bagaimana Mengedit File crontab?
Untuk membuka file konfigurasi crontab untuk pengguna saat ini, masukkan perintah berikut di jendela terminal Anda:
crontab –e
Anda dapat menambahkan sejumlah tugas terjadwal, satu tugas per baris.
Setelah Anda selesai menambahkan tugas, simpan file dan keluar. Daemon cron akan membaca dan menjalankan instruksi yang diberikan.
Ingat, Cron tidak perlu dimulai ulang untuk menerapkan perubahan.
Edit crontab untuk Pengguna Lain
Untuk mengedit crontab untuk pengguna lain, masukkan perintah berikut:
crontab –u other_username –e
Contoh Pekerjaan Cron
Saat menentukan pekerjaan, gunakan tanda bintang untuk menentukan semua nilai. Menempatkan nilai di salah satu bidang hanya menjalankan perintah pada nilai itu. Misalnya:
* 2 0 * 4 /root/backup.sh
Meskipun diatur untuk berjalan pada jam 2 pagi, itu hanya berjalan ketika awal bulan (0) jatuh pada hari Rabu (4). Jika Anda mengubah berikut ini:
* 2 0 * * /root/backup.sh
Perintah berjalan pertama setiap bulan pukul 2 pagi. Tabel berikut menyediakan beberapa perintah dasar menggunakan /root/backup.sh file dari contoh kami sebelumnya.
Tugas Cron | Perintah |
Jalankan Cron Job Setiap Menit | * * * * * /root/backup.sh |
Jalankan Cron Job Setiap 30 Menit | 30 * * * * /root/backup.sh |
Jalankan Cron Job Setiap Jam | 0 * * * */root/backup.sh |
Jalankan Cron Job Setiap Hari di Tengah Malam | 0 0 * * * /root/backup.sh |
Jalankan Cron Job pada pukul 2 pagi Setiap Hari | 0 2 * * * /root/backup.sh |
Jalankan Cron Job Setiap 1 Bulan | 0 0 1 * * /root/backup.sh |
Jalankan Cron Job Setiap 15 Setiap Bulan | 0 0 15 * * /root/backup.sh |
Jalankan Cron Job pada 1 Desember – Tengah malam | 0 0 0 12 * /root/backup.sh |
Jalankan Cron Job pada hari Sabtu tengah malam | 0 0 * * 6 /root/backup.sh |
Menggunakan Karakter Khusus
Anda dapat menggunakan garis miring untuk membagi string waktu menjadi beberapa langkah. Untuk menjalankan pencadangan setiap 15 menit:
*/15 * * * *
*
berarti semua nilai, dan /15
menghitung dan mengulangi setiap menit ke-15.
Gunakan karakter tanda hubung untuk menentukan rentang. Untuk menjalankan kode setiap hari kerja pada jam 4 pagi:
0 4 * * 1-5 /root/backup.sh
Dalam hal ini, 1-5
menentukan Senin – Jumat.
Gunakan koma untuk menentukan masing-masing instance saat kode harus dijalankan:
0 4 * * 2,4 /root/backup.sh
Ini akan menjalankan kode pada jam 4 pagi pada hari Selasa dan Kamis.
Beberapa wildcard dapat digabungkan. Buat perintah dijalankan setiap hari pada 37 menit setelah satu jam:
37 1-23/2 * * * /root/backup.sh
1-23
menentukan rentang jam, /2
menyetel interval ke setiap jam lainnya.
Mencantumkan Pekerjaan Cron yang Ada
Anda dapat membuat daftar semua pekerjaan cron di sistem Anda tanpa membuka file konfigurasi crontab. Ketik perintah berikut di jendela terminal:
crontab –l