Penjadwalan Secara Otomatis dengan Crontab di Linux
Pada sistem operasi berbasis Linux kita bisa melakukan penjadwalan secara otomatis dengan menggunakan Crontab. Maksudnya kita bisa mengeset pada waktu tertentu agar suatu perintah atau aplikasi berbasis CLI (Command Line Interface) secara otomatis. Misalnya untuk melakukan backup data di server setiap jam 1 malam.
Cara Mengeset Crontab
1 | crontab -e |
Format penulisan
SET_WAKTU PERINTAH_ATAU_BASH_SCRIPT
Format penulisan waktu
1 2 3 4 5 6 7 8 | * * * * * - - - - - | | | | | | | | | +----- hari (0 - 6) (0=Minggu) | | | +------- bulan (1 - 12) | | +--------- tanggal (1 - 31) | +----------- jam (0 - 23) +------------- menit (0 - 59) |
Contoh waktu
1 2 3 4 5 6 7 8 9 | * * * * * <command> #setiap menit 30 * * * * <command> #setiap 30 menit 45 6 * * * <command> #setiap jam 6.45 45 18 * * * <command> #setiap jam 18.45 00 1 * * 0 <command> #setiap jam 1 hari Minggu 00 1 * * 7 <command> #setiap jam 1 hari Minggu 00 1 * * Sun <command> #setiap jam 1 hari Minggu 30 8 1 * * <command> #setiap jam 8.30 hari pertama setiap bulan 00 0-23/2 02 07 * <command> #setiap jam pada tanggal 2 Juli |
Ada juga spesial string
1 2 3 4 5 6 7 8 | @reboot <command> #pada saat boot @yearly <command> #sekali setahun [0 0 1 1 *] @annually <command> #sekali setahun [0 0 1 1 *] @monthly <command> #sekali sebulan [0 0 1 * *] @weekly <command> #sekali seminggu [0 0 * * 0] @daily <command> #sekali sehari [0 0 * * *] @midnight <command> #sekali sehari [0 0 * * *] @hourly <command> #sekali sejam [0 * * * *] |
Saya ingin mencoba menjalankan script bash yang isinya perintah mencetak waktu setiap menit ke dalam file log.
1 2 3 | #!/bin/bash waktu=$(date); echo $waktu >> log; |
1 | * * * * * /home/musa/demo_crontab |
Isi dari file log
1 2 3 4 5 | cat log Thu Feb 19 22:00:01 WITA 2015 Thu Feb 19 22:01:01 WITA 2015 Thu Feb 19 22:02:01 WITA 2015 Thu Feb 19 22:03:01 WITA 2015 |
Untuk melihat file crontab
1 | crontab -l |
Menghapus file crontab
1 | crontab -r |
Gunakan bantuan situs crontab.guru untuk mengecek konfigurasi crontab.
selamat mencoba 🙂
via corenominal.org
Saya ingin membuat crontab berjalan 2 minggu sekali. Apakah command nya spt ini 0 06 */14 ** ya om? Terima kasih
jam 06.00 setiap tanggal 14. referensi lain crontab setiap 2 minggu.
=> 0 06 */14 **
next at 2019-08-29 06:00:00
then at 2019-09-01 06:00:00
then at 2019-09-15 06:00:00
then at 2019-09-29 06:00:00
then at 2019-10-01 06:00:00
Tapi hitungannya gak tiap 14 hari ya om?
setiap tanggal 14