mysqldump脚本crontab执行失败,但是手动执行成功

检查备份时发现,cron中定时备份mysql的脚本备份失败,但是手动自行mysql备份脚本却能正常成功

检查cron的环境变量:

# cat /etc/crontab
...
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
...

检查root用户的环境变量:

# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/app/mysql/bin

比较可以发现cron的环境变量少了/app/mysql/bin

解决方法:

  在脚本中,对mysqldump命令使用绝对路径。

原文地址:https://www.cnblogs.com/abclife/p/5081887.html