cron 작업이 언제 실행되고 있는지 확인하고 싶습니다. 내 sudo crontab -e
직업에 대한 로그가 있다고 생각 하지만 어디에서?
나는 구글을 검색하고 /var/log
(이름에 ‘cron’이없는 것을 보지 않는) 권장 사항을 발견 하고 내가 가지고 있지 않은 파일을 편집하는 /etc/syslog.conf
것을 발견했다.
답변
기본 설치에서 cron 작업이 로그인됩니다
/var/log/syslog
실행하여 해당 로그 파일에서 cron 작업 만 볼 수 있습니다.
grep CRON /var/log/syslog
아무것도 재구성하지 않은 경우 항목이 거기에 있습니다.
답변
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
그러면 실행되는 스크립트에서 생성 된 모든 표준 출력 및 오류가 지정된 로그 파일로 리디렉션됩니다.
답변
이 경우 지속적으로 모니터링하는 것이 유용 할 수 있습니다.
tail -f /var/log/syslog | grep CRON
답변
가독성을 높이기 위해 개별 크론 작업의 출력을 자체 로그로 보낼 수도 있습니다. 어딘가에 날짜 출력을 추가하면됩니다.
0 15 * * * /home/andrew/daily-backup.sh >> /var/log/daily-backup.log 2>&1
답변
systemd
시스템에 설치 한 경우 journalctl
명령 을 사용하여 cron 작업 로그를 표시 할 수 있습니다 .
예를 들어, 우분투 17.10에서 :
journalctl -u cron.service
답변
이것은 매우 오래된 질문이지만 이러한 답변 중 어느 것도 만족스럽지 않습니다.
먼저 cron 작업을 1 분마다 실행 한 다음 테스트 로깅을 사용하여 cron을 비 데몬으로 실행하십시오 (일시적으로 이미 시작된 크론을 죽이십시오).
crond -nx test
그리고 터미널을 통해 흐르는 프로그램 실행 로그를 참조하십시오.
답변
그것은에 /var/log/syslog
기본적으로.
그러나 별도의 cron.log를 작성하도록 설정하면 더 유용합니다.
이 Q & A는 프로세스를 설명합니다.
16.04 : cron에서 cron.log를 작성하고 실시간으로 모니터링하게하려면 어떻게합니까?
또한이 답변 wcron
에는 거의 실시간으로 표시 되는 명령 을 만드는 지침이 있습니다 . 또한 다른 답변으로 연결됩니다.
이것은 작업 시작 이상을 포함하도록 로그 수준을 변경하는 방법을 보여줍니다. 수준 15에는 오류와 종료 시간도 표시됩니다.