이메일 대신 모든 cron 출력을 syslog로 보내려면 어떻게 해야 합니까?

이메일 대신 모든 cron 출력을 syslog로 보내려면 어떻게 해야 합니까?

-m off이메일 전송을 중지하기 위해 cron을 실행하고 있으며 -s옵션은 모든 출력을 syslog로 보내도록 되어 있습니다.

크론 명령줄은

crond -s -m off

이것을 테스트하기 위한 내 크론 작업은 다음과 같습니다.

* * * * * root /bin/echo hello

내가 보는 /var/log/cron것은

Jun 17 17:06:01 www08 CROND[4165]: h<FF>

기본적으로 내가 얻는 것은 첫 번째 문자이고 h그 다음은<FF>

크론 작업을 다음과 같이 변경하면

* * * * * root /bin/echo world

그런 다음 첫 번째 문자를 얻은 w다음<FF>

궁극적으로 제가 추구하는 것은 syslog에 기록된 cronjob의 모든 출력을 가져와서 로그 경고 시스템으로 관리할 수 있는 방법입니다.

일부는 rpm 패키지에서 자동으로 배치되고 다른 일부는 다른 부서에서 자동으로 배치되므로 모든 cron 작업을 수정하고 싶지 않습니다. 나는 2>&1 | logger -t myscriptname100개 컴퓨터의 모든 크론 작업 끝에 지속적으로 추가하는 대신 이 문제를 한 번에 해결하는 솔루션을 찾고 있습니다.

답변1

수정 사항은 이제 백포팅되었으며 CentOS 6에서 사용할 수 있습니다.https://pkgs.org/centos-6/centos-updates-x86_64/cronie-1.4.4-16.el6_8.2.x86_64.rpm.html. Red Hat에 보고해주신 Tim님, 수고하셨습니다!

답변2

그것을 발견. Centos 6 버전에는 4년 전에 수정되었지만 Redhat에서 백포트하지 않은 버그가 있습니다.

https://www.fedorahosted.org/cronie/ticket/8

나만의 개정판을 만들 예정입니다.

답변3

디버깅을 위해 -x를 사용하여 crond를 실행하고 도움이 되는지 확인할 수 있습니까? 나는 동일한 크론드 옵션을 사용하여 동일한 작업을 실행해 보았는데 잘 작동합니다. Centos7을 사용하고 있습니다. 또한 "hello"를 사용해 보셨나요?

관련 정보