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

-e(a) ルートの crontab は最初は空で、(b)オプションはシェルで設定されているようです。

ユーザーの crontab ファイルが空の場合は、crontab -lステータス 1 で終了します。

シェルが-eオプション付きで実行されている場合、失敗するとすぐに終了します (ゼロ以外のステータスで終了すると定義されます)。

errexitこの設定を確認するには、 の出力でを探しますecho $SHELLOPTS。 を使用して、現在のシェルでこれをオフにしますset +e

関連情報