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
# License : GPL
# daftar penerima email notifikasi, pisahkan dengan spasi
RECIPIENTS="[email protected] [email protected]"
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 :)
Bisa juga digabungkan dengan script Ruby berikut untuk mengunduh secara otomatis :) http://github.com/wynst/mangas. Alternatif untuk mendapatkan update manga terbaru yang anda ikuti dengan mendaftar sebagai member di http://www.mangaupdates.com/releases.html dan menambahkan setiap manga yang diinginkan ke Reading List.
Terima kasih mas Willy atas infonya, mesti dicoba nih :)