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


20

cronファイルを/etc/cron.dに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 &

3
ジョブを実行するユーザーを含めておくと便利です。私はそれを省きました。それが私のトラブルの原因でした。
エドワード・アンダーソン14年

1
数年後、回答は受け入れられませんか?動作しましたか?私も立ち往生しており、よくある落とし穴は問題ではないようです。
-twigmac

回答:


27

私はこの問題に遭遇しましたが、特定のケースには答えられませんが、この質問が非常に高い結果を返すので、他の人が同じ問題をグーグルで検索するのに役立つかもしれません。

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

mytask.cron動作しませんでしたが、名前を変更しmytask、正常に動作しました。

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


13
Debian / Ubuntuのcron(8)マニュアルページには、最近かなり明確に文書化されています: "/etc/cron.dのサポートは、cronデーモン自体に含まれています[...]このディレクトリ内のファイルは[...] run-parts(8)で使用されるのと同じ命名規則:大文字と小文字、数字、アンダースコア、ハイフンのみで構成する必要があります。これは、ドットを含めることができないことを意味します。
ジョシップロダン

15

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


1
私はそれがで終了しない\ n個と言うことはちょうど私の質問を編集することについてだった
トム

1
Debian / Ubuntu cronは、2010年に3.0pl1-110がリリースされて以来、syslogでこれについて警告しています。changelogのエントリ: "ログsyslogにEOFの前に改行が不足してcrontabファイルこれはすなわちのcrontab(1)を介してインストールされていないcrontabファイルにのみ関連して、/ etc / crontabのを/etc/cron.d/*閉じます。#76625。。。"
ヨシップロダン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.