我有一个部署脚本,我想在其中添加一个 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
。