periodicで遠隔管理サーバの状態をメールで受け取る

FreeBSD 4.8 release で daily run output などをメールで受け取れるようにしました
作業は root で periodic の設定をいじるだけです。が、まずひな形 /etc/default/periodic.conf から /etc/periodic.conf にコピーして編集して使います。こうしておけば mergemaster しても消えないのでは?と甘い期待を抱けますが、タダでさえ怪しい記憶をあまり過信せず、叩いた一連のコマンドと編集内容をメモメモしておきます。

su -
[root password]
cd /etc/
cp dafault/periodic.conf ./
vi periodic.conf

で、

daily_output="root"				# user or /file

daily_status_security_output="root"		# user or /file

weekly_output="root"				# user or /file

および

monthly_output="root"				# user or /file

の"root"の部分をメールアドレスに変えれば宛先が変更されます。 たとえばこんな感じ↓

daily_output="hogehoge@raj-corp.com"			# user or /file
daily_status_security_output="hogehoge@raj-corp.com"	# user or /file
weekly_output="hogehoge@raj-corp.com"			# user or /file
monthly_output="root hogehoge@raj-corp.com"		# user or /file

defaultの通りにrootに引き続きメールが発行されるようにしたい場合は" "内にスペース区切りで併記すればいいです。また man periodic.conf にも periodic.conf の英語コメントにも書いてあるのですが、絶対パスを記載すればファイル出力も出来ます。

これで今回行った編集は完了、あとは /etc/crontab に記載された通りのタスクでレポートが届きます security output は /etc/crontab に記載されていませんが、daily から呼び出されて毎日届きます ( FreeBSD 4.1 release 以前はこのconfファイルがなく、daily以下のスクリプツを書き換える必要があり、すごく大変そうですのでなるべくなら 4.2 release 以降使った方が幸せになれます)


実はこれだけだと不十分なことが判明(汁
FreeBSD4.xでのデフォルトインストールでは不正中継防止のために sendmail の設定が /etc/rc.conf に記載されている hostname="" ディレクティブにおけるドメイン以外にはメールが送信できないようになっています。
解決策としては
その1・・・sendmail.cf を直す
その2・・・sendmail やめて qmail SMTP を使用する
等がありますが、アタシは
http://m.u.packet-workz.co.jp/doc/qmail.html
http://seeker.u.packet-workz.co.jp/freebsd/qmail.html
などを参考にして、その2の qmail を採用しました

RAJ商会