.." />

道具としてのコンピュータ

2012年7月18日
DropboxからTODOリストをメールで送る


前職を退職したときに、健康保険を関東ITソフトウェア健康保険組合の任意継続にしたのですが、
先日旅行に行っている折、保険料の振込をうっかり忘れていて、即時資格喪失というアホをやらかしてしまいました。

直接の被害と言えば、ジムが使えなくなるぐらい。

ですが、お金の振込を忘れたということが本当に情けなくて情けなくてですね。

自分のことだからよかったものの、万が一人のお金だったらと思うと
背筋がぞっとします。これはまずい、なんとかせねば、と思い立ったわけです。

これまでもTODOリストはGoogleカレンダーに書いていたのだけれども、
Googleカレンダーを見ていないと見落とすしなぁ…。

ということで、DropboxにテキストベースのTODOリストを置いて、それをwgetで取得して、
メールでその日の朝携帯に通知するというプログラムを書いてみました。

毎度のことながら、Open USP Tukubaiのコマンドを使っております。(これしか使えないからね…)

元のデータはこんな感じ。Dropbox上に保存し、リンクを取得します。

20120718 保険料振込 001 支払
20120718 スポーツジム年会費 001 支払
20120720 A社宛請求書起票 002 請求
20120815 B社原稿締切 003 原稿締切

それを以下のシェルで加工して、メール送信します。crontabで1日1回起動します。

#!/bin/bash -xv
# TODO.sh
# 2012.7.17 Luye Huizi  luyehuzi[at]xxxxxx.com
# Dropbox上のTODOリストに従ってアラートメールを送る

exec 2> /tmp/log

# パス/LANGの設定
export LANG=ja_JP.UTF-8

#変数の定義
tmp=/tmp/tmp$$
home=/home/xxxx/TODO
today=$(date +%Y%m%d)

#TODOリストのダウンロード
wget -O $tmp-todo https://www.dropbox.com/s/xxxxxxxxxxxxxxx/TODO.txt?dl=1

#文字コードの変換
nkf -w $tmp-todo |
tr -d ‘^M’ |
sort -k1,1 > $tmp-todo2

#今日の日付ファイル
echo $today > $tmp-today

#TODOリストから今日のTODOを抽出する
join1 key=1 $tmp-today $tmp-todo2 |
self 3 4 1 2 |
sort -k1,1 |
self 2 3 4 > $tmp-todo3

#メール送信
if [ -s $tmp-todo3 ]; then
cat $tmp-todo3 |
mail -s “TODOリスト $today”  luyehuizi@xxxxxx.com
else
:
fi

#終了処理
rm $tmp-*
exit 0

 

こんな感じのメールが届きます。

from XXXX@XXX.XXXX.ne.jp
To 自分
=======
支払 20120718 スポーツジム年会費
支払 20120718 健康保険料

課題としては、データは本文に張り付けたいのだけれどもmailコマンドの仕様なのか
cron起動にすると、添付ファイルになってしまうという点かしらん。
(どなたか、対策を教えて下さい…)

Dropbox上のデータは、wgetで取得できるので、いろいろと面白い使い方ができるのではないかと思います。

これで、もう入金忘れの過ちは二度と犯さずに済む…はず…。

Related Posts