GNU/Linux >> Belajar Linux >  >> Linux

Cara menjadwalkan Pekerjaan dengan Cron di Linux

Anda akan menemukan bahwa ada banyak tugas yang perlu dilakukan secara teratur pada sistem Linux Anda. Misalnya, Anda mungkin perlu memperbarui database atau mencadangkan data pengguna di direktori /home/. Meskipun Anda dapat menjalankan tugas ini secara manual, akan lebih efisien (dan lebih dapat diandalkan) jika Anda mengonfigurasi sistem Linux untuk menjalankannya secara otomatis untuk Anda.

Salah satu opsi untuk melakukan ini adalah menggunakan cron. Daemon cron (/usr/sbin/cron) memungkinkan Anda menjadwalkan pekerjaan yang akan dilakukan untuk Anda dengan jadwal reguler.

Sintaks File crontab

Daemon cron diinstal dan diaktifkan secara default pada sistem Linux. Sekali satu menit ia memeriksa untuk melihat apakah ada pekerjaan yang telah ditentukan untuk waktu saat ini. Daemon cron menggunakan file bernama crontab yang berisi daftar pekerjaan dan kapan akan dijalankan. File crontab ada untuk seluruh sistem Linux. Setiap pengguna di sistem juga dapat menentukan file crontab mereka sendiri.

Setiap baris dalam file crontab mendefinisikan satu tugas cron. Lima bidang pertama (dipisahkan dengan karakter spasi—spasi atau tab) menentukan kapan
tugas cron harus dijalankan. Mereka menggunakan sintaks berikut:

Nomor Kolom Label Kolom Rentang
1 Menit 0-59
2 Jam 0-23
3 Hari Setiap Bulan 1-31
4 Bulan 1-12
5 Hari kerja 0-7

Dalam file crontab pengguna, bidang berikutnya (bidang enam dan lebih tinggi) menentukan perintah dan opsinya, jika ada, untuk dijalankan. Dalam file crontab sistem, bidang keenam menentukan pengguna yang akan digunakan untuk menjalankan perintah di bidang yang tersisa (bidang tujuh dan lebih tinggi).

Daemon cron dapat menjalankan perintah atau skrip shell apa pun. Namun, tidak ada interaksi pengguna yang tersedia saat perintah atau skrip shell dijalankan.

Berikut ini adalah panduan untuk mengonfigurasi bidang ini:

  • Jika Anda ingin pekerjaan berjalan setiap menit, jam, hari, atau bulan, ketik tanda bintang (*) di bidang yang sesuai.
  • Anda dapat memasukkan beberapa entri dalam satu bidang dalam daftar yang dipisahkan dengan koma.
  • Anda dapat menentukan rentang dengan nilai awal dan akhir yang dipisahkan oleh tanda hubung.
  • Anda dapat mengonfigurasi langkah waktu dengan /n (di mana n mewakili ukuran langkah).
  • Anda dapat menentukan bulan dan hari kerja menggunakan tiga huruf pertama dari namanya (misalnya, MON, TUE, JAN, FEB). Huruf tidak peka huruf besar/kecil. Namun, saat Anda menggunakan huruf, Anda tidak dapat menggunakan rentang atau daftar.
  • Angka yang mewakili hari kerja dimulai dari 0 untuk hari Minggu dan berjalan sepanjang minggu secara berurutan, dengan 7 mewakili hari Minggu lagi. Misalnya, 3 adalah Rabu dan 6 adalah Sabtu.

Mendefinisikan Pekerjaan Pengguna

Pengguna membuat dan memelihara file crontab mereka sendiri menggunakan perintah crontab. Opsi berikut dapat digunakan dengan perintah crontab:

Opsi Deskripsi
crontab -e Membuat atau mengedit pekerjaan. Editor vi digunakan.
file crontab Mengganti file crontab yang ada untuk pengguna saat ini dengan file yang ditentukan, dengan asumsi file tersebut berisi daftar pekerjaan menggunakan sintaks yang benar.
crontab -l Menampilkan pekerjaan saat ini.
crontab -r Menghapus semua pekerjaan.

Misalnya, Anda ingin menentukan tugas cron yang menyalin konten direktori home pengguna Anda ke drive USB eksternal yang dipasang di /media/USB setiap malam pada pukul 17:05. Anda perlu melakukan hal berikut:

1. Buka sesi terminal.

2. Pada prompt shell, masukkan 'crontab -e'.

# crontab -e

File crontab kosong dibuat untuk pengguna Anda jika ini adalah pertama kalinya Anda mendefinisikan tugas cron.

3. Tekan tombol I, lalu masukkan berikut ini:

5 17 * * * cp ~/* /media/USB

4. Tekan Esc, lalu masukkan ':wq!'.

5. Anda dapat menentukan pengguna mana yang diizinkan untuk membuat tugas cron dan mana yang tidak dengan membuat dua file berikut:

  1. /etc/cron.allow :Pengguna yang terdaftar dalam file ini dapat membuat tugas cron.
  2. /etc/cron.deny :Pengguna yang tidak terdaftar dalam file ini dapat membuat tugas cron.

Jika file /etc/cron.allow ada, itu adalah satu-satunya file yang dievaluasi; /etc/cron.deny akan diabaikan dalam situasi ini. Jika tidak satu pun dari file ini ada, hanya pengguna root yang diizinkan untuk menentukan tugas cron pengguna.


Linux
  1. Cara menggunakan cron di Linux

  2. Cara Menjadwalkan Pekerjaan Cron dengan Crontab

  3. Bagaimana cara menulis file dengan C di Linux?

  1. Cara Mengotomatiskan tugas di Linux menggunakan Crontab

  2. Cara Menjadwalkan Pekerjaan dengan perintah 'at' di Linux

  3. Pulihkan pekerjaan cron yang tidak sengaja dihapus dengan crontab -r

  1. Menjadwalkan Pekerjaan Cron dengan Crontab

  2. Cara Mendaftar Pekerjaan Cron di Linux

  3. Cara Menggunakan Perintah Linux rm dengan Contoh