Manual Crontab Penjadwalan

Manual Crontab Penjadwalan

Manual Crontab Penjadwalan

Ini merupakan lanjutan dari panduan sebelumnya mengenai penjadwalan debmirror.

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.(sumber)

Perintah dasar.

1. Install crontab

Buat yang belum diinstall crontab-nya, cara install nya adalah :

$ sudo apt-get install cron

2. Melihat aktifitas crontab
Untuk melihat schedule yang sedang berjalan di sistem Anda :

$ sudo crontab -l

3. Mengedit cron jobs, 

$ sudo crontab -e

editor default dari cron adalah vi atau nano

4. Format penulisan cron

Format penulisan crontab ditulis dengan format seperti ini :

* * * * * /home/onta/repo/script.sh

Manual Crontab Penjadwalan

Penjelasan :
5 bintang (*) diatas merepresentasikan bagian2 format tanggal yang berbeda, urutannya sebagai berikut :
1. (* pertama) : menit (isian : 0 – 59)
2. (* kedua) : jam (isian : 0 – 23)
3. (* ketiga) : hari dari bulan / tanggal (isian : 1 – 31)
4. (* keempat) : bulan (isian : 1 – 12)
5. (* kelima) : hari dari minggu (isian : 0 – 6) –> 0 = minggu
Contoh :
> Eksekusi setiap menit :

* * * * * 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.
> Eksekusi setiap Sabtu jam 12 siang :
Ini yang saya gunakan dalam konfigurasi repo onta (*ini isi file crontab saya) 

0 12 * * 6 /home/onta/repo/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)
> Eksekusi pada jam 9 malam setiap hari kerja (Senin – Jumat) :

0 21 * * 1-5 /home/onta/repo/script.sh

Arinya sama mirip-mirip ama diatas, cuma (* kelima) diisi rentang, yaitu 1-5 (artinya senin-jumat)
> Eksekusi setiap menit ke 30 (setiap jam) pada setiap tanggal 1 (setiap bulan)

30 * 1 * * /home/onta/repo/script.sh

5. Tips and Trick
> Misalnya kita mau jalanin suatu perintah setiap 10 menit (tiap hari), penulisannya bisa seperti ini :

0,10,20,30,40,50 * * * * /home/onta/repo/script.sh

Tapi ada trik penulisan yang lebih gampang, caranya seperti ini :

*/10 * * * * /home/onta/repo/script.sh

arti dari (*/10) adalah (ngerti lah).
> kode-kode special
crontab menyediakan kode-kode special untuk digunakan, berikut kodenya :

@reboot     Run once, at startup
@yearly     Run once  a year     "0 0 1 1 *"
@annually   (same as  @yearly)
@monthly    Run once  a month    "0 0 1 * *"
@weekly     Run once  a week     "0 0 * * 0"
@daily      Run once  a day      "0 0 * * *"
@midnight   (same as  @daily)
@hourly     Run once  an hour    "0 * * * *

Cara pemakaian :

@daily /home/onta/repo/script.sh

6. Menyimpan log crontab
Supaya kita bisa memonitor pekerjaan crontab kita, hasil log bisa disimpan dalam file, caranya seperti berikut :

21 21 * * 6 /home/onta/repo/script.sh 2>&1 >> /home/onta/repo/logrepo.log

Jadi setiap log debmirror akan dicatat dalam log,

7. Membaca log

$ tail -f /home/onta/repo/logrepo.log

Demikian manual cron singkat dari saya,
saya kutip dari sumber ini. (trimakasih atas panduannya)

Regard
Tuan Pembual