[英]Visual Studio Code, Python linting with WSL (Windows Subsystem for Linux)
[英]Crontab not running python script on Windows Subsystem for Linux (WSL)
我正在嘗試通過 WSL 在 Linux 上運行 python 腳本。
首先,我運行service --status-all
並且atd
和cron
都標記為[+]
。 為了確保它有效,我在crontab -e
輸入了以下內容:
*/2 * * * * /home/myname/Task_scripts/example.sh
這是腳本文件 example.sh 的樣子:
#!/bin/sh
echo "Hello World - Generated every 2 mins" >> ~/hello1.txt
該文件確實每 2 分鍾按設置運行一次,因此到目前為止一切正常。
現在讓我們轉到 Python 部分。 我遵循完全相同的過程,即帶有腳本的 crontab,無論如何都無法運行它。 具體來說,這些是我希望工作但顯然沒有的兩種選擇(在我嘗試過的許多選擇中)。 僅供參考,我正在使用 anaconda 環境。
備選方案 1:
我在 crontab 中有什么: */2 * * * * /home/myname/Task_scripts/email_example.sh
文件的樣子:
#!/bin/sh
/home/myname/anaconda3/envs/py36env/bin/python /home/myname/Production/example_email.py
以下是運行chmod +x email_example.sh
后 .py 文件中的權限:
-rwxrwxrwx 1 myname myname 99 Nov 7 21:26 email_example.sh
備選方案 2:
設置crontab如下:
*/2 * * * * /home/myname/anaconda3/envs/py36env/bin/python /home/myname/Production/example_email.py
.py 的權限與上述相同。
手動執行:
/home/myname/anaconda3/envs/py36env/bin/python /home/myname/Production/example_email.py
運行它應該做的。
你有沒有將 example_email.py 作為可執行文件?
chmod +x /home/myname/Production/example_email.py
好吧,經過幾次嘗試后,我在 crontab 命令中添加了一個導出到日志文件的內容,並且能夠回溯問題。 這是一個 python 問題,並且在特定的 PYTHONPATH 中,我必須將其插入到我的 crontab 的第一行中。
對於這個故事,WSL 就像一個真正的 linux 操作系統一樣正常工作。
友情提示:始終確保包含日志文件。 對於初學者(包括我),這可以通過 crontab 中的以下示例來完成:
* * * * * /home/myname/Task_scripts/example.sh >> /home/myname/Logs/example.txt 2>&1
出於組織目的,創建了一個 Logs 目錄來收集此類文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.