アフィリエイト収入を自動取得するaffiliate-info.rbの結果を定期メール送信してみる

Mac OS XのメニューバーにGoogle AdSenseとAmazonのアフィリエイト収入を表示させることができるというのでやってみました。Rubyスクリプトをcronで自動取得させたログをGeekToolで表示させます。今回、これをメニューバーに表示させるのではなく定期的にメールでレポートするようにしてみました。わたしの場合は、ものは試しと始めたアフィリエイトですから、始めたことすら忘れている程度のため常に表示させておく程のものでもありません。

メニューバーに表示させる方法はこちらに詳細に解説されています。
[sharepost url=”http://hitoriblog.com/?p=2676″]

この方法で取得したログ affiliate-info.txt をcronで定期的にメールするだけです。メール受信をiPhoneにプッシュ通知するように設定していれば次のように表示することもできます。

Affiliate Report via PushMail

まず、ターミナルから次のコマンドでテストしてみます。ディレクトリのuser_name、メール宛先のhogehoge@hage.comは利用環境によって異なります。”Affiliate Program Status”は送信メールのSubjectになりますので適宜変更ください。

cat /Users/user_name/affiliate-info.txt >&1 | mail -s “Affiliate Program Status” hogehoge@hage.com

メールの送受信ができたら、次はこのコマンドをcronに登録します。

$ crontab -e

ひとりぶろぐさんのページで解説されている方法でRubyスクリプトの実行が既に書かれていますので、その下に追記・登録します。

*/30 * * * * /usr/bin/ruby /Users/user_name/bin/affiliate-info.rb 2>/dev/null
00 13 * * * cat /Users/user_name/affiliate-info.txt >&1 | mail -s “Affiliate Program Status” hogehoge@hage.com

crontabって自分で調べてみて本当に便利でと思いました。上記は毎日13:00にメール送信する例ですが、細かく様々なパターンを登録できます。今回、確認のために1日1回の指定をしましたが、わたしの場合は月1回で十分かもしれません。

crontabの書き方 — server-memo.net

iPhoneでメール受信時にプッシュ通知するように設定しておけば、メールを開かずに本文も確認できます。使用しているのはPushMailとProwlです。

PushMailはプロバイダ側の転送機能を使用してPushMail用アカウント(利用時に登録)に転送し、その内容をiPhoneにプッシュします(一番上のスクショ)。プロバイダのメール転送機能を使うのでプッシュは安定していて早いです。2年くらい使ってますが、通知漏れや遅延は記憶にありません。ただアプリの開発元にメールを転送しますので、情報漏洩等に不安を覚える方にはおすすめできません。

AppStore – PushMail (Simon Patarin \600 ★★★ 13 件の評価 iOS3.0以降 9.1 MB) – 2011年4月24日時点
週アスPlus – Gmailをプッシュ通知可能なiPhoneアプリに惚れた!
iPhone・iPad Blog – 受信したメールをPush通知してくれるアプリ”PushMail”
Prowlを使うと母艦のGrowl通知をiPhone側で受け取ることができます(メール受信に限りません)。Mac OS XにGrowlMailプラグインをインストールしていれば標準メーラーの受信をMac OS Xのデスクトップ上にGrowl通知し、それをiPhone側で受け取ることができるようになります。

Affiliate Report via Prowl

冒頭のとおりアフィリエイトは少額過ぎて興味の対象ではありませんでしたが、Mac OS Xのメニューバーに表示させるという作業からいろいろと勉強することができました。Rubyスクリプトを少し変えてaffiliate-info.txtをDropboxに保存するとか、Rubyスクリプトの中だけでメール送信するとかも試してみたり。ただ便利にするだけでなく、興味の対象を広げてくださる @hitoriblog さんには感謝、感謝です。

Posted from dPad on my iPad2