GNU/Linux >> Belajar Linux >  >> Linux

Cara Menggunakan Format Cron Job untuk Menjadwalkan Tugas di Linux

Cron adalah daemon penjadwalan yang menggunakan format khusus untuk menjalankan tugas. Berikut cara menggunakannya di Linux untuk eksekusi tugas otomatis.

Cron adalah salah satu utilitas paling berguna yang dapat Anda temukan dan gunakan di sistem operasi Linux atau Unix. Menggunakan cron adalah cara yang populer untuk menjalankan tugas secara berkala seperti perintah atau skrip shell. Tugas periodik ini juga dikenal sebagai Cron Jobs dan dijadwalkan untuk dijalankan pada waktu tertentu.

Misalnya, Anda dapat menyetel tugas cron untuk mengotomatiskan tugas berulang seperti mencadangkan database atau data, memperbarui sistem dengan patch keamanan terbaru, mengirim email, dan sebagainya.

Cron dinamai kata Yunani "Chronos" yang digunakan untuk waktu. Panduan ini memberikan gambaran umum tentang cara menjadwalkan tugas dengan crontab dan cara menggunakan format sintaksis khusus cron untuk menjalankannya.

Apa itu File crontab?

Yang terpenting, file crontab adalah file teks sederhana yang berisi daftar perintah yang dimaksudkan untuk dijalankan pada waktu tertentu. Itu diedit menggunakan crontab memerintah. Perintah dalam file crontab (dan waktu prosesnya) diperiksa oleh daemon cron, yang mengeksekusinya di latar belakang sistem.

Setiap baris file crontab adalah "aktif" atau "tidak aktif". Baris "aktif" adalah pengaturan lingkungan atau entri perintah cron. Baris "tidak aktif" diabaikan, termasuk komentar.

