Linux下用crontab执行定时任务的时候不会读取全局环境变量和当前用户环境变量(/etc/profile、~/.bash_profile),因此会致使手工执行某个脚本时是成功的,可是crontab按期执行有问题。mysql
两种解决办法:sql
一、在Shell文件里面获取环境变量值的路径写成绝对路径,别用环境变量的路径值。bash
好比mysql替换成/usr/local/mysql/bin/mysql
二、Shell脚本缺省的#!/bin/bash开头换行ide
#!/bin/bash . /etc/profile . ~/.bash_profile