
デプロイメント スクリプトがあり、その中に 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
。