Baris kosong dan spasi serta tab di depan diabaikan. Garis yang karakter non-spasi pertamanya adalah tanda pound (# ) ditafsirkan sebagai komentar dan diabaikan.

Perlu diketahui bahwa komentar tidak diizinkan pada baris yang sama dengan perintah cron, karena akan ditafsirkan sebagai bagian dari perintah. Untuk alasan yang sama, komentar tidak diperbolehkan pada baris yang sama dengan pengaturan variabel lingkungan.

Entri Format Pekerjaan Cron

Setiap entri dalam file crontab terdiri dari enam bidang, dengan urutan sebagai berikut:

minute hour day month weekday command
Field Nilai yang Mungkin Sintaks Deskripsi
Menit 0 – 59 11 * * * *  Tugas cron dimulai setiap kali jam sistem menunjukkan 11 dalam posisi menit.
Jam 0 – 23 0 1 * * * Tugas cron berjalan setiap kali jam sistem menunjukkan pukul 1 pagi (1 siang akan dikodekan sebagai 13).
Hari 0 – 31 0 0 19 * *  Hari dalam sebulan adalah 19 yang berarti pekerjaan itu berjalan setiap 19 hari dalam sebulan.
Bulan 0 =tidak ada dan 12 =Desember 0 0 0 7 * Bulan numerik adalah 7 yang menentukan bahwa pekerjaan hanya berjalan pada bulan Juli.
Hari kerja 0 =Minggu dan 7 =Minggu 0 0 * * 1 1 di posisi saat ini berarti pekerjaan hanya akan berjalan pada hari Senin.
Perintah Spesial Urutan lengkap perintah untuk dieksekusi. Perintah, executable (seperti skrip), atau kombinasi dapat diterima.

Salah satu bidang ini dapat disetel ke tanda bintang (* ) , yang berarti "pertama sampai terakhir". Misalnya, untuk menjalankan tugas setiap jam, masukkan * di bidang jam.

Rentang angka juga diperbolehkan. Rentang adalah dua angka yang dipisahkan dengan tanda hubung (- ). Rentang yang ditentukan bersifat inklusif. Misalnya, 8-11 untuk entri "jam" menentukan eksekusi pada jam 8 , 9 , 10 , dan 11 .

Daftar diperbolehkan. Daftar adalah sekumpulan angka (atau rentang) yang dipisahkan dengan koma (, ). Berikut beberapa contohnya:1,2,5,9 atau 0-4,8-12 .

Langkah juga diizinkan setelah tanda bintang , jadi jika Anda ingin mengatakan "setiap dua jam", Anda dapat menggunakan */2 .

Daemon cron memeriksa crontab sekali setiap menit. Perintah dijalankan oleh cron bila kolom menit, jam, dan bulan cocok dengan waktu saat ini, dan setidaknya satu dari kolom dua hari (hari dalam sebulan, atau hari dalam seminggu) cocok dengan hari saat ini.

Format Sintaks Khusus Cron

Pekerjaan Cron juga menawarkan beberapa string yang diformat khusus, yang dapat digunakan sebagai pengganti lima bidang waktu dan tanggal. Mereka pada dasarnya adalah jalan pintas untuk jadwal numerik setara yang ditentukan:

String Mpenghasilan
@reboot Jalankan perintah yang ditentukan sekali, saat startup .
@tahunan, @tahunan Keduanya menjalankan tugas yang ditentukan setiap tahun pada pukul 12:00 pada tanggal 1 Januari. Ini sama dengan menentukan “0 0 1 1 *” di file crontab.
@bulanan Menjalankan pekerjaan sebulan sekali , pada tanggal 1, pukul 12:00. Dalam sintaks cron standar, ini setara dengan “0 0 1 * *”
@mingguan Menjalankan pekerjaan seminggu sekali pada pukul 12:00 pada hari Minggu. Dalam sintaks cron standar, ini setara dengan “0 0 * * 0”
@daily, @midnight Keduanya menjalankan cronjob setiap hari pada pukul 12.00. Ini sama dengan menentukan “0 0 * * *” di file crontab.
@jam setiap Menjalankan tugas di atas setiap jam . Dalam sintaks cron standar, ini setara dengan “0 * * * *”

Cara Menggunakan Perintah crontab

crontab command membuat file crontab yang berisi perintah dan instruksi dengan menggunakan format cron job tertentu untuk dieksekusi cron daemon. Anda dapat menggunakan crontab perintah dengan opsi berikut:

Perintah Deskripsi
crontab -e Sunting file crontab Anda atau buat jika belum ada.
crontab -l Tampilan file crontab Anda.
crontab -r Hapus file crontab Anda.
crontab -u pengguna Digunakan bersama dengan opsi lain, opsi ini memungkinkan Anda untuk mengubah atau melihat file crontab pengguna. Hanya administrator yang dapat menggunakan opsi ini.

Misalnya, untuk mengedit atau membuat file crontab Anda sendiri, ketik perintah berikut pada prompt shell:

crontab -e

Tidak perlu me-restart cron setelah mengubah file crontab. Cron akan memeriksa waktu modifikasi pada semua crontab dan memuat ulang yang telah diubah.

Cara Mengedit File crontab Milik Pengguna Lain

Untuk mengedit file crontab milik root atau pengguna lain, Anda harus menjadi root. Tentu saja, Anda tidak perlu menjadi root untuk mengedit file crontab Anda.

crontab -u [username] -e

Cara Menghapus File crontab

Sebagian besar waktu, Anda tidak ingin menghapus file crontab. Namun, Anda mungkin ingin menghapus beberapa baris dari file crontab.

Untuk menghapus file crontab pengguna Anda, jalankan perintah berikut:

crontab -r

Contoh Pekerjaan Cron

Perintah Tugas Cron
* * * * * /root/script.sh Jalankan Cron Job setiap menit.
0 * * * * /root/script .sh Jalankan Cron Job setiap jam.
0 0 * * * /root/script .sh Jalankan Cron Job setiap hari pada tengah malam.
0 2 * * * /root/script .sh Jalankan Cron Job pada pukul 2 pagi setiap hari.
0 0 15 * * /root/script .sh Jalankan Cron Job setiap tanggal 15 setiap bulan pada tengah malam.
0 0 0 12 * /root/script .sh Jalankan Cron Job pada 1 Desember pada tengah malam.
0 0 * * 6 /root/script .sh Jalankan Cron Job pada hari Sabtu tengah malam.
0 15 * * 1-5 /root/script.sh Jalankan Cron Job pada jam 3 sore setiap hari dari Senin sampai Jumat.
*/5 * * * * /root/script.sh Jalankan Cron Job setiap 5 menit.
0 8-16 * * * /root/script.sh Jalankan Cron Job setiap hari, setiap jam, setiap jam, dari jam 8 pagi sampai jam 4 sore.
0 4 * * 2,4 /root/script.sh Jalankan Cron Job pada jam 4 pagi pada hari Selasa dan Kamis.
@reboot /root/script.sh Jalankan Cron Job saat sistem dimulai.

Kesimpulan

Anda sekarang memiliki pemahaman yang baik tentang cara menggunakan format cron job untuk menjadwalkan tugas di Linux. Gunakan contoh yang disajikan dalam panduan ini untuk membuat dan menjadwalkan tugas cron di sistem Anda. Saat digabungkan dengan skrip shell, Anda dapat mengotomatiskan tugas yang biasanya membosankan atau rumit.

Untuk informasi lebih lanjut, halaman manual cron dan crontab di sini dan di sini memiliki informasi dan deskripsi yang sangat baik tentang cara kerja sistem cron.


Linux
  1. Cara menggunakan cron di Linux

  2. Cara menggunakan perintah grep Linux

  3. Cara menggunakan perintah history di Linux

  1. Bagaimana saya menggunakan cron di Linux

  2. Cara Menggunakan Perintah 'at' untuk Menjadwalkan Tugas pada Waktu yang Diberikan atau Nanti di Linux

  3. Cara Menggunakan Perintah id di Linux

  1. Cara Menggunakan Linux di Command

  2. Cara Menggunakan Perintah sejarah Linux

  3. Cara menggunakan perintah "layar" di Linux