docker容器中的rsyslog服务无法执行logrotation

问题描述

我们有一个运行在 ubuntu 18.04.1 仿生工作站上的 Ubuntu 18.04.1 仿生容器。在容器中,我们运行 RSyslog 来记录许多应用程序的输出。日志记录有效,但是当需要轮换日志文件时,我们收到以下错误

execve("/opt/xxxxx/logrotation.sh",["/opt/xxxxx/logrotation.sh","/var/log/xxxx/appl.log"],0x7ffc5b84a8d8 /* 18 个变量 */) = -1 EACCES(权限被拒绝)

值得注意的是,即使我们用“echo foo”替换脚本,我们仍然会得到同样的错误。

我们已检查文件权限。 docker 容器已在特权模式下启动并具有所有功能。我们使用 Docker 版本 19.03.6,构建 369ce74a3c。 rsyslog 服务是“rsyslogd 8.32.0”,已作为 syslog 用户和 root 用户运行。如果 rsyslog 作为前台应用程序运行,它仍然无法执行日志轮换脚本。

我们还在最新的 Debian 工作站上运行容器,然后 logrotation 工作。

因此,在测试了所有这些都没有成功之后,我们想知道是否有人知道问题可能是什么,或者可以想到可以检查的东西。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)