最近遇到 linux ubuntu 22.04 的 crontab 與 django 的問題

就是說

一般來說

執行 crontab 會使用 /bin/sh

可能是我太久沒用

實在忘光光

總之

執行 django 的排程會需要使用到 source 先切換到虛擬機

不這樣做好像不行

然後再執行 manage.py 的指令

 

參考這篇文章

https://askubuntu.com/questions/1119526/how-to-run-django-cron-in-crontab

 

*/5 * * * * bash -c 'source /home/user/.bashrc && source /home/user/django-apps/venv/bin/activate && python /home/user/django-apps/project/manage.py runcrons' > /home/user/cronjob.log 2>&1
例如以上指定就是

每五分鐘執行

指定使用者

切換到虛擬機

然後執行 django 指令

輸出內容到指定檔案

 

有時候linux 遇到的問題就是

同樣的問題可能會看到很多種答案

有時候讓人蠻頭大的

當然這是我自己的不足拉~~