Scripting

如果電腦已打開並且已連接到 Internet,我如何每天執行一次 Python 腳本?

  • April 2, 2020

如果我的電腦已打開並且已連接到 Internet,我想每天執行一個 Python 腳本。我該怎麼做?我的努力是

00 14 * * * python3 /home/jaakko/.config/spyder-py3/temp.py

但問題是我不知道我的電腦當時是否開機,以及它是否可以訪問網際網路。

您應該使用anacron而不是cron. 在中,創建一個包含以下內容/etc/cron.daily的文件(我稱之為):script

#!/bin/sh
while true; do
   for host in www.ieee.com www.stackexchange.com; do
       if ping -w 4 $host; then
           python3 /home/jaakko/.config/spyder-py3/temp.py
           exit 0
       fi
   done
   sleep 60
done

讓它可執行chmod +x script,你就完成了。

ping如果在 4 秒內收到響應,它將域並執行 python。選擇最適合您需求的域。我提供的只是範例,但對於一般的 Internet 訪問來說,它們可能就足夠了。

如果沒有收到數據包,它將在 60 秒後重試。


注意script將以root身份執行。如果這對您來說是個問題,您可以按照AskUbuntu 中此答案中提供的步驟以普通使用者身份執行它。

引用自:https://unix.stackexchange.com/questions/577337