Dasar-dasar crontab Linux

Cron adalah fasilitas yang tersedia di sistem operasi Unix untuk menjalankan sebuah perintah secara berkala. Frekuensi waktu terkecilnya adalah 1 menit sekali. Frekuensi terbesarnya hingga beberapa tahun sekali. Dapat juga dipilih ingin menjalankan setiap hari tertentu, setiap berapa jam sekali, pada menit keberapa, dst.

Untuk menggunakan crontab, login ke shell lalu ketikkan:

$ crontab -e

(Catatan: lambang “$ ” menunjukkan prompt shell, bukan untuk diketik secara literal)

Kita akan masuk ke editor dan siap mengetikkan daftar perintah dalam sebuah format yang disebut crontab (“cron table”). Adapun format crontab ini dijelaskan dalam manual page Unix (dapat dilihat dengan mengetikkan perintah “man 5 crontab” pada prompt shell).

Jika Anda tidak suka editor default, Anda bisa keluar lalu mengetikkan seperti ini:

$ EDITOR=nano crontab -e

untuk memilih editor nano, misalnya. Bisa juga editor-editor lain seperti joe, pico, emacs, vim, dll.

Setelah membuat crontab, save dan keluarlah dari editor. Maka crontab akan terpasang.

Untuk melihat crontab saat ini, gunakan:

$ crontab -l

Untuk menghapus crontab:

$ crontab -r

Format crontab

Pada dasarnya setiap baris berisi 6 kolom. Lima kolom pertama adalah spesifikasi waktu yang diinginkan. Kolom ke 6 dan seterusnya berisi perintah yang ingin dijalankan. Lima kolom waktu berturut-turut adalah menit, jam, hari, bulan, day of week. Tiap kolom waktu dapat diisi angka, deretan angka dipisahkan koma, atau *, atau */N di mana N adalah angka. Contoh:

0 * * * * PERINTAH...

artinya jalankan pada menit ke-0 di setiap jam/setiap hari/setiap bulan/day of week apa saja. Perintah akan dijalankan sekali setiap jam yaitu pada menit ke-0 (contoh: 00:00, 01:00, dst).

*/5 * * * * PERINTAH...

Jalankan setiap 5 menit sekali.

30 13 * * * PERINTAH...

Jalankan sekali sehari, yaitu pada pukul 13:30.

0 0 * * 6,7 PERINTAH...

Jalankan sekali sehari setiap tengah malam (pk 00:00) tapi hanya pada weekend (6=sabtu, 7=minggu).

Untuk menambahkan notifikasi hasil crontab anda, tambahkan mailto di awal crontab

MAILTO=alamat@email.anda

dan ganti alamat@email.anda dengan alamat email Anda. Anda bisa membuat perintah test yang dijalankan setiap menit, misalnya:

* * * * * echo test

maka pada menit berikutnya Anda akan menerima email berisi output perintah cron, dalam kasus ini adalah test.

Jika ingin mengetes perintah, usahakan perintah Anda mengeluarkan suatu output, maka Anda akan mendapati outputnya di email.

Untuk membuang output sebuah perintah, Anda bisa menggunakan sintaks “>/dev/null” atau “2>&1 >/dev/null” di akhir perintah.

Untuk menjalankan skrip php dengan query string di crontab caranya tambahkan petik ganda di URL skrip yang dijalankan, contoh:

* * * * * lynx -dump "http://example.com/Query.php?s=1"

Semoga berguna :)

This entry was posted in Internet Networking, Linux and tagged , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *