rsyslog重启后不能写日志文件

首先,感谢花时间看看这个问题,非常感谢。

我已经有连接rsyslog.confconfiguration运行了一段时间,直到今天,当我不得不重新启动rsyslog随着磁盘越来越满。 结果是rsyslog现在正在以所有先前的权限(当前root | root rw被testing安全)logging到一个新的位置(在.conf文件中被解压缩)。

我面临的问题是,无论我尝试,rsyslog不输出文件。 我运行了一个tcpdump,而且还在接收数据。 匹配标准(主机IP地址)不应该有变化,configuration也没有改变。

任何帮助,特别是我可以运行的debugging命令将不胜感激。 我宁愿学习一些新的东西(比如rsyslog),而不是卸载它,只是使用syslog-ng来代替…这里是configuration:

### Modules $ModLoad imtcp $ModLoad imudp $ModLoad imuxsock # provides support for local system logging (eg via logger command) $ModLoad imklog # provides kernel logging support (previously done by rklogd) ### Set log file permissions $FileOwner root $FileGroup root $FileCreateMode 0777 $DirCreateMode 0777 $Umask 0022 $PrivDropToUser root $PrivDropToGroup root ### Listeners # bind ruleset to tcp listener $InputTCPServerBindRuleset remote # and activate it: $InputTCPServerRun 514 $InputUDPServerBindRuleset remote $UDPServerRun 514 ### Templates #Format the message correctly $template MsgFormat,"%msg%\n" # log every host in its own directory ##$template TESTLOG,"/opt/rsyslog/var/log/test.log" ### Rulesets # Local Logging # N/A None required at this point in time # # Remote Logging $RuleSet remote #---MY MATCHING RULE---# if ($fromhost-ip == "192.168.1.1") then ?TESTLOG 

先谢谢了 :)

您正在为您的日志文件使用自定义path,所以selinux阻止了您。 尝试发出setenforce 0并重新启动rsyslog。 如果现在工作,确认你的问题是selinux。

要继续使用selinux进行正确的修改,则需要发布

semanage fcontext -a -t var_log_t '/opt/rsyslog(/.*)?'; restorecon -RF /opt/rsyslog

之后,重新启动rsyslog。