linux定時任務執行python爬蟲不運行了?

修復阿里雲服務器漏洞升級python程序致使的。
python程序用是3寫的,linux自帶的是2.7.5。升級後定時任務運行正常。代碼以下:
crontab -l查看定時任務:python

# 天天上午6點10分定時抓取價格信息,抓取豬、牛
10  6  *  *  *  /opt/sh/pork_worm.sh
#50 11  *  *  *  python3  /opt/price_worms/pork_worm_daily.py

其中pork_worm.sh只爲一個shell腳本運行python指令。(想讓定時任務直接運行python腳本的,一直沒成功,問題爲不運行不報錯,沒找到緣由) pork_worm.sh內容以下:linux

#!/bin/bash
python  /opt/price_worms/pork_worm_daily.py

/usr/local/bin/ python 升級後定時任務不運行了。shell

在命令行直接運行 sh /opt/sh/pork_worm.sh 是能夠運行的。 後來用python 直接運行 /opt/price_worms/pork_worm_daily.py 報錯,bash

[root@cciikaifa ~]# python /opt/price_worms/pork_worm_daily.py
Traceback (most recent call last):
  File "/opt/price_worms/pork_worm_daily.py", line 3, in <module>
    from bs4 import BeautifulSoup
ImportError: No module named bs4

啥找不到module呢,根本緣由是python2 不兼容這個版本的bs4.
直接用python3 運行:服務器

python3 /opt/price_worms/pork_worm_daily.py
 開始爬取數據2019-08-16 15:13:40

運行正常。阿里雲

定時任務試了幾回仍是不運行。命令行

後來在shell啓動腳本文件里加入python3的根路徑才運行正常。code

輸入指令: whereis python3
python3: /usr/local/bin/python3.6 
/usr/local/bin/python3.6m 
/usr/local/bin/python3.6m-config 
/usr/local/bin/python3 
/usr/local/bin/python3.6-config 
/usr/local/lib/python3.6

而後全部sh腳本運行python的改爲以下:orm

#!/bin/bash
/usr/local/bin/python3  /opt/price_worms/pork_worm_daily.py

而後運行正常了!crontab

相關文章
相關標籤/搜索