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 @   枫树湾河桥  阅读(484)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
Live2D
欢迎阅读『linux中shell脚本手动执行没有问题,crontab定时执行失败(实测已解决)』
点击右上角即可分享
微信分享提示
西雅图
14:14发布
西雅图
14:14发布
6°
多云
东北风
1级
空气质量
相对湿度
91%
今天
中雨
5°/9°
周三
3°/12°
周四
5°/10°