web-dev-qa-db-ja.com

/etc/cron.dにファイルを追加しても実行されません(ubuntu 10.04)

/etc/cron.dにcronファイルをscpした場合、ファイルを編集してコマンドを変更しない限り、ファイルは実行されません。次に、crondがcronファイルを取得するようです。

どのようにしてcronにubuntu 10.04のcronファイルをリロードさせることができますか?ファイルの「タッチ」は機能せず、「cronの再起動」や「cronの再読み込み」もできません。

私のcronファイルは毎分実行するように設定され、ファイルにログを記録します。コマンドを編集するまで何もログファイルに記録されず、/ var/log/syslogにそのエントリがありません

私は困惑しています。

これが/etc/cron.d/runscriptに保存された私のcronファイルです(新しい行で終わることに注意してください)

# Runs the script every minute. This is safe because it will exit with success if it's already running
* * * * * www-data if [ -f /usr/local/bin/thing ]; then exec /usr/bin/php /usr/local/bin/thing mode:prod -a 14 -d >> /var/log/thing/mything.log 2>&1; else echo `date +'[\%D \%T]'` "Thing not deployed. Command not run" >> /var/log/thing/mything.log; fi &
20
tom

私はこの問題に遭遇しましたが、それはあなたの特定のケースには答えませんが、この質問は結果で非常に高いので、同じ問題をグーグルする他の人々を助けるかもしれません。

/etc/cron.dにファイルを保存しましたが、無視されていました。私の場合は、ファイルに拡張子を付けていたからです。

mytask.cronは機能しませんでしたが、名前をmytaskに変更したところ、問題なく動作しました。

拡張子の付いたファイルはすべて無視されるため、保存するファイルに拡張子がないことを確認してください。

27
Anigel

コピーするファイルの末尾が\nであることを確認してください。末尾に\nがないcrontabのエントリは、一般的に問題が発生します。これを確認する最も簡単な方法は、最後のエントリの後に空白行を置くことです。

15
user9517