Tutorial Crontab
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.
* * * * * Perintah Eksekusi
- - - - -
| | | | |
| | | | +----- 5
| | | +------- 4
| | +--------- 3
| +----------- 2
+------------- 1
5 bintang (*) diatas merepresentasikan bagian² 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 :
* * * * * root /home/azam/autopoweroff
jadwal tersebut akan mengeksekusi perintah autopoweroff pada setiap menit dari setiap jam, setiap hari, setiap minggu, setiap bulan.
> Eksekusi setiap Sabtu jam 12 siang :
0 12 * * 6 /home/azam/azam.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).
> Eksekusi pada jam 9 malam setiap hari kerja (Senin – Jumat) :
0 21 * * 1-5 /home/azam/azam.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/azam/azam.sh
> 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/azam/azam.sh
Tapi ada trik penulisan yang lebih gampang, caranya seperti ini :
*/10 * * * * /home/azam/azam.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/azam/azam.sh
> Menyimpan log crontab
Supaya kita bisa memonitor pekerjaan crontab kita, hasil log bisa disimpan dalam file, caranya seperti berikut :
@daily /home/azam/azam.sh 2>&1 >> /home/azam/log/crontab_schedule.log
atau bisa dikirim ke email (harus install mailx dulu), caranya :
@daily /home/azam/azam.sh 2>&1 | mail -s "Cronjob Log me [at] azam.web.id
Itu dulu yang bisa saya tulis, kalo ada pertanyaan, sanggahan, atau penambahan silakan hubungi saya di me [at] azam.web.id
Visitors :1187 Org
Hits : 4660 hits
Month : 142 Users
