python脚本未通过crontab执行

python脚本未通过crontab执行,python,shell,cron,Python,Shell,Cron,我有一个python脚本test.py(仅供参考,它包含一些爬行逻辑) 并希望每一分钟执行一次 因此,我编写了一个shell脚本weekjob.sh(尝试了下面的每个脚本) 然后注册一份工作 * * * * * /bin/sh /path/weekjob.sh 但是python没有被执行 当我执行shell脚本时,比如sh weekjob.sh 效果很好。当我将weekjob.sh的内容更改为mkdir时,cronjob的某些功能也运行良好 我的python cron工作有什么问题 (操作系统

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

因此,我编写了一个shell脚本weekjob.sh(尝试了下面的每个脚本)

然后注册一份工作

* * * * * /bin/sh /path/weekjob.sh
但是python没有被执行

当我执行shell脚本时,比如
sh weekjob.sh
效果很好。当我将weekjob.sh的内容更改为
mkdir时,cronjob的某些功能也运行良好

我的python cron工作有什么问题

(操作系统是centOS)

而不是执行

* * * * * /bin/sh /path/weekjob.sh 
你为什么不这样放下
/bin/sh

* * * * * /path/weekjob.sh 
首先确保该脚本是可执行的:

chmod +x /path/weekjob.sh
我找到了答案。 这是代理问题。 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是包含代理设置的文件。

请查看crond日志:@ozgur我做了,但它显示了很好的成功日志,比如
crond[22259](user)CMD(/usr/bin/python/path/weekMobileJob.py)
我已经做了。。而shell脚本实际上一直在运行。我在
/var/log/cron
上检查了它,虽然这是一个合理的建议,但它对诊断或解决问题中的实际问题没有任何作用。此外,单独调用Python脚本的shell脚本也是完全多余的。请分享您的Python脚本的内容,我认为我们可能需要在那里寻找诊断。@WillemM,正如您所说,Python脚本有一些缺陷。Python脚本是关于从某个需要身份验证的网站抓取数据的。这不是身份验证的问题,因为我设置了id和pwd进行身份验证。crontab执行的脚本与您在命令行上运行的脚本环境不同。@WillemM-Ah。。我应该找到更多关于crontab的信息。。!谢谢你,M。
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>
* * * * * . /path/.bashrc; /bin/sh /path/to/sh/test.sh