mysqldump cron 作业填满了我的系统日志

mysqldump cron 作业填满了我的系统日志

我的 crontab 中有以下工作:

0 */4 * * * /usr/bin/mysqldump -u root -p'PASSWORD' --all-databases | /bin/gzip -9 > /home/USER/_mysql_backup/`date "+\%F--\%H-\%M"`.databases.sql.gz ; rm -f /home/USER/_mysql_backup/`date '+\%F' --date '1 week ago'`.databases.sql.gz >/dev/null 2>&1

问题是它填满了我的系统日志。我认为添加>/dev/null 2>&1会阻止记录作业,但是我是否还需要在 之前为上一个命令添加它;

答案1

如果 crontab 中的命令写入任何事物到 stdout,然后 cron 将获取该输出并尝试将其邮寄给您。显然您没有安装 MTA,因此 cron 无法发送邮件消息并将该失败记录到日志文件中。

如果您想查看 cron 作业正在向其标准输出写入什么内容,那么您必须安装一个 MTA:cron 会将输出邮寄给您,并且可能不会记录任何内容,因为邮件发送将会成功。

如果您不想看到输出,请将其重定向到/dev/null。不过,我仍然会设置一个 MTA,这样即使某些 cron 作业意外地产生输出,cron 也会很高兴。

crond(8) 联机帮助页描述了详细信息。

相关内容