11 Contoh Tugas Penjadwalan Cron di Linux


Pada artikel ini, kita akan meninjau dan melihat bagaimana kita dapat menjadwalkan dan menjalankan tugas-tugas Linux di latar belakang secara otomatis secara berkala menggunakan perintah Crontab.

Menangani pekerjaan yang sering dilakukan secara manual adalah tugas yang berat bagi administrator sistem dan tugas tersebut dapat dijadwalkan dan dijalankan secara otomatis di latar belakang tanpa campur tangan manusia menggunakan daemon cron di Linux atau sistem operasi mirip Unix.

Misalnya, Anda dapat mengotomatiskan pencadangan sistem Linux, menjadwalkan pembaruan, dan sinkronisasi file, dan banyak lagi menggunakan daemon Cron, yang digunakan untuk menjalankan tugas terjadwal dari baris perintah atau gunakan alat online untuk menghasilkan pekerjaan cron.

Cron bangun setiap menit dan memeriksa tugas terjadwal dalam jumlah yang dapat dihitung – Crontab (CRON TABle) adalah tabel tempat kita dapat menjadwalkan tugas berulang semacam itu .

Tips: Setiap pengguna dapat memiliki crontabnya sendiri untuk membuat, mengubah, dan menghapus tugas. Secara default, cron diaktifkan untuk pengguna, namun kami dapat membatasi pengguna dengan menambahkan entri dalam file /etc/cron.deny.

Crontab di Linux

File Crontab terdiri dari perintah per baris dan sebenarnya memiliki enam bidang dan dipisahkan oleh spasi atau tab. Lima bidang awal mewakili waktu untuk menjalankan tugas dan bidang terakhir adalah untuk perintah.

  • Menit (nilai tahan antara 0-59)
  • Jam (pertahankan nilai antara 0-23)
  • Hari dalam Bulan (memiliki nilai antara 1-31)
  • Bulan dalam setahun (memiliki nilai antara 1-12 atau Jan-Des, Anda dapat menggunakan tiga huruf pertama dari setiap nama bulan yaitu Jan atau Jun.)
  • Hari dalam seminggu (memiliki nilai antara 0-6 atau Minggu-Sabtu, Di sini Anda juga dapat menggunakan tiga huruf pertama dari nama setiap hari yaitu Minggu atau Rabu. )
  • Command – /path/to/command atau skrip yang ingin Anda jadwalkan.

1. Daftar Entri Crontab

Buat daftar atau kelola tugas dengan perintah crontab dengan opsi -l untuk pengguna saat ini.

crontab -l

00 10 * * * /bin/ls >/ls.txt

2. Edit Entri Crontab

Untuk mengedit entri crontab, gunakan -e opsi yang ditunjukkan di bawah. Contoh di bawah ini akan membuka pekerjaan terjadwal di editor VI. Lakukan perubahan yang diperlukan dan berhenti menekan tombol :wq yang akan menyimpan pengaturan secara otomatis.

crontab -e

3. Daftar Pekerjaan Cron Terjadwal Pengguna

Untuk membuat daftar pekerjaan terjadwal dari pengguna tertentu yang disebut tecmint menggunakan opsi sebagai -u (Pengguna) dan -l (Daftar).

crontab -u tecmint -l

no crontab for tecmint

Catatan: Hanya pengguna root yang memiliki hak penuh untuk melihat entri crontab pengguna lain. Pengguna normal tidak dapat melihat yang lain.

4. Hapus Entri Crontab

Perhatian: Crontab dengan parameter -r akan menghapus pekerjaan terjadwal yang telah selesai tanpa konfirmasi dari Crontab. Gunakan opsi -i sebelum menghapus crontab pengguna.

crontab -r

5. Prompt Sebelum Menghapus Crontab

crontab dengan opsi -i akan meminta Anda konfirmasi dari pengguna sebelum menghapus crontab pengguna.

crontab -i -r

crontab: really delete root's crontab?

6. Karakter Khusus yang Dibolehkan (*, -, /, ?, #)

  • Asterisk(*) – Cocokkan semua nilai di bidang atau nilai apa pun yang memungkinkan.
  • Tanda hubung(-) – Untuk menentukan rentang.
  • Garis miring (/) – Bidang pertama /10 artinya setiap sepuluh menit atau penambahan rentang.
  • Koma (,) – Untuk memisahkan item.

7. Jadwal Cron Seluruh Sistem

Administrator sistem dapat menggunakan direktori cron yang telah ditentukan sebelumnya seperti yang ditunjukkan di bawah ini.

  • /etc/cron.d
  • /etc/cron.daily
  • /etc/cron.setiap jam
  • /etc/cron.bulanan
  • /etc/cron.weekly

8. Jadwalkan Pekerjaan untuk Waktu Tertentu

Pekerjaan di bawah ini menghapus file dan direktori kosong dari /tmp pada 12:30 setiap hari. Anda perlu menyebutkan nama pengguna untuk menjalankan perintah crontab. Pada contoh di bawah, pengguna root sedang melakukan tugas cron.

crontab -e

30 0 * * *   root   find /tmp -type f -empty -delete

9. String Khusus untuk Jadwal Umum

@reboot

Perintah akan dijalankan ketika sistem di-boot ulang.

@daily

Sekali sehari atau dapat menggunakan @midnight.

@weekly

Sekali dalam seminggu.

@yearly

Setahun sekali. kita juga bisa menggunakan kata kunci @annually.

Perlu mengganti lima bidang perintah cron dengan kata kunci jika Anda ingin menggunakan kata kunci yang sama.

10. Banyak Perintah dengan Double ampersand(&&)

Dalam contoh di bawah ini, command1 dan command2 dijalankan setiap hari.

crontab -e

@daily <command1> && <command2>

11. Nonaktifkan Notifikasi Email.

Secara default, cron mengirimkan email ke akun pengguna yang menjalankan cronjob. Jika Anda ingin menonaktifkannya, tambahkan tugas cron Anda seperti contoh di bawah ini. Menggunakan opsi >/dev/null 2>&1 di akhir file akan mengalihkan semua output hasil cron di bawah /dev/null.

[root@tecmint ~]# crontab -e
* * * * * >/dev/null 2>&1

kesimpulan: Otomatisasi tugas dapat membantu kita melakukan tugas dengan lebih baik, bebas kesalahan, dan efisien. Anda dapat merujuk ke halaman manual crontab untuk informasi lebih lanjut dengan mengetikkan perintah ‘man crontab‘ di terminal Anda.