如何從 cronjob 觸發的 bash 腳本運行 npm build?

如何從 cronjob 觸發的 bash 腳本運行 npm build?

我有一個非常簡單的 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 即可執行它。

相關內容