/ uso8000k.net: September 2011 Archives

20110930015342

CoD MW2

まともな奴なら、朝起きて俺は今日死ぬんだなんて考えはしないだろう。だがそれは贅沢なことだ。皮肉ぬきにな。死に場所を考えるのは一種の自由だよ。自分を見つめ直すいい機会だ。 武器もない、味方もいない、これは利口な奴のすることじゃない。だがこの土地はそんな馬鹿どもを何千年にもわたって見守ってきた。受け入れてもらえるだろう、俺たちも。なぜなら無数の悪夢のなかでも、わざわざ最悪な選択をしたんだからな。 俺たちは大地の息吹のように前進する。唯一の目標を目指して 俺たちは 必ず 奴を殺す。

CoD4 MWからテキトウに遊んでたけれどMW2面白いですね。

Posted by uso8000k | Permalink | Categories: Diary | [ツィート(笑)]

20110929220052

Cron Cron

頂き物の月末処理をcrontab (vixie-cron) にて妙なことに気づく。下記の処理は28日から31日の間、毎日翌日が1日である事をチェックさせて、該当する場合にコマンドを実行する。28-31のちょっとした工夫がちょっと好み。しかし、

55 23 28-31 * * /usr/bin/test $(date -d '+1 day' '+%_d') -eq 1 && [Command]

とすると

/bin/sh: -c: line 0: unexpected EOF while looking for matching `)'
/bin/sh: -c: line 1: syntax error: unexpected end of file

このようなエラーが出てしまう。なんぞ・・・で、正解を書くと

55 23 28-31 * * /usr/bin/test $(date -d '+1 day' '+\%_d') -eq 1 && [Command]

"%"についてはエスケープをしなければならないらしい。Cronにて%を使った何か特殊な書き方があるのだろうか。いや、しかしそれでも''や""で括ったものについては無視をして頂きたいところなのですが・・・何にしても妙なところでエスケープが必要な事に気づき驚く。もしかしてvixie-cronは何か高度な書き方が用意されているのだろうか? ・・・いや、複雑な事するならシェルスクリプトを定期的に回しますよね。


Posted by uso8000k | Permalink | Categories: Tech | [ツィート(笑)]

20110928004204

最近

最近アニメが面白い

Posted by uso8000k | Permalink | Categories: Diary | [ツィート(笑)]

20110906233804

うーん

場末のブログに細々と書くと、どうやら飛蚊症みたいです。なまじ目が良いぶんイライラするよ、兄さん。

Posted by uso8000k | Permalink | Categories: Diary | [ツィート(笑)]

20110904185103

宇宙キすぎだろ・・・

とりあえず最近のお友達の会話についていくべく仮面ライダーフォーゼを見てみる。いろいろと腹筋に悪い番組です。重度の厨二病患者とか、怪人にパチキ(頭突き)かますダサかっこいいライダーとか、予算関連で不安渦巻く使い回しの利かない部分でのCGのロボット登場とか、ドリルは男の浪漫とか、全国のお父さんを恐怖のズンドコに陥れる「おもちゃ40種類予定」しているとか。ひどい、ひどすぎる。もっとやれ。

  ._人_
  |  |   _人__         
  |  | / ___  \      
  |  |二  |´・ω・`|  \   勝利のポーズ
  ^^ ^^/   ̄ ̄ ̄    )  
    /        /| |   
   (        ///  
    |   ,、______,ノ ̄ ̄)     
    |  /    ̄/ /     
   _|_|____//_

Posted by uso8000k | Permalink | Categories: Diary | [ツィート(笑)]

20110902013037

文字列解析料理

ひょんなことからProcmailにてメールを振り分けるなど。特定の一覧から愚直にアドレスを遮断できること、ある程度簡単に登録をできること、を目標に速やかに動く。というかレシピをググって使うだけ…なのであったが思わぬ罠が潜んでいたり。

Procmail の紹介とレシピの書き方 より
BLACKLIST=$HOME/.blacklist
:0 Wh
* ? test -s $BLACKLIST
* ? (formail -x From: | fgrep -iqf $BLACKLIST)
/dev/null

:0 E
!hogehoge@example.com

これだけの簡単なお仕事・・・の筈だったが、何故か全ての状況でElse的な条件のの転送が使われてしまう。明らかに真となるようなgrepのオプションや引数を用意しても条件に引っかからない。ところでふと思ったのだけれど作られた言語云々は置いておいて(いずれもCだが) formailも結局は標準入力からのメールのヘッダ抽出つまりはただのテキスト処理であることに気がつく。ので。

BLACKLIST=$HOME/.blacklist
:0 Wh
* ? test -s $BLACKLIST
* ? fgrep -iqf $BLACKLIST
/dev/null

:0 E
!hogehoge@example.com

ですので、私はこうしてみた。はい、条件に引っかかるようになりました。処理速度を考えなければfgrepをgrepにしてもよいかもしれない。というか初めてgrep/egrep/fgrepを意識した気がします。fgrepはやい!

$ cat ~/test.eml | formail -x From: | grep -iqf ~/.blacklist
$ echo $?
0

さて、このようなコマンドで試したり、それぞれの結果を確認したりもしたのですが・・・うーん、procmailの中からformailを呼び出す時、もしくは何かが変わるのだろうか。素のログ出力もイマイチ情報少ないですし。あとログといえば.procmailrc、もしくはprocmailに読み込ませるレシピの権限はわりとシビア、オーナーが違っていたり、o+wの状態 (諸事情で書き込み与えてました;) だと動かないしエラーも出さなかったりするので注意。


Posted by uso8000k | Permalink | Categories: Tech | [ツィート(笑)]