.." />

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

2014年3月31日
デーモンなタスクを心から消し去る


仕事はキャッチボールみたいなもの。投げてもらったボールをキャッチして、投げ返して、投げ返すのを忘れている人に思い出させて、ボールをなかなか投げてくれない相手の手からどうボールを奪い取るかとか、厄介な問題なのでそのまま相手の責任でボールを持ち続けてくれないだろうか…だとか、そうやってぐるぐる回しながら最後に仕事のゴールまで到着する、というイメージで私は仕事をしています。

そして社会人たるもの、こちらが投げたボールの行先には責任を持ちたい。でもあわただしい日々を過ごしていると、ボールを投げたことすら忘れてしまうこともしばしば。

重要なタスクはカレンダーやメモで管理をしているけれど、いつも見通しよくしておきたい。古びたタスクこそ早く片付けたい。

そのうち投げっぱなしのタスクはDaemonのような存在になり、心の奥にこびりついて、自分の処理能力を妨げるもとになります。

しかも、絶対取り逃がしてはならないボールならまだしも、「このボール投げたらもしかすると永遠に返ってこないかも…」と、投げる前から微妙な空気の漂うボールやプロジェクトや相手というのもありまして…。リマインダーを使えばいいのでしょうか。しかし私が普段使っているEvernoteのリマインダーは、残念ながら「繰り返しメール配信」には対応していませんでした。

ここはやはりcrontabの出番じゃない?

ということで、以前書いたプログラムを修正して、ただ指定したメールアドレスに、DAEMON_TASKSというテキストファイルの中身を送りつける仕組みを作りました。

/home/xxxx/DAEMONMAIL/というディレクトリに、DAEMON_TASKSというテキストファイルを作り、そこに忘れたい、忘れてもいいようなタスクをただ書き連ねます。


[xxx@xxxxx DAEMONMAIL]$ cat DAEMON_TASKS

田中さん会食 20140330
XX出版取材の件 20140330

そして以下のようなシェルスクリプトを書きます。


#!/bin/bash -xv
# DAEMONMAIL.sh
#
# 2014.3.30 Keiko Kano

exec 2> log
echo $$

#変数の定義
tmp=/tmp/$$
homed=/home/xxxx/DAEMONMAIL

#メールの共通設定
#送信元メールアドレス
from="xxxx@xxxxx.com"

# 本文データにヘッダー情報を付加する

cat <<EOF >> $tmp-header
From:xxxx@xxxxx.com
To:xxxx@xxxxx.com
Subject:DAEMON_TASK_MAIL
EOF

: > $tmp-honbun
cat $tmp-header > $tmp-honbun
cat $homed/DAEMON_TASKS >> $tmp-honbun

#メール送信
cat $tmp-honbun |
/usr/sbin/sendmail -t -f $from

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

私は毎週日曜日の夜に次の週の予定を見直しているので、日曜の午後ぐらいにメールが届けばよいのでそのようにcrontabに記述しましょう。

crontabの書き方はこちらのページを参考にしました。わかりやすくまとまっててとても便利です。ありがたや…。


MAILTO=""
00 15 * * 7 /home/kano/DAEMONMAIL/DAEMONMAIL.sh

今すぐに対応しなくてもいいことはこのメモに書いておけば、毎週リマインドしてくれるので忘れることもないわけです。うーん、crontab、かわいいやつです。

でもよくよく考えてみればそんな返しにくい球を投げた自分にも非があるわけです。別に相手だってボール投げ返す義務があるわけじゃなし。
なるべく打ち返しやすいボールを投げなきゃいけないな…と反省する日々です。お疲れ様です。

Related Posts