使用 bash 腳本新增 cronjob - 沒有 root 的 crontab

使用 bash 腳本新增 cronjob - 沒有 root 的 crontab

我有一個部署腳本,我試圖在其中新增一個 cron 作業。這是我在 stackoverflow 上找到的我正在使用的程式碼。我跑的是 Debian 8。

# ADD CRON
crontab -l > mycron
echo "10 * * * * cd /var/www/test/ && ./test" >> mycron
crontab mycron
rm mycron

當我運行這些命令時,我得到回應:no crontab for root

我在這裡做錯了什麼,我怎麼能得到它,以便我可以使用 bash 腳本添加這個 cron 作業?謝謝。

答案1

聽起來好像 (a) root 的 crontab 最初是空的,並且 (b) 該-e選項是在 shell 中設定的。

如果使用者的 crontab 檔案為空,則以crontab -l狀態 1 退出。

如果 shell 正在使用-e選項運行,那麼它將在失敗時立即退出(定義為以非零狀態退出)。

errexit在 的輸出中尋找echo $SHELLOPTS以檢查此設定。在目前 shell 中使用 關閉它set +e

相關內容