请注意:我已经阅读了所有类似的问题。cron,路径,env变量等,但是找不到为我特定问题提供解决方案的方法。
我有一个脚本,可以执行一些MySQL转储,然后删除旧的这样的转储:
/usr/bin/find "/home/bkp/dbdump" -name "*.gz" -mtime +5 -delete
(以上命令已通过注释的建议从我的原始命令修改而来)
但是,当cron运行此脚本时,永远不会删除这些文件。cron用户是root。
调试说明
如果我手动运行该命令所在的脚本,它将按预期删除它们。
如果我以root身份从命令行单独运行上述find命令,它将按预期方式将其删除(并使用-print命令可按预期返回超过5天的文件列表)
我还在root的crontab中添加了一个明确的path语句,但这
并没有任何改变。Cron不会发送任何错误,并且如果我将find操作通过管道传输到日志文件,
该文件将显示为空或完全未创建。我正在使用Ubuntu服务器14.04.03 LTS。
/usr/bin/find /home/bkp/dbdump/*.gz -mtime +5
cron
命令在外壳中运行,并且外壳会扩展通配符。
cron
应该发送带有输出和错误消息的电子邮件。您从这份工作中收到任何这样的电子邮件吗?