Logrotate 错误:无法打开...进行压缩

Logrotate 错误:无法打开...进行压缩

当从 cronjob 使用 logrotate 时,我收到此错误:

error: unable to open /var/log/mylog.1  for compression

有人知道这是什么意思以及我该如何解决它?

答案1

这意味着/var/log/mylog.1不存在或权限/所有权不允许压缩该文件。使用 检查权限/所有权ls -l /var/log/mylog*

答案2

您将需要获取更多信息。

该文件是否存在,并且运行 cron 的用户是否有权读取该文件?:

ls -l /var/log/mylog.1

看看 logrotate 是否可以提供更多信息。它应该有一个详细标志,您可以使用“-v”打开它。

答案3

如果文件存在,并且权限正常,则原因可能是您尝试压缩文件时文件处于打开状态。为了避免这种情况,您可以将以下行添加到/etc/logrotate.conf

delaycompress

答案4

logrotate我自己也遇到了这个错误。摘要:这是我编写的 postrotate 脚本与之间的冲突,在某些情况下,我的logrotate脚本会在压缩之前删除刚刚移动的日志文件。虽然你会认为这logrotate会压缩文件,但然后运行后旋转脚本,它实际上按照其他顺序执行。因此出现此错误消息。

由于logrotate直接管理问题显示为丢失的文件,我想不出任何其他可能导致此问题的原因,除非文件权限确实很奇怪(例如可写且不可读)。

相关内容