답변:
기본 설치에서 cron 작업이 로그인됩니다
/var/log/syslog
실행하여 해당 로그 파일에서 cron 작업 만 볼 수 있습니다.
grep CRON /var/log/syslog
아무것도 재구성하지 않은 경우 항목이 거기에 있습니다.
/var/log/
디렉토리의 다른 파일에있을 수 있습니다 . cron.log 또는 동등한 항목을 확인하십시오.
grep -i CRON
대소 문자를 구별하지 검색합니다
syslog에 표시되는 CRON 항목 만 포함하도록 cron.log 파일을 작성할 수 있습니다. 다음 지시 사항을 수행하면 CRON 작업이 여전히 syslog에 표시됩니다.
파일을여십시오
/etc/rsyslog.d/50-default.conf
다음으로 시작하는 줄을 찾으십시오.
#cron.*
해당 줄의 주석을 해제하고 파일을 저장 한 다음 rsyslog를 다시 시작하십시오.
sudo service rsyslog restart
이제 여기에 크론 로그 파일이 나타납니다.
/var/log/cron.log
이제 Cron 활동이 syslog와 함께이 파일에 기록됩니다.
cron.log에는 cron이 /etc/cron.hourly, cron.daily 등에서 스크립트를 실행할 때의 항목이 표시됩니다. 예를 들면 다음과 같습니다.
Apr 12 14:17:01 cd CRON[14368]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
그러나 스크립트가 cron.log (또는 다른 로그 파일)로 출력을 지시하지 않으면 /etc/cron.daily 또는 /etc/cron.hourly 내에서 실제로 실행 된 스크립트에 대한 자세한 정보는 표시되지 않습니다.
crontab이 실행 중인지 확인하고 cron.log 또는 syslog에서 검색 할 필요가없는 경우 출력을 선택한 로그 파일로 리디렉션하는 crontab을 작성하십시오.
01 14 * * * /home/joe/myscript >> /home/log/myscript.log 2>&1
그러면 실행되는 스크립트에서 생성 된 모든 표준 출력 및 오류가 지정된 로그 파일로 리디렉션됩니다.
*.*;auth,authpriv.none -/var/log/syslog
을로 변경하십시오 *.*;auth,authpriv.none,cron.none -/var/log/syslog
.
2>&1
을 의미합니까?
가독성을 높이기 위해 개별 크론 작업의 출력을 자체 로그로 보낼 수도 있습니다. 어딘가에 날짜 출력을 추가하면됩니다.
0 15 * * * /home/andrew/daily-backup.sh >> /var/log/daily-backup.log 2>&1
이것은 매우 오래된 질문이지만 이러한 답변 중 어느 것도 만족스럽지 않습니다.
먼저 cron 작업을 1 분마다 실행 한 다음 테스트 로깅을 사용하여 cron을 비 데몬으로 실행하십시오 (일시적으로 이미 시작된 크론을 죽이십시오).
crond -nx test
그리고 터미널을 통해 흐르는 프로그램 실행 로그를 참조하십시오.
No command 'crond' found, did you mean: Command 'cron' from package 'cron' (main)
그것은에 /var/log/syslog
기본적으로.
그러나 별도의 cron.log를 작성하도록 설정하면 더 유용합니다.
이 Q & A는 프로세스를 설명합니다.
16.04 : cron에서 cron.log를 작성하고 실시간으로 모니터링하게하려면 어떻게합니까?
또한이 답변 wcron
에는 거의 실시간으로 표시 되는 명령 을 만드는 지침이 있습니다 . 또한 다른 답변으로 연결됩니다.
이것은 작업 시작 이상을 포함하도록 로그 수준을 변경하는 방법을 보여줍니다. 수준 15에는 오류와 종료 시간도 표시됩니다.
journalctl -t CROND
로부터 journalctl
수동 :
-t, --identifier=SYSLOG_IDENTIFIER|PATTERN
Show messages for the specified syslog identifier SYSLOG_IDENTIFIER, or for any of the messages with a "SYSLOG_IDENTIFIER" matched by PATTERN.
This parameter can be specified multiple times.
앞에서 언급했듯이 크론 작업은 /var/log/syslog
syslog를 파이프하여 다음과 같이 CRON 로그를 grep하고 필터링 할 수 있습니다.
less /var/log/syslog | grep CRON
다음과 같이 crontab 로그를 검색 할 수 있습니다
less /var/log/syslog | grep CRON | grep <search-keyword-comes-here>
다음과 같이 gz 파일에 저장된 crontab 기록 로그를 검색 할 수 있습니다
less /var/log/syslog.2.gz | grep CRON | grep <search-keyword-comes-here>
항상 로깅 메커니즘을 사용하는 것이 좋으며 서버에 ELK 를 신속하게 설정할 수 있으며 logz를 실험 할 수도 있습니다 .