centos 6.4下logrotate提示permission denied

Feng_Yu 发布于 2013/11/30 11:20
阅读 1K+
收藏 0

操作系统centos 6.4,从tomcat官网download一个tar.gz包,用logrotate滚动日志。

在/etc/logrotate.d/建立一个tomcat文件,内容如下:

/usr/tomcat7/logs/catalina.out {
        #创建副本后截断日志
        copytruncate
        #以后缀YYYYMMDD格式命名滚动日志
        dateext
        #启用gzip压缩
        compress
        #日志文件不存在也不会报错
        missingok
        #空日志不滚动
        notifempty
        #保留滚动的数量
        rotate 10
        #达到指定容量时才开始滚动
        size 50M
        #滚动日志后的操作,删除目录下大于10天的*.log和*.txt文件
        postrotate
                find /usr/tomcat7/logs/ \( -name "*.log" -o -name "*.txt" \) -mtime +10 -delete
        endscript
}



直接执行logrotate /etc/logrotate.conf没有任何问题,但是在每日自动执行时怎么也不起作用,后来发现logrotate在/etc/cron.daily存放一个每日cron的脚本logrotate,发现是把错误日志忽略了,我手工把错误日志定向出来,发现了如下信息:

Sat Nov 30 03:13:01 CST 2013
error: error opening /usr/tomcat7/logs/catalina.out: Permission denied



报告说permission denied,这是怎么回事?而别的日志滚动均未报这个错误,只有我自己自定义的tomcat文件报这个问题。。

加载中
0
ericsoul
ericsoul
报的是没有权限,从报错上文看,不是logrotate没有执行权限。是这个命令 打开 /usr/tomcat7/logs/catalina.out 这个文件报错了。检查这个文件的权限和目录权限。还有lsattr -a看看是不是这个文件设定了,只可增加不可修改。应该是这个问题。百度google一下吧。
Feng_Yu
Feng_Yu
应该不是这个原因,手工执行``logrotate /etc/logrotate.conf``没有任何问题。logrotate在安装的时候会自动每日滚动日志的,但是这个自动滚动日志的策略不生效,我就把/etc/cron.daily/logrotate中的执行logrotate的部分重定向出来,发现了这个异常。
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部