web-dev-qa-db-ja.com

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

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

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

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

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

RHELまたはCentOSのドキュメントでこの回答を見つけることができません。

19

(もしあなたがRed Hatサポートにお金を払っているなら、あなたは彼らにこの種の質問をするべきです。これはまさにあなたが払っているものです!)

RHEL5 crontab(5) manページ から:

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

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

ソースを見ると、次のファイルがスキップされていることがわかります:.*#**~*.rpmnew*.rpmorig*.rpmsave。つまり、元のファイルに加えて*.cfsavedファイルが読み取られます。

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

Cron.dディレクトリの下のすべてのファイルが検査されて実行されることを通知してください。これは基本的に/ etc/crontabファイルの拡張です(つまり、/ etc/crontabファイルにエントリを追加しても同じ効果です)

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

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

6

回答を追跡するのが難しいのは、Red Hat固有の質問ではないためだと思います。あなたが見ている問題はcronの標準機能の一部です-特定したディレクトリ内の各ファイルは 自動的に個別のジョブとして扱われます です。

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

5
mlschechter