iT邦幫忙

0

aws EC2 crontab 排程問題

你好
aws ec2 ubuntu
我想用crontab 自動執行一個python程式,但是相關套件都是安裝在虛擬環境中
目前測試檔test.py

print('ok')

crontab -e
(讓他每分鐘都執行)

* * * * * source /home/ubuntu/stockinfo/stockinfoenv/bin/activate && python3 /home/ubuntu/stockinfo/stockinfoenv/test.py 

目前都是失敗的,請問:
1.這個寫法有問題嗎?
2.我在最後面有加上 >> /tmp/test.txt 想看錯誤訊息或印出的訊息,但cat 是沒資料的。
上面的資訊都是網上爬來的,試過多種方法都是失敗,還有其他方法嗎??

先寫成shell命令檔。在排程內去執行shell命令。
比較不容易有問題。

另外要注意程式的身份問題。
不要直接在ec2-user上跑。會有一些指令是不給你跑的。
new_p iT邦新手 5 級 ‧ 2020-11-22 11:35:00 檢舉
謝謝
在stockerflow找到文章,修改權限,個人用,直接改成755,加上SHELL=/bin/bash,就可執行虛擬環境

2 個回答

1
raytracy
iT邦大神 1 級 ‧ 2020-11-18 09:52:05

不需要自己發明輪子, 有個東西叫: python-crontab
詳解使用python crontab設定linux定時任務
Scheduling Jobs with python-crontab

new_p iT邦新手 5 級 ‧ 2020-11-22 11:41:51 檢舉

謝謝
試過,只是我不頃向多安裝其他套件,比較習慣用現有或內附的套件.
修改權限,加上SHELL=/bin/bash 已可正常在虛擬環境中執行

0
japhenchen
iT邦大師 1 級 ‧ 2020-11-18 14:58:29

&& 並不是管線,你的activate 是何用處?

我要發表回答

立即登入回答