logrotate Service Error: Read-Only Filesystem

logrotate Service Error: Read-Only Filesystem

💡 原文英文,约300词,阅读约需1分钟。
📝

内容提要

logrotate服务出现错误,因systemd的ProtectSystem设置为full,导致/usr目录只读。手动执行logrotate正常,但定时任务失败。解决方法是修改logrotate.service文件,添加ReadWritePaths=/usr/local/tomcat/logs,重启服务即可。

🎯

关键要点

  • logrotate服务在systemd定时任务中失败,手动执行正常。
  • 错误信息显示为只读文件系统,检查权限后仍然存在问题。
  • 问题源于logrotate.service配置文件中的ProtectSystem设置为full,导致/usr目录只读。
  • 可以通过在logrotate.service文件中添加ReadWritePaths来解决此问题。
  • 修改后需执行systemctl daemon-reload和systemctl restart logrotate.service以应用更改。

延伸问答

logrotate服务失败的原因是什么?

logrotate服务失败是因为systemd的ProtectSystem设置为full,导致/usr目录变为只读。

如何解决logrotate服务的只读文件系统问题?

可以通过在logrotate.service文件中添加ReadWritePaths=/usr/local/tomcat/logs来解决此问题。

手动执行logrotate时是否会出现问题?

手动执行logrotate时是正常的,但定时任务失败。

修改logrotate.service文件后需要执行哪些命令?

修改后需执行systemctl daemon-reload和systemctl restart logrotate.service以应用更改。

ProtectSystem设置为full的影响是什么?

ProtectSystem设置为full会将/usr、/boot和/etc目录挂载为只读,禁止对系统的修改。

logrotate服务的错误信息是什么?

错误信息显示为:error opening /usr/local/tomcat/logs/catalina.out: Read-only file system。

➡️

继续阅读