RHEL / CentOSは、/ etc / cron.d / *の下にあるすべてのcronjobファイルを実行しますか、またはそれらの一部だけを実行しますか?


19

これはRed Hat Enterprise Linux 5システム(RHEL)です。CFengineを使用してこのシステムを管理します。

通常の2倍の頻度で実行されるいくつかのcronjobがあります。下のcronjobsをチェックしました。/etc/cron.d/このディレクトリには、という実際のスクリプトhost-backupが含まれています。また、次のようなcfengineバックアップファイルも含まれていますhost-backup.cfsaved

/etc/cron.d/host-backup
/etc/cron.d/host-backup.cfsaved

このオペレーティングシステムはですべてのファイルを実行します/etc/cron.d/*か、それとも特定のパターンに一致するファイルのみを実行します。これを構成できますか?これはどこで定義されていますか?

RHELまたはCentOSのドキュメントにこの回答が見つかりません。

回答:


20

(Red Hatのサポートに料金を支払っている場合は、この種の質問をする必要があります。これはまさにあなたが支払っている金額です!)

RHEL5のcrontab(5)manページ

存在する場合、/etc/cron.d/ディレクトリはcronスプールディレクトリのように解析されますが、ディレクトリ内のファイルはユーザー固有ではないため、/etc/crontab構文で読み取られます(ユーザーは6番目の列で明示的に指定されます)。

(RHELのmanページにアクセスせずに読むより簡単な方法はありますか?少なくともこの方法では、この段落はRed Hatパッチの一部であることがわかりました。したがって、Vixie Cron 4.1の標準機能ではありません。)

ソースを見ると、私は次のファイルがスキップされることを参照してください.*#**~*.rpmnew*.rpmorig*.rpmsave。はい、元の*.cfsavedファイルに加えてファイルも読み込まれます。


こんにちはGiles、ありがとうございますvixie-cron-4.1-77.el5_4.1.src.rpm。皮肉なことに、このテキストはcronのマニュアルページには含まれておらず、システム上のテキストファイルには含まれていません。なぜそうなのかはわかりませんが、別の議論のトピックです。
ステファンLasiewski


@Giles:あなたが勝ちます。RedHatソースには、明確な回答が含まれている必要があります。この場合、(ソースはインストールされたファイルとは異なるようです)[unix.stackexchange.com/questions/4815]が、それは異なるトピックです。
ステファンLasiewski

6

RedHatサポートからの回答は次のとおりです。

cron.dディレクトリの下にあるすべてのファイルが検査および実行されます。これは基本的に/ etc / crontabファイルの拡張です(つまり、/ etc / crontabファイルにエントリを追加した場合も同じ効果があります)

したがって、「このオペレーティングシステムは/etc/cron.d/*にあるすべてのファイルを実行しますか、それとも特定のパターンに一致するファイルのみを実行します。これを構成できますか?これはどこで定義されますか?」

/etc/cron.d/*の下のすべてのファイルが実行されます(ソースファイルのドキュメントによれば、.rpmsave、*〜などの特定のファイル拡張子は無視されるようです)。構成ファイルを介してこれを構成することはできません。ソースを再コンパイルする場合、おそらくこれを構成することが可能です。この動作は、ソースに含まれているドキュメントに記載されていますが、私が見つけることができるマニュアルまたはマニュアルページには表示されません。


5

答えを追跡するのに苦労した理由は、Red Hat固有の質問ではないからだと思います。表示されている問題は、標準機能の一部cronです。特定したディレクトリ内の各ファイルは、自動的に個別のジョブとして扱われます。

したがって、あなたの質問に対する短い答えは「はい、すべてのファイルが実行されます」です。これは設定できるとは思いません。


2
cronにはさまざまな実装があります。DebianおよびUbuntuにはVixie Cron(3.0)が同梱cron.dされており、その取り扱いについてはマニュアルページで説明されています。RHELにはISC cron 4.1(同じプロジェクトのフォーク)が同梱されており、マニュアルページ(少なくともCentOSでは)には言及されていませんcron.d
ジル「SO-悪であるのをやめる」

1
@Gilles:ポインタをありがとう。CronieがインストールされているFedora(Vixie / ISC Cronのフォーク)を使用しています。マニュアルページには/etc/cron.d、検索パスの1つとして記載されています。私の答えに十分な詳細がなかった場合は謝罪します-これはRed Hatにも当てはまると確信しています。それはケースではありません場合は私に知らせてください
mlschechter

1
調べてみると、これはまさにRed Hat固有の質問です(私の回答を参照)。Red Hat固有であるため、CentOSでさえも異なり、Fedoraもおそらく異なるでしょう(しかし、私はチェックしていません)。
ジル 'SO-悪であるのをやめる'

1
@Gilles-応答が遅れて申し訳ありません。のとしてのRed Hat EL 5、Red HatがいるVixie-cronのを使用しています。RHEL 6はcronieを使用します。RHEL 5のドキュメントを確認した後、元の(誤って入手した場合)結論を確認できたと思います。繰り返しになりますが、これについての掘り下げにご協力いただきありがとうございます。
mlschechter
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.