[英]Cron job calling bash script and python scripts
好的,所以我有一个 bash 脚本,它只是下载一个 web 页面,然后我使用 python 从下载的页面中提取一些数据。 所以我的 bash 脚本是沿着
#!/bin/bash
html_file="web_page.html"
wget -O /home/michael/Documents/CS288/homework7/web_page.html http://markets.usatoday.com/custom/usatoday-com/html-mktscreener.asp?exchange=13\&screen=1
python hw_7_2.py $html_file
现在,当我从命令行执行此 bash 脚本时,它运行良好,wget 运行,然后我的 python 脚本执行,但是当我将其设置为 cron 作业时,wget 将运行,但 Z23EEEB4347BDD755DDBB7EE93 脚本从不执行。 我还没有真正设置 cron 作业,所以我认为这可能是问题所在。 这基本上就是我的 crontab 文件的样子
SHELL=/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
* * * * * michael /home/michael/Documents/CS288/homework7/usatoday_runner.sh
尝试将 cron 行替换为:
* * * * * michael /home/michael/Documents/CS288/homework7/usatoday_runner.sh > /tmp/why_is_this_failing.log 2>&1
答案可能在 /tmp/why_is_this_failing.log
您的脚本可能没有设置一些环境变量。 当 cron 作业运行时,它没有您的正常配置文件信息 - 它不加载 your.profile/.bashprofile(更简单的路径、JAVA_HOME 等),一种可能的选择是让脚本源 your.profile 等。
由于$PATH
/working 目录之类的问题,Cron 经常失败。 您正在设置$PATH
,但如果您的 bash 脚本和 python 脚本都不能工作,如果您不在正确的目录中,我不会感到惊讶。
尝试使用更多绝对路径,看看是否可以解决问题。 同样,尝试从/
或某个地方自己运行您的 cron 命令,看看它是否适合您。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.