这是一种情况,因为我服务器上的日志文件已经增长到了几千兆字节,我对/ var / log目录进行了备份,然后手动到/ var / log的每个子目录以及大的文件
cat > /var/log/file_which_is_big
按2次回车键(基本上用空格写这些文件)然后
Ctrl+C
所以基本上我把那些文件写成空白。
现在,当我打开/var/log/auth.log我没有看到任何条目(这是预料之中,因为我写了),但是当我退出SSH会话,再次login然后也没有看到任何条目中的身份validation。日志除了重新启动机器,以确保我不断获取/var/log/auth.log中的条目以外的任何其他方式我不知道哪个服务写入此文件中。
这是一个Ubuntu 10.04服务器。
重新启动rsyslog:
$ sudo服务rsyslog重新启动
使用回声,那么不必重新启动rsyslog
$ sudo echo -n> / var / log / file_which_is_big
在Ubuntu 10.04上
sudo service syslog-ng restart
系统日志服务很可能写入这个文件以及其他许多文件。
检查文件/etc/syslog.conf ,看看哪些服务被logging到哪个文件(这不是一个非常复杂的文件,但是如果你想要一些解释,它应该有自己的手册页)。 如果您确定/var/log/auth.log在那里列出,并且提供您确定该文件存在(sys不会创build一个文件,只能附加到它)然后
/etc/init.d/syslog restart
应该确保文件被logging到。
编辑:我与上面的alvosu的答案相冲突,我推迟rsyslog而不是syslog。 我是一个红帽子的人,他们仍然在使用系统日志。