修復阿里雲服務器漏洞升級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