意外删除/var/log/syslog

bal*_*ing 11 logging log rsyslog syslog 14.04

我不小心删除了 /var/log/syslog,现在我无法让 rsyslog 工作。

我在谷歌上搜索,我尝试了我找到的一切。准确地说:

我用触摸创建了系统日志。

然后我正确设置了 chmod 和 chown。现在ls -al给出这个结果:

-rw-r-----  1 syslog            adm           0 jún   23 02:36 syslog
-rw-r-----  1 syslog            adm     1557257 jún   23 01:33 syslog.1
-rw-r-----  1 syslog            adm      156618 jún   22 07:51 syslog.2.gz
-rw-r-----  1 syslog            adm      155851 jún   21 07:45 syslog.3.gz
-rw-r-----  1 syslog            adm      155199 jún   20 07:35 syslog.4.gz
-rw-r-----  1 syslog            adm      159709 jún   19 07:37 syslog.5.gz
-rw-r-----  1 syslog            adm      156035 jún   18 07:52 syslog.6.gz
-rw-r-----  1 syslog            adm      158478 jún   17 07:55 syslog.7.gz
Run Code Online (Sandbox Code Playgroud)

然后我重新启动了 rsyslog 服务:

service rsyslog restart
Run Code Online (Sandbox Code Playgroud)

我重新启动了系统几次。

我什至重新安装了 rsyslogapt-get purgeapt-get install

但这些都没有帮助我。正如您在上面看到的,syslog 的长度仍然为 0 字节,没有记录任何内容。

编辑:

即使我尝试手动记录某些内容,也不会记录任何内容:

# ls -al /var/log/syslog
-rw-r----- 1 syslog adm 0 jún   23 14:04 /var/log/syslog
# logger "this message should end up in syslog"
# ls -al /var/log/syslog
-rw-r----- 1 syslog adm 0 jún   23 14:04 /var/log/syslog
Run Code Online (Sandbox Code Playgroud)

/var和 的权限/var/log

# ls -al /var
drwxr-xr-x 14 root root     4096 dec   16  2015 .
drwxr-xr-x 24 root root     4096 máj   31 14:14 ..
...
drw-rw---- 22 root syslog   4096 jún   23 14:05 log
Run Code Online (Sandbox Code Playgroud)

我在 ubuntu 14.04

Jos*_*Jos 10

正如@Rinzwind 指出的那样:/var/log目录的权限可能已被意外更改。在全新安装中,它们是drwxrwxr-x.

更改您的权限:

# chmod 775 /var/log

# systemctl restart rsyslog(或重新启动)。使用以下命令测试系统日志工具:

$ logger "this message should end up in syslog"


小智 6

服务器 Ubuntu 16.04 LTS 也有同样的问题。我删除了/var/log/syslog

问题是系统日志文件的所有者/组!

解决方案 :

  1. 创建一个空的系统日志文件
  2. 对于 Ubuntu 16.04,所有者组必须是syslog:adm
  3. 重新开始
  4. 用记录器测试

命令:

cd /var/log
touch syslog
chown syslog:adm syslog
service rsyslog restart
logger "Didier MISSON logger test"
Run Code Online (Sandbox Code Playgroud)

您必须在系统日志中看到以下消息:

less syslog
Run Code Online (Sandbox Code Playgroud)