我有一个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
已经使用它。