Notifikasi Mangastream menggunakan BASH
Apakah Anda penggemar serial komik (manga) Naruto dan One Piece ?
Apakah capek mereload browser Anda untuk menanti seri terakhir dari Mangastream ?
Jika jawabannya YA, maka hanya dengan beberapa baris skrip BASH dibawah ini mungkin bisa membuat Anda lebih tenang di akhir pekan tanpa berlama-lama didepan monitor untuk melihat apakah sudah ada seri terakhir atau belum :)
Skrip ini akan memeriksa apakah seri terbaru sudah ada dan memberitahu Anda melaulu email. Sederhana bukan? Yang dibutuhkan adalah links, MTA (misalnya: Postfix, Sendmail, qmail, Exim dll), akses crontab dan tentunya sistem operasi kesayangan Anda (Linux/BSD). Jangan lupa untuk membuat direktori /etc/mangadata serta bikin file /etc/mangadata/Naruto.last dan /etc/mangadata/One_Piece.last yang berisi data terakhir seri manga ybs. Pastikan user yang menjalankan crontab bisa menulis ke direktori tersebut.
#!/bin/bash # # Description : Skrip notifikasi serial manga terbaru dari Mangastream # Author : Asfihani <asfihani@gmail.com> # License : GPL # daftar penerima email notifikasi, pisahkan dengan spasi RECIPIENTS="asfihani@domain.tld asfik@otherdomain.tld" MANGA_LIST="Naruto One_Piece" URL="http://twitter.com/mangastream" STRING="is out" for MANGA in $MANGA_LIST; do # biasanya manga seri baru hari Kamis sudah ada, hapus lock file pada cycle pertama if [ `date +%u` == "4" ] && [ `date +%H%M` == "0000" ]; then rm -rf /etc/mangadata/$MANGA.lck fi # periksa file lock if [ ! -f /etc/mangadata/$MANGA.lck ]; then # periksa file yang berisi data seri terakhir if [ -f /etc/mangadata/$MANGA.last ]; then LAST_EPISODE=$(cat /etc/mangadata/$MANGA.last) let CURRENT_EPISODE=$LAST_EPISODE+1 MANGA_TITLE=$(echo $MANGA | sed -e "s/_/ /g") OUTPUT=$(links -dump $URL | grep -A1 "$MANGA_TITLE $CURRENT_EPISODE $STRING") if [ "$OUTPUT" != "" ]; then SUBJECT="[MANGABOT] $MANGA_TITLE Chapter $CURRENT_EPISODE sudah keluar" echo $OUTPUT | mail -s $SUBJECT $RECIPIENTS # update seri terakhir echo $CURRENT_EPISODE > /etc/mangadata/$MANGA.last # buat file lock, agar looping selanjutnya dilewati touch /etc/mangadata/$MANGA.lck fi fi fi done
Buat entry di crontab, misalnya untuk memeriksa setiap 15 menit dari hari Kamis s/d Minggu :
*/15 * * * 4-7 /etc/mangadata/check_manga.sh > /dev/null 2>&1
Kelemahan skrip ini adalah jika Mangastream merubah pola string maka skrip mungkin tidak akan bekerja sebagaimana yang diharapkan :)
Random Posts:
← FreePBX Inbound Route dengan DID DomainKeys Identified Mail di Zimbra (Postfix) →
on 11 August 2010 05:08:37 WIB
on 11 August 2010 09:08:27 WIB







2 Comments