Apa itu cron / crontab ? Crontab adalah aplikasi daemon (berjalan dibalik layar) yang digunakan untuk menjalankan tugas yang dijadwalkan pada suatu waktu di sistem operasi linux. Setiap user di sistem yang memiliki file crontab, mengijinkan file tersebut untuk melakukan suatu aksi yang telah dispesifikasikan sesuai waktu yang telah ditentukan. Crontab biasa digunakan untuk membuat backup secara otomatis, sinkronisasi files, dll. Show 1. Install crontab Buat yang belum diinstall crontab-nya, cara install nya adalah : sudo apt-get install cron 2. Melihat aktifitas crontab sudo crontab -l 3. Mengedit cron jobs sudo crontab -e editor default dari cron adalah vi atau pico * * * * * /home/sigit/script.sh Penjelasan : * * * * * php /opt/lampp/htdocs/jobs/test.php jadwal tersebut akan mengeksekusi perintah php pada setiap menit dari setiap jam, setiap hari, setiap minggu, setiap bulan ::bingung::, pokoknya setiap menit dah. 0 12 * * 6 /home/sigit/script.sh (* pertama) artinya pada menit ke 0, (* kedua) artinya pada jam ke 12, (* ketiga) artinya pada tanggal berapapun, (* keempat) artinya pada setiap bulan, (* kelima) artinya pada setiap hari sabtu (6 = sabtu). (semoga ngga bingung) 0 21 * * 1-5 /home/sigit/script.sh Arinya sama mirip-mirip ama diatas, cuma (* kelima) diisi rentang, yaitu 1-5 (artinya senin-jumat) 30 * 1 * * /home/sigit/script.sh 5. Tips and Trick 0,10,20,30,40,50 * * * * /home/sigit/script.sh Tapi ada trik penulisan yang lebih gampang, caranya seperti ini : */10 * * * * /home/sigit/script.sh arti dari (*/10) adalah (ngerti lah). 😀 sudo crontab -l0 Cara pemakaian : sudo crontab -l1 6. Menyimpan log crontab sudo crontab -l2 atau bisa dikirim ke email (harus install mailx dulu), caranya : sudo crontab -l3 Itu dulu yang bisa saya tulis, kalo ada pertanyaa, sanggahan, atau penambahan silahkan hubungi saya Advertisement Share this:Like this:Like Loading... Related201003/18CATEGORYcrontabubuntuTAGScrontab ubuntu Meskipun sintaks penjadwalan pekerjaan baru mungkin tampak menakutkan pada pandangan pertama, itu sebenarnya relatif sederhana untuk dipahami setelah Anda memecahnya. Pekerjaan cron akan selalu memiliki lima kolom yang masing-masingnya mewakili 'operator' kronologis diikuti oleh lintasan dan perintah penuh untuk mengeksekusi: * * * * * home/path/ke/command/the_command.sh Masing-masing kolom kronologis memiliki relevansi spesifik dengan jadwal tugas. Mereka adalah sebagai berikut:
Apa Itu Cron Job?Cron adalah tool yang memungkinkan user menginput command (perintah untuk menjadwalkan tugas berulang pada waktu tertentu. Cron job adalah tugas yang dijadwalkan di cron. User bisa menentukan tugas yang mereka inginkan untuk dijalankan secara otomatis beserta waktu eksekusinya. Selain itu, cron merupakan daemon, yaitu background process (proses latar belakang) yang mengeksekusi tugas non-interaktif. Anda mungkin sudah sering melihat background process di Windows, seperti Services, yang kerjanya mirip dengan cron daemon. Daemon selalu dalam keadaan idle (stand-by), yang menunggu perintah untuk mengeksekusi tugas tertentu. Perintah tersebut bisa diinput melalui komputer apa pun yang ada di jaringan. Kemudian, ada juga cron file, yaitu file teks sederhana yang berisi command yang perlu dijalankan secara berkala pada waktu tertentu. File tabel cron sistem default atau file konfigurasi crontab adalah /etc/crontab, yang berada di direktori crontab /etc/cron.*/. Hanya administrator sistem yang bisa mengedit file crontab sistem. Tapi, sistem operasi serupa Unix mendukung beberapa admin sekaligus. Jadi, setiap admin tersebut bisa membuat file crontab dan menulis command untuk menjalankan job kapan pun mereka menginginkannya. Dengan adanya cron job, user bisa mengotomatiskan pemeliharaan sistem, pemantauan ruang disk, dan penjadwalan backup. Karena kemampuannya ini, cron job cocok untuk komputer yang harus berjalan non-stop, misalnya server. Cron job memang umumnya digunakan administrator sistem, tapi para web developer juga bisa menggunakannya. Contohnya, sebagai administrator website, Anda bisa mengonfigurasi:
Sayangnya, seperti halnya program lainnya, cron memiliki keterbatasan yang mungkin perlu Anda pertimbangkan sebelum mulai menggunakannya:
Meskipun memiliki keterbatasan, cron masih menjadi solusi yang tepat untuk tugas sederhana yang perlu dijalankan pada waktu tertentu, dengan interval reguler selama setidaknya 60 detik. Kalau Anda ingin menjadwalkan job yang hanya dilakukan satu kali, sebaiknya pertimbangkan metode lain. Tips BergunaSebelum membuat cron job, pastikan script Anda bisa dieksekusi. Caranya, buka file di browser Anda (menggunakan URL) atau jalankan script melalui SSH (tergantung pada jenis script Anda). Kalau script tidak bisa dijalankan, hubungi developer untuk mendapatkan bantuan. Operasi Dasar Cron JobBagian ini akan menunjukkan cara menjadwalkan cron job, dengan menginput command ke program shell seperti Bash di Linux atau sistem operasi serupa Unix lainnya. VPS hosting dari Hostinger menggunakan sistem operasi berbasis Linux. Jadi, sebaiknya pelajari cara menjadwalkan cron job agar Anda bisa turut meningkatkan efisiensi alur kerja Anda sebagai administrator VPS. Command line untuk VPS bisa diakses melalui PuTTY SSH. Sebelum menuju ke operasi dasar cron, penting untuk memahami lebih dulu berbagai file konfigurasi cron job:
Kalau ingin mengedit system crontab, pastikan user memiliki hak izin akses root. Berikut ini adalah beberapa operasi dasar yang bisa dilakukan cron: Untuk membuat atau mengedit file crontab, masukkan command berikut: crontab -e Apabila tidak ada file crontab yang ditemukan pada sistem Anda, command akan otomatis membuat yang baru. crontab -e memungkinkan Anda menambahkan, mengedit, dan menghapus cron job. Untuk mengedit file crontab, Anda memerlukan editor teks seperti vi atau nano. Saat pertama kali memasukkan crontab -e, Anda akan diminta menentukan editor teks yang ingin digunakan untuk mengedit file crontab. Untuk melihat daftar tugas terjadwal yang aktif di sistem Anda, masukkan command berikut: crontab -l Kalau sistem Anda memiliki beberapa user, Anda bisa melihat daftar file crontab user dengan memasukkan command berikut ini sebagai superuser: crontab -u username -l Selain itu, Anda juga bisa mengedit job terjadwal user lain dengan mengetikkan command crontab berikut: sudo su crontab -u username -e Untuk mendapatkan hak izin akses root bagi Anda sendiri, tambahkan sudo su di awal command. Beberapa command (termasuk yang di atas) hanya bisa dieksekusi oleh user root. Terakhir, untuk menghapus semua tugas terjadwal di file crontab dan memulai yang baru, ketikkan command berikut: crontab -r Command berikut ini sama dengan command crontab -r, tapi user akan melihat pilihan yes/no sebelum menghapus crontab: crontab -i Selain crontab, user root juga bisa menambahkan cron job ke direktori etc/cron.d. Langkah ini cocok untuk eksekusi script pada instalasi otomatis dan update. Perlu diingat bahwa user yang menambahkan cron job ke direktori ini harus memiliki akses root dan mengikuti konvensi penamaan run-parts. Selain itu, user root bisa memindahkan script mereka ke direktori berikut ini untuk menjadwalkan eksekusinya:
Syntax CrontabUntuk membuat cron job, Anda harus memahami syntax (sintaksis) dan format cron lebih dulu. Kalau tidak, Anda mungkin akan kesulitan mengatur cron job. Syntax crontab terdiri dari lima field dengan value berikut:
Semua field ini harus diisi dan tidak boleh dibiarkan kosong. Sebagai contoh, kalau Anda ingin menyiapkan cron job untuk menjalankan root/backup.sh setiap Jumat pukul 17.37, cron command Anda akan menjadi seperti ini: 37 17 * * 5 root/backup.sh Value 37 dan 17 di atas mewakili pukul 17.37. Dua tanda bintang untuk value Day of the month dan Month mewakili value apa pun yang memungkinkan. Artinya, tugas tersebut akan diulang pada semua tanggal dan semua bulan. Terakhir, value 5 mewakili hari Jumat. Deretan angka tersebut kemudian diikuti oleh lokasi tugas. Kalau merasa kurang yakin untuk menulis sintaksis cron secara manual, Anda bisa menggunakan tool gratis seperti Crontab Generator atau Crontab.guru untuk mendapatkan angka yang tepat bagi waktu dan tanggal yang perlu dimasukkan dalam command. Anda harus benar-benar memahami operator cron job agar bisa mengatur waktu yang tepat untuk cron command. Operator ini memungkinkan Anda menentukan value mana yang ingin dimasukkan ke setiap field. Anda harus menggunakan operator yang tepat di semua file crontab.
Special String untuk Cron JobSpecial string atau string khusus cron job bisa membantu user menjadwalkan cron job pada interval waktu tertentu tanpa harus mencari tahu deretan logis angka yang perlu dimasukkan. Untuk menggunakan string ini, tuliskan tanda @ diikuti frasa-frasa tertentu. Berikut adalah beberapa special string yang bisa Anda gunakan dalam command:
Penting! Selalu berhati-hati saat Anda menjadwalkan cron job yang berkaitan dengan zona waktu. Contoh Syntax CronSetelah Anda mempelajari contoh cron syntax yang benar, sekarang kami akan membantu Anda memahaminya dengan lebih baik. Selalu ingat bahwa output cron akan secara otomatis dikirimkan ke akun email lokal Anda. Kalau tidak ingin lagi menerima email, Anda bisa menambahkan >/dev/null 2>&1 pada command seperti contoh berikut: 0 5 * * * /root/backup.sh >/dev/null 2>&1 Kalau Anda ingin mengirim output tersebut ke akun email tertentu, tambahkan MAILTO dan alamat email yang dimaksud. Berikut contohnya: MAILTO="[email protected]" 0 3 * * * /root/backup.sh >/dev/null 2>&1 Nah, untuk memahami contoh cron syntax dengan lebih baik, simak contoh command berikut ini: ContohPenjelasan0 0 * * 0 /root/backup.shMenjalankan backup setiap hari Minggu tengah malam.0 * * * 1 /root/clearcache.shMenghapus cache setiap jam pada hari Senin.0 6,18 * * * /root/backup.shBackup data dua kali dalam satu hari pada pukul 06.00 dan 18.00*/10 * * * * /scripts/monitor.shMelakukan monitoring setiap 10 menit.*/15 * * * * /root/backup.shMelakukan backup setiap 15 menit.* * 20 7 * /root/backup.shMelakukan backup setiap menit pada tanggal 20 Juli.0 22 * * 1-5 /root/clearcache.shMenghapus cache setiap hari kerja (Senin–Jumat) pada pukul 22.00.0 0 * * 2 * /root/backup.shMelakukan backup setiap Selasa tengah malam.* * * 1,2,5 * /scripts/monitor.shMelakukan monitoring setiap menit selama Januari, Februari, dan Mei.10-59/10 5 * * * /root/clearcache.shMenghapus cache setiap sepuluh menit pada pukul 05.00, dimulai pada 05.10.0 8 1 */3 * /home/user/script.shMengatur tugas agar dijalankan per kuartal, pada hari pertama bulan tersebut pukul 08.00.0 * * * * /root/backup.shMembuat backup setiap jam.* * * * * /scripts/script.sh; /scripts/scrit2.shMenyertakan beberapa tugas dalam satu cron job. Berguna untuk menjadwalkan beberapa tugas yang perlu dieksekusi bersamaan.@reboot /root/clearcache.shMenghapus cache setiap kali Anda menyalakan sistem.0 8 1-7 * 1 /scripts/script.shMenjalankan script pada hari Senin pertama setiap bulan, pukul 08.00.5 4 * * 0 /root/backup.shMembuat backup setiap hari Minggu pukul 04.05.15 9 1,20 * * /scripts/monitor.shMenjalankan monitoring pada pukul 09.15 di tanggal 1 dan 20 setiap bulan.@hourly /scripts/monitor.shMenjalankan monitoring setiap jam.0 0 1,15 * 3 /scripts/script.shMenjalankan script setiap Rabu tengah malam, antara tanggal 1 hingga 15 setiap bulan.15 14 1 * * /root/clearcache.shMenghapus cache di hari pertama dalam satu bulan, pada pukul 14.15.00 08-17 * * 1-5 bin/check-db-statusMengecek status database setiap hari dari Senin–Jumat, per jam dari pukul 08.00 hingga 17.00.15 6 1 1 * /root/backup.shMelakukan backup setiap tanggal 1 Januari pukul 06.15.0 0 * * * /scripts/monitor.shMengeksekusi script monitoring satu kali dalam sehari, tengah malam.0 0 15 * * /root/clearcache.shMenghapus cache pada tanggal 15 setiap bulan, tengah malam.* * * * 1,5 /scripts/monitor.shMelakukan monitoring setiap Senin dan Jumat.Cron PermissionAnda bisa membuat atau mengedit file-file berikut ini untuk mengizinkan atau membatasi user agar tidak menggunakan file cron sistem:
Miliki server virtual dan resource online Anda sendiri. Coba VPS Hosting KesimpulanMenjadwalkan tugas secara otomatis tentu merupakan solusi yang benar-benar praktis agar Anda tidak melewatkan tugas yang penting. Cron job adalah metode yang tepat bagi administrator sistem dan web developer agar bisa mengelola tugas repetitif. Cukup ketikkan command yang sesuai, lalu pilih waktu eksekusi yang benar. Untuk menjadwalkan cron job, gunakan sintaksis yang tepat dalam command line. Atau, Anda bisa menggunakan string khusus agar lebih mudah. Ingat, berikan permission yang sesuai agar hanya user yang sah yang bisa mengakses file cron job. Semoga artikel ini bisa membantu Anda memahami konsep dasar tentang apa itu crob job untuk menjadwalkan tugas, ya. Kalau masih memiliki pertanyaan atau saran, silakan tuliskan pada kolom komentar di bawah ini. Penulis Faradilla A. Faradilla, yang lebih akrab disapa Ninda, adalah Content Manager di Hostinger. Ia suka mengikuti tren seputar teknologi, digital marketing, dan belajar bahasa. Melalui tutorial Hostinger ini, Ninda ingin berbagi informasi dan membantu pembaca menyelesaikan masalah yang dialami. |