
我有一個部署腳本,我試圖在其中新增一個 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
。