大家好,小弟最近寫了一隻python爬蟲來爬期交所的每日交易資料,然後讓他每天可以更新到我的MySQL資料庫中,環境是Ubuntu 18.04.02 LTS。
在進行測試時,我發現分別以Sudo和直接執行的方式,輸入下面兩段程式碼時,產生的結果一個有報錯一個沒有,請問這可能是什麼原因所產生的呢?
sudo python ~/../home/futures_crawer/institute_daily_crawer_sql.py
python ~/../home/futures_crawer/institute_daily_crawer_sql.py
另外還有一個問題想請教,我目前設定了Crontab排程讓爬蟲每天幫我爬資料,我參考了網路上的設定資料做了如下方的設定:
#每日自動爬取台指期法人交易資料 並寫入SQL資料庫
33 17 * * * python ~/../home/futures_crawer/institute_daily_crawer_sql.py ; echo "data has been written" >> /tmp/python_crawer.log
但是我使用 grep CRON /var/log/syslog 看,是顯示有執行指令的不過會有 No MTA installed, discarding output 的警告訊息,而且無法寫入,但我如果直接在CMD執行:
python ~/../home/futures_crawer/institute_daily_crawer_sql.py ; echo "data has been written" >> /tmp/python_crawer.log
它是可以成功寫入MySQL的
請問有大大知道這兩個問題該如何解嗎?感激不盡><
1.沒看到你的code,這是編碼問題,詳細得看你程式怎麼寫和linux環境變數才能確定。
2.No MTA installed, discarding output查了一下是你cron執行時發生錯誤,他要寄信給你,但沒郵件伺服器。可以透過將output重新指向來處理。
https://kknews.cc/zh-tw/news/epg24o4.html
https://blog.csdn.net/win_turn/article/details/53000899