December 2, 2016 thumb Cara Menggunakan Syntax Crontab Job untuk Otomasi Pekerjaan

seperti yang saya bahas sebelumnya, crontab job pada linux dapat digunakan untuk melakukan pekerjaan – pekerjaan yang dilakukan secara rutin oleh system ( Membuat Cron Tab Job di Linux untuk Otomasi Sebuah Pekerjaan ). seperti sinkronisasi data, backup data, pengiriman email yang mana oleh system dengan sendirinya akan dilakukan tanpa campur tangan manusia. kalau pada tulisan sebelumnya saya jelaskan bagaimana cara menggunakan dan dasar-dasarnya kali ini akan saya kasih contoh secara real bagaimana menggunakan crontab job.

seperti yang saya katakan sebelumnya, crontab job tidak hanya digunakan pada satu bahasa, dengan menggunakan script sederhana maka kita dapat meminta crontab job menjalankan sebuah script dalam berbagai macam bahasa pemrograman, selama runtime dan library dari bahasa tersebut tersedia di system. crontab job sendiri pada dasarnya menggunakan bash sebagai bahasa pengantarnya.

skenario yang akan saya pergunakan adalah kita akan melakukan pengiriman sebuah email kepada akun tertentu setiap 1 menit. yang mana isi email itu tak lain adalah sebuah Tulisan Crontab Job yang mana dicatat pula waktu pengirimanya. tentu saja data yang dikirimkan adalah data kosong atau sekedar waktu tertentu. tetapi aksi pengiriman ini pada dasarnya bisa diubah ke berbagai aksi lain, seperti menghapus cache membersihkan road map data, melakukan update dan lain sebagainya yang mana semuanya dilakukan oleh crontab job.

dalam skenario kita kali ini, saya memiliki sebuah file bernama mail.php yang saya simpan pada sebuah folder. taruhlah path lengkap dari folder tersebut adalah /var/www/html/phpmail/ yang mana didalamnya terdapat sebuah file mail.php yang akan digunakan untuk mengirim sebuah pesan email. sebelum saya mencoba menggunakan crontab saya cek dahulu apakah file mail.php itu bekerja, caranya dengan membuka http://localhost/phpmail/mail.php. setelah saya coba sekali pesan pun terkirim di email. jika anda ingin tahu bagaimana caranya mengirim pesan email melalui PHP silakan baca tulisan saya yang berjudul Cara Mengirimkan Email Menggunakan PHPMailer.

pastikan dahulu jika script mail.php bisa berjalan dengan baik. jika tidak maka harus dibenahi dahulu.

pastikan dahulu jika script mail.php bisa berjalan dengan baik. jika tidak maka harus dibenahi dahulu.

setelah saya memastikan bahwa script PHP berjalan lancar saya tinggal melakukan warp pada file tersebut dengan sebuah file bash script. tujuan dari file bash script ini adalah untuk membuat sebuah warp agar masalah path di file php teratasi. jika tidak maka working directory dari proses bash tersebut ada pada home user yang me-running. jika kebetulan saya menggunakan /home/goblooge/ maka working direcotory akan ada disana, sehingga saya perlu melakukan change direcotry ke absolute path folder dimana kita bekerja dengan perintah cd. itu sebabnya saya butuh sebuah file bash yang saya beri nama mail.sh. untuk buka terminal.

cd /var/www/html/phpmail/
nano mail.sh

dengan demikian directory phpmail terbuka, saya tinggal mengetikan perintah untuk mengemasukan sebuah file warp bash bernama mail.sh yang mana akan saya isi dengan script berikut.

cd /var/www/html/phpmail/ 
echo "RUNNING" >> mail.txt 
/usr/bin/php /var/www/html/phpmail/mail.php >> maildaemon.txt

penjelasan sebagai berikut dari script mail.sh tersebut.

  • baris pertama karena saya menggunakan user goblooge, maka directory aktif yang dijalankan oleh crontab job adalah /home/goblooge, karena saya butuh supaya directory aktif adalah /var/www/html/phpmail/ maka dibagian atas script yang saya jalankan harus saya tambahi dengan #cd /var/www/html/phpmail/
  • baris kedua tak lebih sebagai penanda , sebuah pesan running akan ditulis kepada sebuah file bernama mail.txt. nanti setiap kali crontab atau script ini dijalankan pada saat itulah, sebuah pesan RUNNING ditambahkan kedalam file mail.txt.
  • baris ketiga adalah proses pengiriman email yang sebenarnya, karena akan memanggil fungsi php, saya panggil executable dari file php yang kebetulan berlokasi di /usr/bin/php untuk menjalan file bernama mail.php. hasil keluaran file tersebut saya tulis di maildaemon.txt tujuanya jika terdapat error pada pengiriman akan tercatat di file tersebut.
isi dari file mail.sh

isi dari file mail.sh

setelah itu file akan saya simpan. dengan nama mail.sh. setelah tersimpan jangan lupa melakukan chmod pada file mail.sh. agar dapat di execute oleh bash.

chmod +x mail.sh

atau bisa menggunakan berikut ini untuk hasil yang lebih sederhana.

chmod 777 mail.sh
Pastikan file mail.sh executable

Pastikan file mail.sh executable

setelah selesai tinggal kita tulis perintah di bagian table crontab job supaya mengeksekusi perintah yang ada di mail.sh , caranya tinggal buka ketikan :

crontab -e

dan ketikan script berikut ini, dalam skenario ini saya akan menjalankan mail.sh setiap 1 menit untuk mengirimkan email ke alamat email bidan.ekasafitri@gmail.com. berikut ini scriptnya.

*/1 * * * * /var/www/html/phpmail/mail.sh

setelah itu keluar dan kita running service dari crontab job.

sudo service cron start
isi keseluruhan folder phpmail

isi keseluruhan folder phpmail

ketika pemberitahuan bahwa service telah berjalan saya menunggu selama beberapa menit (sekitar 18 menit). saya buka file mail.txt yang ada /var/www/html/phpmail/ ternyata sudah 17 kata running, dan saya lihat di bagian email. ada 17 buah email yang dikirimkan oleh system. untuk memtikan agar crontab job berhenti cukup ketikan :

sudo service cron stop
sebanyak 17 email dikirimkan dalam waktu sekitar 18 menit, secara otomatis, tanpa campur tangan saya.

sebanyak 17 email dikirimkan dalam waktu sekitar 18 menit, secara otomatis, tanpa campur tangan saya.

dari hasil pengujian cukup jelas, bahwa dengan crontab job saya bisa mengirimkan email pada periode tertentu, dalam contoh kasus ini saya buat menitan, agar hasilnya cepat. untuk source code lengkap dapat di download di Dropbox atau Google Drive. pada tulisan berikutnya saya akan tunjukan bagaimana caranya membuat yang harian, mingguan, tiap sabtu, tiap jum’at dan lain sebagainya. jadi sampai jumpa pada tulisan saya yang berikutnya. Okey Donkey dan Salam Goblooge.

tulisan berikutnya adalah Mengatur Penggunaan Waktu dalam Crontab Job untuk Otomasi Pekerjaan.

Comments

total comments