
私は 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 ジョブは引き続き完全に正常に実行されます。
これを読んでいるなら、あなたもこの解決策を使用できる可能性があります :-)