December 3, 2016 thumb Mengatur Penggunaan Waktu dalam Crontab Job untuk Otomasi Pekerjaan

pada tulisan saya yang sebelumnya kita telah mencoba menjalankan crontab job pada periode waktu setiap menit.  tentu saja menjalankan crontab job tidaklah harus setiap menit. untuk itu kita akan belajar bagaimana mengatur penggunaan waktu dimana atau kapan crontab job akan berjalan.  penggunaan waktu ini sangat penting karena dipakai untuk mengatur resource yang dipakai oleh crontab job dalam menjalankan tugasnya. jika terlalu sering maka akan menghabiskan banyak resource yang pada giliranya membebani server, jika kurang maka kinerja tidak maksimal. pada kenyataanya penggunaan atau menjalankan crontab job biasanya dilakukan dikala server tidak sibuk, seperti pada jam dini hari ketika banyak user yang tidak memakai system.

masih ingat dengan aturan syntax pada crontab job.

* * * * * command to be executed
- - - - -
| | | | |
| | | | ----- Day of week (0 - 7) (Sunday=0 or 7)
| | | ------- Month (1 - 12)
| | --------- Day of month (1 - 31)
| ----------- Hour (0 - 23)
------------- Minute (0 - 59)

 aturan tersebut yang harus kita ingat. adapaun untuk penggunaan syntax dan operator pada penulisan waktu mengikuti aturan sebagai berikut :

  • The asterisk (*) : operator ini menandakan bahwa dia akan berjalan pada seluruh nilai. asterisk pada jam akan berrarti setiap jam dan asterisk pada hari berarti setiap hari.
  • The comma (,) : untuk operator comma, kita gunakan secara spesific pada list yang berada pada comma, misalkan pada operator jam 3,4,5,6,8,10 maka khusus pada jam-jam itulah crontab job akan berjalan.
  • The dash (-) : untuk operator dash berfungsi untuk menggunakan nilai range, misalkan penulisan 1 – 15 berarti sama dengan menuliskan 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15. jika itu di masukan dalam operator hari maka secara otomatis crontab job akan berjalan pada tanggal 1 sampai 15.
  • The separator (/) : operator ini menandakan berapa kali crontab job harus berjalan. jadi misalkan pada bagian jam kita tulis 0-23/ * maka akan dijalankan setiap jam, jika kita ingin berjalan setiap 2 jam maka cukup ditulis */2 maka system akan dijalankan setiap 2 jam.

untuk penggunaan-nya agar lebih paham , berikut ini adalah contoh kasus pengugnaan crontabjob. dalam berbagai kasus.

  • menjalankan crontab job setiap hari 10 menit setelah jam 00:00 dini hari.
10 0 * * * /path/to/command
  • menjalankan crontab job setiap hari minggu pukul 15:40.
40 15 * * 7 /path/to/command
  • menjalankan crontab job pada awal bulan setiap 15 menit sekali antara jam 00:00 sampai jam 06:00
*/15 0-6 1 * * /path/to/command
  • menjalankan crontab job setiap awal tahun antara jam 06:00 sampai jam 15:00 setiap 2 jam
* 6-15/2 1 1 * /path/to/command

selain syntax tersebut kita juga bisa menggunakan beberapa syntax khusus yang ada pada crontab job, syntax khusus ini dipakai untuk kondisi khusus atau untuk mempercepat definisi dari waktu pada penggunaan crontab job.

Syntax Khusus Maksud
@reboot Jalankan Sekali ketika reboot.
@yearly Jalankan Sekali setiap awal tahun ekivalen dengan 0 0 1 1 *
@annually sama dengan tahunan
@monthly Jalankan Sekali setiap Bulan  ekivalen dengan 0 0 1 * *
@weekly Jalankan Mingguan ekivalen dengan 0 0 * * 0
@daily Jalankan Sekali Setiap hari , ekivalen dengan 0 0 * * *
@midnight sama dengan @daily
@hourly Jalankan sekali setiap jam, ekivalen dengan  0 * * * *

penggunaan syntax diatas pun cukup mudah misalkan kita ingin menjalankan harian cukup dengan mengetikan :

@daily /path/to/command

demikianlah syntax penggunaan waktu dalam menjalankan crontab job, dengan menggunakan syntax tersebut maka crontab job akan berjalan sesuai jadwal yang sehingga tidak memboroskan resource yang ada di server. pada tulisan selanjutnya akan saya bahas bagaimana melakukan menulis crontab job tidak pada table schedule-nya tetapi langsung pada tempat dimana crontab job akan menyimpan data. oke, sampai jumpa pada Tulisan berikutnya, Okey Donkey dan Salam Goblooge.

Comments

total comments