gpt4 book ai didi

python 脚本不通过 crontab 执行

转载 作者:太空宇宙 更新时间:2023-11-04 05:47:31 26 4
gpt4 key购买 nike

我有一个python脚本test.py(仅供引用,它包含一些爬行逻辑)并希望它每隔一分钟执行一次。

所以我写了一个 shell 脚本 weekjob.sh(下面每个都试过了)

python /path/test.py
/usr/bin/python /path/test.py
cd /path && /usr/bin/python test.py

然后注册一份工作

* * * * * /bin/sh /path/weekjob.sh

但是python没有执行。

当我执行像 sh weekjob.sh 这样的 shell 脚本时它工作得很好。当我将 weekjob.sh 的内容更改为 mkdir something 时,cronjob 也运行良好。

我的 python cron 作业有什么问题?

(操作系统是centOS)

最佳答案

我找到了答案。这是代理问题。cronlog 显示以下错误。

Traceback (most recent call last):
File "/home/deploy/crawlingScript/proxyTest.py", line 41, in <module>
converter = xml2csv(new_url, username, password, output_file_name, encoding="utf-8")
File "/home/deploy/crawlingScript/converterOld.py", line 13, in __init__
response = urllib2.urlopen(request)
File "/usr/lib64/python2.6/urllib2.py", line 126, in urlopen
return _opener.open(url, data, timeout)
File "/usr/lib64/python2.6/urllib2.py", line 391, in open
response = self._open(req, data)
File "/usr/lib64/python2.6/urllib2.py", line 409, in _open
'_open', req)
File "/usr/lib64/python2.6/urllib2.py", line 369, in _call_chain
result = func(*args)
File "/usr/lib64/python2.6/urllib2.py", line 1190, in http_open
return self.do_open(httplib.HTTPConnection, req)
File "/usr/lib64/python2.6/urllib2.py", line 1165, in do_open
raise URLError(err)
urllib2.URLError: <urlopen error [Errno 110] Connection timed out>

我在 .bashrc 中设置了代理,但我认为 cron 有一些问题。

所以,我只是在 .py 文件中添加了一些代理代码。

感谢@WillemM 找到了另一个解决方案

* * * * * . /path/.bashrc; /bin/sh /path/to/sh/test.sh

.bashrc 是包含代理设置的文件。

关于python 脚本不通过 crontab 执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31602795/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com