1、问题描述:
linux/unix下执行sh get_requirement.sh调用python脚本成功,脚本如下:
#!/bin/sh
# 记录一下开始时间
echo `date` ' begin.' >> /Users/johnny/run_shell.log &
# 进入helloworld.py程序所在目录
cd /Users/johnny/PycharmProjects/requirementProject
# 执行python脚本
python3 getRequirement.py >> /Users/johnny/run_shell.log
但是使用定时任务调用脚本时,未执行成功,定时任务设置如下:
johnny@zymdembp ~ % crontab -l
# 每天8-19点的第9、19、29、39、49、59分执行
9,19,29,39,49,59 9-18 * * * sh /Users/johnny/get_requirement.sh
2、问题分析:
正常可以执行的脚本,但是使用定时任务调起时并没有执行,说明定时任务调起脚本并没有加载执行环境。
经查询资料得知:crontab是系统服务,调用和执行python脚本时需要使用全路径,否则会执行失败。
3、问题解决:
把脚本执行的路径修改为全路径,执行成功,脚本如下:
#!/bin/sh
# 记录一下开始时间
echo