linux中shell脚本手动执行没有问题,crontab定时执行失败(实测已解决)

原文链接:https://blog.csdn.net/lukabruce/article/details/93851477

问题描述:

Shell脚本手动执行可以正常运行,并得到正确结果;使用Crontab定时调度的时候,Shell脚本执行出来的结果数据量为0。

原因:

Linux下用crontab执行定时任务不会缺省的从用户profile文件中读取环境变量参数,所以经常导致在手工执行某个脚本时是成功的,但是到crontab中试图让它定期执行时就是会出错。这是因为用户登陆Linux操作系统的时候,”/etc/profile”, “~/.bash_profile”等配置文件会被自动执行,而crontab定时调度的时候可能不会执行配置文件。

解决方案:

Shell脚本缺省的 #!/bin/sh 开头换行后的第一行添加:

#!/bin/sh

source /etc/profile
source ~/.bash_profile

..自己的运行脚本代码...
..........
即可解决!

posted @ 2024-08-14 08:28  枫树湾河桥  阅读(333)  评论(0编辑  收藏  举报
Live2D