メールログを交換したいのですが、交換した新しいログに前のログの最後の2M行が含まれていることを確認したいと思います。
# write the last 2M lines to a new log
tail -n 2000000 /var/log/maillog > /var/log/maillog.new
# move the existing log to datestamped backup
datestamp=`date "+%Y%m%d"`
mv /var/log/maillog /var/log/maillog.$datestamp
# move the new log to normal log
mv /var/log/maillog.new /var/log/maillog
# tell sendmail to reload
killall -HUP sendmail
sendmailが正しい「maillog」ではなくバックアップログファイル「maillog.yyyymmdd」に記録され続けていることを除いて、すべて機能します!
sendmailを停止して循環し、再起動せずにこれを行う正しい方法は何ですか?
答え1
通常、メールログはそれ自体syslogd
ではなく作成されるため、sendmail
SIGHUPを次に送信する必要があります。syslogd
答え2
独自のログファイルを作成できます。
[admin@local ~]# killall sendmail
[admin@local ~]# touch /var/log/sendmail.log
[admin@local ~]# sendmail -bd -q15m >> /var/log/sendmail.log
そして
[admin@local ~]# tail -f /var/log/sendmail.log
451 4.0.0 /fake/path/sendmail.cf: line 0: cannot open: No such file or directory
答え3
以前は、sendmailを停止し(すべてrootとして)(/etc/init.d/sendmail stopまたはservice sendmail stop)/var/log/maillogを/var/log/maillogに移動しました。 1 次に、「touch /var/log/maillog」を使用して新しいメールログを作成し、sendmailを再起動します(/etc/init.d/sendmail startまたはservice sendmail start)。これは、1990年代初頭までさかのぼるすべての* NIXバージョンとディストリビューションでかなり一般的です。
ただし、今日のsendmailを再起動して古いログファイルを移動しても、古いログファイルに書き込もうとします。使用しているメールログファイルを誤って削除した場合、ログに記録されている内容はまったく表示されません。それで、あなたは何をしますか?
Linuxは時々セキュリティのために、時には自動化のための新しい作業方法を開拓しました。だから彼らはsyslogプロセスを改善し、いくつかのものはまったく同じようには機能しませんが、似ています。
最新のLinux(2012年頃以降)では、次のことが必要になる場合があります。
1) メールの送信を中止
/etc/init.d/sendmail stop
または
service sendmail stop
2) ログファイルをバックアップ場所に移動し、新しいファイルを作成します。
rm /var/log/maillog.2.gz
mv /var/log/maillog.1 /var/log/maillog.2
mv /var/log/maillog /var/log/maillog.1
touch /var/log/maillog
3) /var/log/maillog ファイルの所有権を設定します。
chown root:root /var/log/maillog
chmod 600 /var/log/maillog
4)それからSYSLOGDにその構成を再ロードするように指示する、あなたが古い* NIXハックなら、この部分はあなたを救うでしょう。そうしないと、sendmailは、ユーザーが何をしても、作成した新しい/var/log/maillogファイルに書き込みません。
pkill -HUP rsyslog
5) これで sendmail を再起動する時間です。
/etc/init.d/sendmail start
または
service sendmail start
/var/log/maillog ファイルを追跡すると、メールが流れると出力が表示されます。
これが時間を節約することを願っています。
ありがとう、David