
私はUNIX/LINUXの初心者です。
私の postfix ログ ファイルは /var/log/maillog にあります。昨日、内容が大きすぎて読めないため、vi から「1,$d」コマンドと「:wq!」を使用してファイルを空にしましたが、その後、すべての postfix のやり取りがそのファイルに記録されるわけではありません。
そのファイルを削除して再度作成しようとしましたが、うまくいきませんでした。
誰かこの問題を解決するのを手伝ってくれませんか?
ありがとう。
よろしくお願いします。
答え1
あるプロセスがファイル ハンドル (ファイルへの書き込みに使用されるもの) を持つファイルを削除しても、書き込みを行っているプロセスを再起動しないと、古いファイルへの書き込みが続行されます。
これは、新しい UNIX 管理者が犯す一般的な間違いです。非常に大きなログ ファイルを削除してディスク領域を解放しようとすることがありますが、ファイルが開かれなくなるまで領域が実際には利用できないことに気付いていません。
私が疑っているのは(一晩で)syslog プロセスが cronjob によって HUP され、すべてのファイルが閉じられて再度開かれたことです。
将来的には、本当に気にしないログ ファイルを切り捨てるより安全な方法は、次のようにすることです。
> /var/log/そのログファイル