【发布时间】:2017-07-14 21:25:01
【问题描述】:
我的脚本test.sh
#!/bin/bash
source activate rsgislib_dev
/home/user/anaconda2/envs/rsgislib_dev/bin/python /opt/AGR/resample.py
/home/user/anaconda2/envs/rsgislib_dev/bin/python /opt/AGR/stack_bands.py
us_1=$(/home/user/anaconda2/envs/rsgislib_dev/bin/python <(cat << 'EOF'
import sys;
import glob;
us_T34TCP = glob.glob('/tmp/sen/stack_bands/*T34TCP*.kea')
us_T34TCP_L_to_str = ''.join(us_T34TCP)
print us_T34TCP_L_to_str
EOF
))
echo $us_1
is_1="${us_1:0:71}3${us_1:72}"
echo $is_1
gdalwarp -t_srs EPSG:32633 $us_1 $is_1 -r cubic -tr 10 10 -of KEA
rm $us_1
source deactivate
Cron
30 12 * * * /opt/AGR/test.sh
脚本手动运行,但 crontab 仅执行部分。执行 python 脚本,然后停止。
有人知道问题出在哪里吗?
【问题讨论】:
-
为您的脚本创建日志和错误文件,以调试它为什么没有像这样进一步执行,
30 12 * * * /opt/AGR/test.sh 1>/opt/AGR/test.log 2>/opt/AGR/test.err -
我制作了日志。问题是它没有激活源 (
source activate rsgislib_dev)。日志 -->/opt/AGR/test.sh: line 50: activate: No such file or directory.有什么想法吗? -
当我手动执行脚本时,一切正常。当我运行 crontab 时不会激活
source。 -
source搜索PATH变量中的目录。确保设置正确,以便在 cron 运行时脚本可以找到您的activate脚本。