需要重新启动哪些服务才能启动 /var/log/auth.log

需要重新启动哪些服务才能启动 /var/log/auth.log

情况是这样的,由于我的服务器上的日志文件已经增长到几 GB,我备份了目录 /var/log,然后手动备份到 /var/log 的每个子目录,而那些文件的大小很大,我

 cat > /var/log/file_which_is_big

按两次回车键(基本上用空格覆盖了这些文件),然后

Ctrl+C

所以基本上我把那些文件覆盖成了空白。

现在,当我打开 /var/log/auth.log 时,我看不到任何条目(这也是预料之中的,因为我覆盖了它),但是当我退出 SSH 会话并再次登录时,我也没有在 auth.log 中看到任何条目,除了重新启动机器之外,还有其他方法可以确保我能继续获取 /var/log/auth.log 中的条目,我不确定哪个服务写入了这个文件。

这是一个 Ubuntu 10.04 服务器。

答案1

  1. 重新启动rsyslog:

    $sudo 服务 rsyslog 重启

  2. 使用 echo,则不必重新启动 rsyslog

    $ sudo echo -n > /var/log/file_which_is_big

答案2

在 Ubuntu 10.04 上

sudo service syslog-ng restart

答案3

系统日志服务很可能会写入此文件以及许多其他文件。

检查文件/etc/syslog.conf以查看哪些服务记录到哪个文件(它不是一个非常复杂的文件,但如果您需要一些解释,它应该有自己的手册页)。只要您确定它/var/log/auth.log列在那里,并且您确定该文件存在(sys 不会创建文件,只会附加到它),那么

/etc/init.d/syslog restart

应确保文件被记录。

编辑:我与上述 alvosu 的回答有冲突,我听从他的意见选择 rsyslog 而不是 syslog。我是 Red Hat 的粉丝,他们仍在使用 syslog。

相关内容