
저는 Linux, Apache 등에 대한 전문가는 아니지만 이 서비스를 AWS EC2 서버에서 실행하고 있습니다. 내 플랫폼에서는 수많은 크론 작업이 실행되고 있습니다(일당 약 50,000개).
지난주에 EC2 인스턴스를 업그레이드한 후 새 인스턴스에서 cron-service를 시작했습니다. 그 이후로 cron 작업은 /var/spool/exim/input-folder에 엄청난 양의 출력 파일을 남겨두고 있습니다. 모두 "1mUsgr-0001Ia-DK-H" 또는 "1mUshi-0001PS-Jq-D"와 같은 이름으로 지정되며 특정 cron 작업에 대한 출력을 포함합니다. 이로 인해 며칠 만에 100GB가 넘는 파일이 생성되는데, 분명한 이유로 저는 이를 원하지 않습니다.
그러면 크론드에 대한 이 "로그" 기능을 어떻게 비활성화하거나 이 문제의 원인을 디버깅하려면 어떻게 해야 합니까?
뭔지는 모르겠지만 앞서 운 없이 exim
명령을 실행했습니다 .service exim stop
답변1
몇 시간의 연구 끝에 해결책을 찾았습니다.
문제는 아주 간단합니다. Crontab은 cronjob의 출력을 어딘가에 배치하도록 설계되었습니다. 내 설정에서 이 대상이 지정되지 않았기 때문에 출력 대상은 /var/spool/exim/input
출력당 하나의 개별 파일이 있는 -folder에 배치되어 엄청난 양의 파일과 메모리 문제가 빠르게 발생했습니다.
내 해결책은 출력에 대해 다른 "대상"을 지정하는 것이었습니다. 추가하여
MAILTO=""
내 crontab 상단에 이메일 주소 ""로 전송될 출력을 지정합니다. 이제 /var/spool/exim/input
-folder는 깨끗하고 cronjob은 여전히 완벽하게 실행되고 있습니다.
이 글을 읽고 있다면 이 솔루션도 사용할 수 있을 것입니다. :-)