如何使用 crontab 清理 tomcat 服务器日志文件(权限受限)

如何使用 crontab 清理 tomcat 服务器日志文件(权限受限)

我有一个tomcat服务器,它每天轮流生成访问日志文件。

为了每隔 X 天清理一次,我尝试进行以下配置crontab -e

@weekly find /var/log/tomcat8/localhost_access_log.*.txt -mtime +10 -delete

问题:我在运行此程序时遇到Permission denied错误。因为该/var/log/tomcat8文件夹具有tomcat:tomcat用户:组权限,而我以其他用户身份登录。

那么,我怎样才能最好地创建一个具有删除这些文件的权限的 cronjob?

或者我应该通过以下方式添加 crontab sudo crontab -e

答案1

为了运行crontab可以访问用户拥有的文件的命令,tomcat您可以以用户身份执行该命令tomcat

crontab以用户身份运行tomcat

sudo crontab -u tomcat -e

答案2

您可以使用 来解决这个问题sudo crontab -e,因为root将拥有足够的权限。

logrotate似乎是轮换日志的工具(并且很可能已经在您的系统中使用)。

查看/etc/logrotate.d/并尝试查找是否tomcat已经使用它。

相关内容