カテゴリー
Linux

Logwatch改造でEvernoteにノートブック、タグを指定して追加するよ!

先日のLogwatch導入記事で改善点としてあげた「送信するメールタイトルを変えたいです。」をやってみます。

どうなればよいかは簡単です。「メールの件名を好きなように変えられる」。これがLogwatchで実現できればよいのです。

まずはEvernoteの仕様を確認します。

メールでEvernoteに追加する際のTips « Evernote日本語版ブログを参考に簡単にまとめてみます。

件名に

実家の犬の写真 @マイノート #家族

と設定してEvernoteに追加するためのメールアドレスに送ります。すると

ノートタイトル:実家の犬の写真
ノートブック:マイノート
タグ:家族

とノートブック、タグを指定してEvernoteに追加できます。ポイントは

  • ノート名とノートブックの@の間は半角スペースを入れる
  • ノートブックとタグの#の間も半角スペースを入れる

のはず。試していないです。。。少なくとも、全角@、全角#ではうまくいかないように思います。

Logwatchを修正します。

今までのメール件名が「Logwatch for oki2a24.com (Linux)」ですので、「Logwatch for oki2a24.com (Linux) @Logwatch #Logwatch」と修正することを目標とします!

さて、調べる前は設定ファイルの編集でどうとでもなる!楽勝!と思っていたのですけど、ぐぐった程度ではわかりませんでした。。。そこで、設定ファイルで何とかする!作戦はいったん置いておきまして、ログメールのタイトル「Logwatch for hostnameDayo (Linux)」に注目します(hostnameDayo はダミーDayo!)。具体的には「Logwatch for 」を含むファイルをサーバ総検索してあぶりだします。こんな風に。

find / -type f -name \*.* -print | xargs grep -l "Logwatch for" /dev/null
/usr/share/logwatch/scripts/logwatch.pl

一個だけ引っかかりました。やったね!!!でも、Perlですか。。。たしかPerlはコンパイル不要だから、一応このファイルを修正すれば実現できそうですけど、プログラムをいじることになります。できればやりたくないです><。この点は課題として残しておくとて、このファイルを修正する方向で進めます。

では、開始しますの前に、バックアップを取っておきます。

cp -a /usr/share/logwatch/scripts/logwatch.pl /usr/share/logwatch/scripts/logwatch.pl.org

では、開始します。

vim /usr/share/logwatch/scripts/logwatch.pl
:set nu
         print OUTFILE "Subject: Logwatch for $Config{'hostname'} (${OStitle})\n";

         my $evernote_book = "\@Logwatch";
         my $evernote_tag = '#Logwatch';
         print OUTFILE "Subject: Logwatch for $Config{'hostname'} (${OStitle}) $evernote_book $evernote_tag\n";

以上。え?もう終わり?終わりですよ!ポイントが一点だけ、いや二点だけ。

  • ${OStitle})の直後に直に記述するのではなく、一旦変数に入れます。
    こうしないと@と#(特に@)が正常に処理されなかったりします。実は何度も躓いて、調査しながらこのソースにたどり着きました。。。なにが「え?もう終わり?」じゃーーー!!!
  • @はPerlでは特別な意味を持つので、\を先頭につけてエスケープします。

修正が終わったので、テストします。

/usr/share/logwatch/scripts/logwatch.pl

Evrenoteを更新してみますと、、、きました!ノートブック「Logwatch」、タグ「Logwatch」がしっかり設定されています。この後、嬉しくて嬉しくてコマンドをたたいて何度かテストを繰り返してみたのですけど、短期間に実行しすぎると届かないことがあるようです。すっごくあせったのは秘密ですよ。

さいごに、課題・疑問点

今回修正したファイル、/usr/share/logwatch/scripts/logwatch.pl、設定ファイルではなくてプログラムファイルっぽいからパッケージをアップデートしたら変更した部分が消えてしまうのではないかなあ。

※追記。案の定 logwatch をアップデートしましたら、これらの設定をやり直す事態におちいりました。せっかくですので、少しだけ設定方法を変えております。ご興味がおありでしたら、併せてごらんくださいませ。

以上です。

「Logwatch改造でEvernoteにノートブック、タグを指定して追加するよ!」への2件の返信

コメントを残す