
我有一個非常簡單的 bash 腳本(run-build.sh):
cd /var/www/project
npm run build
當我從命令列運行該腳本時,它工作正常,但我想透過 cron 作業每 30 分鐘運行一次:
*/30 * * * * /var/www/project/run-build.sh >> /var/www/test.log 2>&1
由於某種原因,這不起作用。我嘗試了各種其他方法,例如以 root 使用者身分執行 cron 作業或將節點路徑新增為 cron 作業的一部分。但是我還沒有找到解決方案,這就是我現在在這裡發布的原因。
有人知道如何讓這個 cron 作業發揮作用嗎?
答案1
我將我的 cronjob 更新為:
* */12 * * * sudo -u user /var/www/project/run-build.sh >> /var/www/test.log 2>&1
現在可以了。我確信我以前嘗試過,但我一定嘗試過不同的東西。
答案2
我有類似的問題。就我而言,問題是由於我的 .sh 腳本沒有執行權限。
檢查腳本檔案是否具有執行權限(x
標誌)ll
。如果沒有,類似:
chmod 744 file
應該允許您的用戶無需 root 即可執行它。