crontab - 解決 mac 下通過 crontab 設置了 Python 腳本的定時任務卻無法運行


背景

通過 crontab 定時運行 python 腳本來發送釘釘消息

https://www.cnblogs.com/poloyy/p/15565875.html

 

一開始的定時任務

*/1 * * * * python3 /Users/test.py

 

確定 Python 腳本是否可正常執行

命令行下敲

 python3 /Users/test.py

發現是可以正常運行的

 

那為什么 crontab 不運行呢?來一步步解決!

OS X 的定時任務統統由 launchctl 來管理的,看看 cron 任務有沒有在里面

# 定時任務統統由 launchctl 來管理的,看看 cron 任務有沒有在里面
sudo launchctl list | grep cron 

# 有記錄。查看一下啟動項的配置
locate com.vix.cron

# 創建一個database
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist

# 查看 /etc/crontab 是否存在
ls -alF /etc/crontab

# 創建該文件
sudo touch /etc/crontab

以為搞定了!結果一分鍾后還是不行

 

驗證 crontab 是否可真正執行

# 每分鍾輸出當前時間到time.txt上.
*/1 * * * * /bin/date >> /User/time.txt 

一分鍾后去看,發現是有文件的,證明 crontab 沒問題

 

關鍵點:絕對路徑

一開始寫的定時任務中,python3 是相對路徑,這是不對的,應該用絕對路徑

*/1 * * * * /usr/local/opt/python@3.9/bin/python3.9 /User/test.py

這樣就可以正常執行了!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM