当前位置:  开发笔记 > 编程语言 > 正文

如何将rsyslog消息重定向到其他路径而不是/ var/log

如何解决《如何将rsyslog消息重定向到其他路径而不是/var/log》经验,为你挑选了1个好方法。

我正在使用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

它不会生成Mylog.log文件/opt/log.该目录/opt/log存在.

修改配置文件后,/etc/rsyslog.conf我再次重新启动deamon.

`/etc/init.d/rsyslog restart`

并没有因为两者的任何许可和安全问题的可能性/var/log,并/opt/log在具有相同的权限(我改变了/opt/log类似的权限/var/log).

我正在使用CentOs 6.3.它是我的本地虚拟机,没有NFS的机会.

有什么方法或技巧可以让我实现这个目标吗?



1> sarath..:

问题是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

因此,在此之后,您将能够将syslog重定向到任何其他目录.对于永久解决方案,您需要编写SELinux策略.

推荐阅读
可爱的天使keven_464
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有