问题描述
设置一个crontab,*/1 * * * * /bin/bash /home/test/1.sh,
手动 sh /home/test/1.sh可以执行,但放到crontab里却无法运行,
问题所在:
crontab缺省用户profile文件中的环境变量参数, 导致手工执行脚本成功,但是到crontab中无法执行。
解决方法:
在每个需要定时执行的脚本前面加上如下内容
#!/bin/bash
. /etc/profile
. ~/.bash_profile #某些系统上没有这个文件,不过加上也没关系
. ~/.barshrc
备注:. /etc/profile的效果和 source /etc/profile效果一样,所以也可以使用source指令
建议
在定时脚本里认真检查每一个环境变量,最好写全它的实际路径。
(尤其是python变量)
参考:https://blog.csdn.net/jiangguilong2000/article/details/38318011?utm_source=copy