当使用crontab执行sh脚本时,发现存到数据库的数据丢失了非常多,困惑。。。于是各种搜索,终于找到问题答案,即环境变量问题,解决方法很简单,只需要在脚本开头增加
source ~/.bash_profile 即可。
还有,如果手动执行脚本可以成功运行,但crontab却不行,并且crontab执行脚本时报 Permission denied 错误,则是crontab没有执行脚本的权限,所以可以使用chmod 755 脚本 来授予crontab执行此脚本的权限。
总结下:使用crontab出现的问题基本上是在1.环境变量 2.路径 这两个方面 ,所以以后碰到此类问题,就先解决它们。