无法通过 cron 每小时记录轮换

无法通过 cron 每小时记录轮换

我在 /etc/crontab 中有以下条目

47 * * * * root /usr/sbin/logrotate -v -f /etc/logrotate.d/mariadb_dumps &> /tmp/errrot

该行之所以会运行,是因为 /tmp/errrot 如果已创建(空),但 logrotate 不执行任何操作。

如果我在 cron 之外的命令行上运行该行,它会正常工作并输出到 /tmp/errrot。

文件 /etc/logrotate.d/mariadb_dumps 有:

/home/backups/alldbs.sql.gz {

rotate 48
create 640 root adm
notifempty
nocreate
}

套餐有:

cronie-1.4.11-19.el7.x86_64
cronie-anacron-1.4.11-19.el7.x86_64

操作系统是CentOS 7

我应该修改什么才能每小时运行 logrotate?

注意:我什至尝试将该行放入 /etc/cron.d 中的单独文件中,甚至为 logrotate 设置自定义路径,如下所示如何每小时执行一次logrotate。这些方法都不起作用。

答案1

最后,我发现这是一个selinux问题,但它有些隐藏,所以我运行:

semodule --disable_dontaudit --build

然后我发现了这些拒绝,我创建了异常的 selinux 模块并应用,现在它工作正常。

然后,我跑了:

semodule --build

相关内容