[Memo2017][ITPASS]システムログメールの設定
[ITPASSサーバ構築・運用ドキュメントへ戻る]
システムログメールの設定
自作スクリプト用 cron ディレクトリ作成
自作の cron 用スクリプト置き場として, /etc/cron.local を作成した.
# mkdir /etc/cron.local # mkdir /etc/cron.local/hourly # mkdir /etc/cron.local/daily # mkdir /etc/cron.local/weekly # mkdir /etc/cron.local/monthly
自作スクリプトの設置
定期報告用スクリプトを書いて, 実行権限を与えた.
# vi /etc/cron.local/daily/400_status-disks # chmod 744 /etc/cron.local/daily/400_status-disks # vi /etc/cron.local/daily/401_status-quota # chmod 744 /etc/cron.local/daily/401_status-quota # vi /etc/cron.local/daily/420_status-network # chmod 744 /etc/cron.local/daily/420_status-network # vi /etc/cron.local/daily/430_status-rwho # chmod 744 /etc/cron.local/daily/430_status-rwho # vi /etc/cron.local/daily/800_loginfail # chmod 744 /etc/cron.local/daily/800_loginfail # vi /etc/cron.local/daily/900_tcpserver # chmod 744 /etc/cron.local/daily/900_tcpserver # vi /etc/cron.local/weekly/400_status-apt # chmod 744 /etc/cron.local/weekly/400_status-apt
crontab の編集
/etc/crontab に以下の 3 行を追加した.
# vi /etc/crontab 25 6 * * * root cd / && run-parts --report /etc/cron.local/daily |mail -s "`hostname -f` daily run outputs" itpadmin_at_itpass.scitec.kobe-u.ac.jp 47 6 * * 7 root cd / && run-parts --report /etc/cron.local/weekly |mail -s "`hostname -f` weekly run outputs" itpadmin_at_itpass.scitec.kobe-u.ac.jp #52 6 1 * * root cd / && run-parts --report /etc/cron.local/monthly |mail -s "`hostname -f` monthly run outputs" itpadmin_at_itpass.scitec.kobe-u.ac.jp
動作テスト
上記設定が実行される日時を今から数分後の時刻に設定してみて, 実際にメールが来るか確認したところ, メールが届かなかった. mail コマンドを再インストールした.
# apt-get install bsd-mailx
再度同様の動作テストを行ったが, メールが届かなかった.
sendmail の「置き換え」
まず, exim4 が起動している場合は停止.
# /etc/init.d/exim4 stop
exim のブートスクリプトは, /etc/init.d/exim4 で, これに /etc/rc[2-5].d/S20exim, /etc/rc{1,6}.d/K20exim からリンクが張られてい る. これを無効にした.
# chmod 000 /etc/init.d/exim4 # mv /etc/init.d/exim4 /etc/init.d/exim4.bak # update-rc.d exim4 remove
/etc/cron.daily/exim4-base の先頭の方に次の行を書き足した.
#!/bin/sh # by Yasuhiro MORIKAWA, 2007-08-10. We need not exim. if [ ! -f /etc/exim.conf ]; then exit 0 fi
そして, sendmailを置き換えた.
# chmod 000 /usr/lib/sendmail # chmod 000 /usr/sbin/sendmail # mv /usr/lib/sendmail /usr/lib/sendmail.bak # mv /usr/sbin/sendmail /usr/sbin/sendmail.bak # ln -s /var/qmail/bin/sendmail /usr/lib/sendmail # ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail
次のコマンドで exim4 関係のパッケージを hold して, 更新されないようにした.
# echo exim4 hold | dpkg --set-selections # echo exim4-base hold | dpkg --set-selections # echo exim4-config hold | dpkg --set-selections # echo exim4-daemon-light hold | dpkg --set-selections
動作テスト(再)
再びメールの動作テストを行ったところ, メールが届いた. メールには,
/etc/cron.local/daily/401_status-quota: repquota: Mountpoint (or device) /home not found or has no quota enabled. repquota: Not all specified mountpoints are using quota. repquota: Mountpoint (or device) /home not found or has no quota enabled. repquota: Not all specified mountpoints are using quota.
というエラーメッセージが来たが,これはまだ quota のインストールと設定を終えていないためなので, quota をインストールした後で再び確認することにする.
テストが終わったので元の時刻に戻した.
Keyword(s):
References:[[ITPASS2017]2017年度サーバ構築ログ]