如何将rsyslog消息重定向到其他路径而不是/ var / log
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将rsyslog消息重定向到其他路径而不是/ var / log相关的知识,希望对你有一定的参考价值。
我正在使用rsyslog工具进行记录。一切正常。我可以在/var/log/MYlog.log
路径中记录消息。
但是现在我的要求是将消息记录在其他路径中,例如/opt/log/Somepath.log
而不是/var/log
。
我曾尝试在/etc/rsyslog.conf
文件中修改Path,但只有在/var/log/
下给出日志路径时,此方法才有效。似乎没有其他工作。我希望日志路径是类似于/opt/log/somePath.log
的可配置路径。
我在文件中有一个这样的条目,它可以正常工作:
local6.* /var/log/Mylog.log
现在,如果我这样更改它:
local6.* /opt/log/Mylog.log
它不会在/opt/log
中生成Mylog.log文件。目录/opt/log
存在。
修改配置文件/etc/rsyslog.conf
之后,我将重新启动守护进程。
`/etc/init.d/rsyslog restart`
并且/var/log
和/opt/log
都具有相同的权限(我更改了/opt/log
的权限类似于/var/log
,所以没有任何权限和安全问题。
我正在使用CentO 6.3。这是我的本地VM,没有NFS机会。
有什么方法或技巧可以实现这一目标吗?
问题是selinux。 SELinux将阻止标记为syslogd_t
的进程写入(可能)标记为default_t的文件。因此,我们需要使用syslogd_t可以写入的内容来标记文件。 /var/log
中的文件标记为var_log_t
,可以肯定地写入syslogd_t
类型。您可以通过更改/ opt / log目录的标签来临时实现此目的。
chcon -R -t var_log_t /opt/log
您可以使用]查看修改后的标签>
ls -Z /opt/log
将给输出类似这样的东西
drwxrwxrwx. root root unconfined_u:object_r:var_log_t:s0 log
因此,在此之后,您将能够将系统日志重定向到任何其他目录。对于永久解决方案,您需要编写SELinux策略。
以上是关于如何将rsyslog消息重定向到其他路径而不是/ var / log的主要内容,如果未能解决你的问题,请参考以下文章
为啥我的 .htaccess 文件重定向到完整的服务器路径而不是相对路径?
如何从 HTTPS 重定向到 HTTP 而不会出现烦人的错误消息