丢失 /var/log/mail.log(删除后)-如何重新创建?

丢失 /var/log/mail.log(删除后)-如何重新创建?

为了清除邮件日志,我删除/var/log/mail.log/var/log/mail.err

现在似乎我破坏了一些东西,因为当我与以下内容交互时文件没有重新创建mail

kidmose@radagast:~$ echo "Test text" | mail -s "From radagast" [email protected]
kidmose@radagast:~$ cat /var/log/mail.log
cat: /var/log/mail.log: No such file or directory

关于如何使日志记录再次工作,您有什么想法吗?

(最好无需重新安装或重启)

我的设置:

kidmose@radagast:~$ uname -a
Linux radagast 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:08 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
kidmose@radagast:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 14.04.1 LTS
Release:    14.04
Codename:   trusty

答案1

  1. 按照@Dan的建议,删除属于根目录的文件(如果有)。
  2. 按照 @drookie 的建议,重新启动 MTA(我的情况是 sendmail)和 syslog

    sudo service sendmail restart 
    sudo service rsyslog restart
    

附加信息:文件将被创建为 syslog:adm

答案2

touch /var/log/mail.log /var/log/mail.err,然后重新启动正在写入它们的所有内容,例如 MTA 或 syslog。

答案3

在 Ubuntu 16.04.3 LTS 上:

  1. 触摸 /var/log/mail.log /var/log/mail.err
  2. chown syslog:adm /var/log/mail.log /var/log/mail.err
  3. 服务 Postfix 重新加载

执行完这三个命令后,你应该在 /var/log/mail.log 中有新的记录:

1 月 18 日 05:14:21 ubuntu-srv postfix/master[9405]: 重新加载 -- 版本 3.1.0,配置 /etc/postfix


另一种查看必要日志的简短历史记录(包括正在发生的后缀)的方法是日志控制命令

答案4

就我的情况而言,只有这一个命令有用service rsyslog restart,mail.log 可以正常创建和写入,因为touch /var/mail.log刚刚创建了文件但从未写入,重新启动或停止/启动 postfix 也无法解决这个问题。service rsyslog restart报告的可用空间df终于释放了。之前我的可用空间只有 3GB,之后有service rsyslog restart6GB。我无法检测出占用了太多空间的东西。mail.log 很大,已删除但可用空间从未释放。很奇怪。

相关内容