crond サービスと完全な /var/spool/exim/ フォルダを備えた EC2 サーバー

crond サービスと完全な /var/spool/exim/ フォルダを備えた EC2 サーバー

私は Linux や Apache などの専門家ではありませんが、このサービスを AWS EC2 サーバーで実行しています。私のプラットフォームでは多数の cron ジョブが実行されています (1 日あたり約 50,000)。

先週、EC2 インスタンスをアップグレードし、新しいインスタンスで cron サービスを開始しました。それ以来、cron ジョブは /var/spool/exim/input フォルダに大量の出力ファイルを残しています。それらはすべて「1mUsgr-0001Ia-DK-H」または「1mUshi-0001PS-Jq-D」のような名前が付けられ、特定の cron ジョブの出力が含まれています。これにより、数日間でこれらのファイルが 100 GB 以上になり、当然のことながら、私はそれを望んでいません。

では、crond のこの「ログ」機能を無効にするにはどうすればよいでしょうか。また、この問題の原因をデバッグするにはどうすればよいでしょうか。

何が原因かはわかりませんeximが、先ほどコマンドを実行しましたが、service exim stopうまくいきませんでした...

答え1

何時間も研究した後、解決策を見つけました。

問題は非常に単純です。Crontab は、cronjob の出力をどこかに配置するように設計されています。この出力先はセットアップで指定されていなかったため、出力先は出力/var/spool/exim/inputごとに 1 つの個別のファイルを持つ -folder に配置され、すぐに大量のファイルとメモリの問題を引き起こしました。

私の解決策は、出力の別の「宛先」を指定することでした。

MAILTO=""

crontab の先頭に、出力を電子メール アドレス "" に送信するように指定します。これで、/var/spool/exim/inputフォルダーはクリーンになり、cron ジョブは引き続き完全に正常に実行されます。

これを読んでいるなら、あなたもこの解決策を使用できる可能性があります :-)

関連情報