古いRedHatなシステムからDebian etchなシステムに環境移行の仕事をしたのだけど、当時のRedHatのメールスプールはちょっと変で、POP3で読むとメールの一通目に作業用のシステムデータが残ってる。これが新環境で「社内なのに変なSPAMメールが」とちょっと騒ぎになってしまった。
仕方がないので、こんなスクリプトで逃げた。/bin/bashという制限ありとはいえ、我ながらバカバカしいほどのやっつけスクリプトだ。笑ってくれ orz
#!/bin/sh Count=0 cd /var/mail NMail=/var/tmp/NeoMail rm -rf $NMail mkdir $NMail for i in *;do FL=/var/mail/$i WC=`wc -l $FL|awk '{print $1}'` NWC=`expr $WC - 13` #echo $WC Head1=`head -1 $FL|grep MAILER-DAEMON` Head9=`head -9 $FL|tail -1|grep "This text is"` Head12=`head -12 $FL|tail -1|grep "with the data"` Head13=`head -13 $FL|tail -1` Head14=`head -14 $FL|tail -1|grep "^From\ "` if [ "$Head1" != "" ];then if [ "$Head9" != "" ];then if [ "$Head12" != "" ];then if [ "$Head13" = "" ];then if [ "$Head14" != "" ];then Count=`expr $Count + 1` #echo -n "$Count:$WC/$NWC:$i:$Head1 ... " echo -n "$Count:$i:murmur ... " tail -$NWC $FL > $NMail/$i echo -n "chant ... " sync echo -n "pray ... " cp $NMail/$i $FL echo "invoke!" sync;sync fi fi fi fi fi done
実行すると、該当ユーザのメールをぶったぎる。頭に書き換えたメンバーの頭数も出る。少しでも怪しい要素があると切らないので、動作については確認必須。
ちなみに「murmur ... chant ... pray ... invoke!」というのは「ささやき……えいしょう……いのり……ねんじろ!」と訳す。すっごい大昔のコンピュータゲームネタである。