繁体   English   中英

调用 bash 脚本和 python 脚本的 Cron 作业

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM