展開スクリプトがあり、その中に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ジョブを追加できるようにするにはどうすればよいですか?ありがとうございました。
(a)rootのcrontabは最初は空で、(b)-e
オプションがシェルで設定されているように聞こえます。
ユーザーのcrontabファイルが空の場合、crontab -l
はステータス1で終了します。
シェルが-e
オプションを指定して実行されている場合、失敗するとすぐに終了します(ゼロ以外のステータスで終了すると定義されています)。
この設定を確認するには、echo $SHELLOPTS
の出力でerrexit
を探します。現在のシェルでset +e
を使用してオフにします。