Crontab di Linux: CONTOH Penjadwalan Pekerjaan
โก Ringkasan Cerdas
Crontab di Linux menjadwalkan perintah untuk dijalankan secara otomatis pada waktu, tanggal, atau interval tetap menggunakan daemon cron, memungkinkan administrator untuk mengotomatiskan pencadangan, pembersihan log, pemberitahuan, dan pemeliharaan sistem rutin tanpa intervensi manual apa pun.

Crontab, singkatan dari cron table, adalah file konfigurasi dan perintah yang menggerakkan cron table. Linux Penjadwalan tugas. Bagian di bawah ini menjelaskan format crontab, perintah untuk menambah, mencantumkan, dan menghapus tugas, string @ khusus, dan contoh penjadwalan yang siap digunakan.
Apa itu crontab?
Cron dinamai berdasarkan kata Yunani "Chronos", yang berarti waktu. Ini adalah proses sistem (daemon) yang secara otomatis menjalankan tugas sesuai jadwal yang telah ditetapkan. Cron adalah serangkaian perintah yang digunakan untuk menjalankan tugas terjadwal secara teratur. Crontab adalah singkatan dari "cron table", dan memungkinkan Anda menggunakan penjadwal tugas cron untuk mengeksekusi tugas-tugas tersebut.
Crontab juga merupakan nama program yang digunakan untuk mengedit jadwal tersebut. Program ini dijalankan oleh file crontab โ sebuah file konfigurasi yang mencantumkan perintah shell yang akan dijalankan secara berkala sesuai jadwal yang ditentukan.
Mengapa Menggunakan Cron Jobs?
Berikut adalah alasan utama menggunakan cron job di Linux:
- Melakukan pencadangan terjadwal untuk file log atau basis data.
- Menghapus file log lama secara otomatis.
- ArchiMenghapus dan membersihkan tabel basis data.
- Mengirimkan email pemberitahuan seperti buletin atau pengingat masa berlaku kata sandi.
- Melakukan pembersihan rutin terhadap data yang di-cache.
- Mengotomatiskan tugas-tugas Unix dan Linux yang berulang.
- Mengotomatiskan pemeliharaan sistem rutin.
Bagaimana cara menggunakan cron di Linux?
Paket sistem Linux menyertakan penjadwal tugas yang berguna bernama crontab. Crontab populer karena suatu tugas dapat dijadwalkan untuk dijalankan sebagai pengguna root, yang membuat perubahan sistem otomatis lebih mudah. โโAnda cukup mengubah tugas sekali dan kemudian menunggu hingga tugas tersebut dijalankan kembali sesuai jadwal.
Format Crontab Linux
Entri crontab Linux memiliki enam kolom. Lima kolom pertama menentukan waktu dan tanggal eksekusi, dan kolom keenam berisi perintah yang akan dijalankan.
Sintaks crontab:
[Minute] [hour] [Day_of_the_Month] [Month_of_the_Year] [Day_of_the_Week] [command]
Diagram di bawah ini memetakan setiap tanda bintang dalam entri crontab ke kolom yang dikendalikannya, dari menit hingga hari dalam seminggu, diikuti oleh perintah yang akan dieksekusi.
Kelima kolom waktu tersebut menerima nilai-nilai berikut: menit (0โ59), jam (0โ23), tanggal (1โ31), bulan (1โ12 atau JanโDes), dan hari dalam seminggu (0โ7, di mana 0 dan 7 sama-sama berarti Minggu). Anda mengontrol setiap kolom dengan karakter khusus berikut:
- Tanda bintang (*): Mencocokkan setiap nilai yang mungkin untuk bidang tersebut.
- Tentukan rentang: Gunakan tanda hubung untuk menentukan rentang, seperti 1-10, 30-40, jan-mar, atau mon-wed.
- Tentukan beberapa rentang: Gunakan koma untuk menggabungkan rentang waktu, seperti apr-jun,oct-dec.
Cara Menambah/Memodifikasi Crontab
Pengguna dapat mengedit tugas crontab mereka sendiri dengan perintah crontab berikut. Opsi -u menargetkan crontab pengguna tertentu, jadi berikan nama pengguna seperti yang ditunjukkan pada contoh selanjutnya:
$ crontab -u -e
Perintah di atas akan membuka konfigurasi crontab pribadi untuk sistem Anda, yang dapat Anda edit menggunakan editor teks default Anda.
Tidak perlu memulai ulang cron; cron akan secara otomatis mengambil perubahan Anda. Untuk melihat tugas Anda saat ini, gunakan:
$ crontab -l
Untuk menghapus tugas crontab Anda, gunakan perintah berikut:
$ crontab -r
Untuk menambahkan atau memperbarui tugas di crontab, gunakan perintah di bawah ini:
crontab -e
Untuk mengedit crontab pengguna lain, sebutkan nama pengguna dengan opsi -u:
crontab -u username -e
Cara Daftar Crontab
Untuk melihat entri crontab pengguna saat ini:
crontab -l
Untuk melihat entri crontab pengguna tertentu:
crontab -u username -l
Contoh Crontab Penting
Berikut beberapa contoh jadwal crontab yang penting dan siap digunakan:
| Deskripsi | perintah |
|---|---|
| Menjalankan berbagai tugas terjadwal. Perintah di bawah ini dieksekusi pada pukul 7 pagi dan 5 sore setiap hari. |
0 7,17 * * * /scripts/script.sh
|
| Menjalankan tugas cron setiap 5 menit. |
*/5* * * * * /scripts/script.sh
|
| Menjalankan tugas setiap Monday Jam 5 pagi. Ini berguna untuk tugas mingguan seperti pembersihan sistem. |
0 5 * * mon /scripts/script.sh
|
| Menjalankan skrip Anda setiap 3 menit. |
*/3 * * * * /scripts/monitor.sh
|
| Menjadwalkan tugas cron yang akan dieksekusi pada bulan-bulan tertentu โ di sini, Februari, Juni, dan September. |
* * * feb,jun,sep * /script/script.sh
|
| Dijalankan pada hari-hari tertentu. Contoh ini berjalan setiap Monday dan Rabu pukul 5. |
0 17 * * mon,wed /script/script.sh
|
| Memungkinkan cron untuk dieksekusi pada hari Sabtu pertama setiap bulan. |
0 2 * * sat [ $(date +%d) -le 06 ] && /script/script.sh |
| Menjalankan skrip setiap 6 jam, dikonfigurasi seperti di bawah ini. |
0 */6 * * * /scripts/script.sh
|
| Menjadwalkan tugas untuk dieksekusi dua kali pada Monday dan Selasa. Gunakan pengaturan berikut untuk melakukannya. |
0 4,17 * * mon,tue /scripts/script.sh
|
| Menjadwalkan tugas cron untuk dieksekusi setiap 15 detik. |
* * * * * /scripts/script.sh * * * * * sleep 15; /scripts/script.sh |
| Menjadwalkan tugas setiap tahun. @yearly mirip dengan โ0 0 1 1 *โ. Tugas akan dijalankan sekali setahun pada tengah malam tanggal 1 Januari โ berguna untuk ucapan Tahun Baru. |
@yearly /scripts/script.sh
|
| Menjalankan tugas secara bulanan. @monthly mirip dengan โ0 0 1 * *โ. Tugas dijalankan pada tengah malam di hari pertama setiap bulan. |
@monthly /scripts/script.sh
|
| Menjalankan beberapa tugas menggunakan satu entri cron. |
* * * * * /scripts/script.sh; /scripts/scrit2.sh |
| Menjadwalkan tugas secara mingguan. @weekly mirip dengan โ0 0 * * 0โ. Ini menjalankan tugas mingguan seperti pembersihan sistem pada tengah malam setiap hari Minggu. |
@weekly /bin/script.sh
|
| Menjadwalkan tugas setiap hari. @daily mirip dengan โ0 0 * * *โ. Tugas dijalankan sekali sehari pada tengah malam. |
@daily /scripts/script.sh
|
| Menjalankan tugas setiap jam. @hourly mirip dengan โ0 * * * *โ. Tugas dijalankan pada awal setiap jam. |
@hourly /scripts/script.sh
|
| Menjalankan tugas saat sistem dihidupkan ulang. @reboot berguna untuk tugas-tugas yang harus dijalankan sistem saat startup, sehingga pekerjaan latar belakang dapat dimulai secara otomatis. |
@reboot /scripts/script.sh
|

