Scripting
如果電腦已打開並且已連接到 Internet,我如何每天執行一次 Python 腳本?
如果我的電腦已打開並且已連接到 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 中此答案中提供的步驟以普通使用者身份執行它。