ポイント
root ユーザで次の Perl ファイルを編集します。一般ユーザで sudo しても良いです。Logwatch が送るメールの件名を修正することが目的です。
vim /usr/share/logwatch/scripts/logwatch.pl
次のようにメールのタイトル部分をにEvernote のノート名(@)、タグ名(#)を追記します。
print OUTFILE "Subject: Logwatch for $Config{'hostname'} (${OStitle}) \n";
↓
print OUTFILE "Subject: Logwatch for $Config{'hostname'} (${OStitle}) \@Logwatch #Logwatch\n";
補足
編集後、実際にメールを送ってみるには編集したファイルが実行ファイルでもありますのでフルパスで指定すればよいです。つまり次のようになります。
/usr/share/logwatch/scripts/logwatch.pl
注意点があります。
この logwatch.pl の所有者・グループは root ですので、root ユーザになってから実行したほうがよいです。sudo よりも、root ユーザになって実行したほうがよいです。sudo で実行しましたら、わたくしの環境では次のようなエラーとなりました。
[testuser@oki2a24 ~]$ sudo /usr/share/logwatch/scripts/logwatch.pl Can't exec "sendmail": No such file or directory at /usr/share/logwatch/scripts/logwatch.pl line 1018, <TESTFILE> line 2. Can't execute sendmail -t: No such file or directory
「Can’t execute sendmail -t: No such file or directory」とあることから、sudo では sendmail 実行ファイルパスが見つからなかったことが原因ですね。つまり、わたくしの環境では sudo 時に root ユーザの PATH が通ってないからですね。
次の投稿で課題として挙げたことがここでも問題になるとは思ってもいませんでした。早めに対処したほうがよさそうですね。
また、Logwatch のバージョンは Logwatch 7.3 (released 03/24/06) でした。次のコマンドで調べられます。
logwatch -v
課題
本投稿のきっかけとなった出来事があります。いつの間にか Evernote に送られてくる Logwatch のメールにノートとタグがついていなかったのです!!!
アイエエエ!ナンデ?Logwatch ナンデ?
原因は CentOS を 5.9 へアップデートした際に、Logwatch も同時にアップデートされていました。Evernote へのノート、タグ付加はプログラムを直接編集しておりますので、アップデートで上書きされてしまったのです。
Logwatch をアップデートしても件名が変わらないようにするには、どうすればよいでしょうか?
課題です。
以前の投稿との違い
なお、本投稿では、基本的に以前の次の投稿と同じ事をしています。
変更内容を少し変えています。しかも前の投稿では、うまくいかなかったよ!の方法をやってみて、結果うまく行くことがわかりました。
具体的な違いは次のとおりです。
- 前回 ノート名とタグ名をそれぞれ変数に一旦入れた。
- 今回 ノート名とタグ名を直接タイトルに追加した。
前回でも今回の方法でも、どちらでも正常にメールが送られてきます。結論!どっちでもよいのです♪
以上です。
「【Evernote】Logwatch メールをノート、タグを指定して送る♪【再】」への2件の返信
[…] 【Evernote】Logwatch メールをノート、タグを指定して送る♪【再】 | oki2a24 […]
[…] 【Evernote】Logwatch メールをノート、タグを指定して送る♪【再】 | oki2a24 […]