MacOSX Lion에서 크론 로그 파일은 어디에 있습니까? 싶지만 크론

최근 수정까지 잘 작동하는 크론 작업의 문제를 해결하고 싶지만 크론 로그 파일을 찾을 수 없습니다. 어디에 있습니까?



답변

기본적으로 cron은 실행 된 작업의 출력을 기록하지 않습니다. cronjob이 실행되었다는 사실을 기록 할 수 있지만 OS X의 기본값도 아닙니다.

cronjob 실행 출력을 조사하려면 STDOUT 및 STDERR을 로그 파일로 리디렉션하도록 cronjob 라인을 수정하는 것이 좋습니다. crontab 파일에서 또는를 실행 한 후 작업을 수행 한 후 crontab -e작업 라인에 다음과 같은 것을 추가하십시오.

0 0 * * * yourcommand >/tmp/stdout.log 2>/tmp/stderr.log

이렇게하면 STDOUT (일반적으로 인쇄 또는 반향 출력을 STDOUT으로)을 / tmp 디렉토리의 stdout.log 텍스트 파일로, STDERR을 임시 디렉토리의 stderr.log로 보내야합니다. 많은 유틸리티는 STDERR을 사용하여 프로그램의 실제 실행에 의해 생성 된 오류가 아니라 응용 프로그램 오류 일 때 특수 오류 메시지를 인쇄합니다. ( Wikipedia에서 STDERR 에 대한 자세한 내용을 읽을 수 있습니다 .)


답변

다음을 간단하게 추가하는 것이 훨씬 쉽습니다 /etc/syslog.conf.

cron.* /var/log/cron.log

그런 다음 syslog를 다시 시작하십시오.

sudo launchctl unload /System/Library/LaunchDaemons/com.apple.syslogd.plist
sudo launchctl load /System/Library/LaunchDaemons/com.apple.syslogd.plist

OSX 10.7.4에서 테스트 및 작업


답변

기본적으로 “로깅”은 활성화되어 있지 않습니다. 그러나 mail명령 을 실행하여 유용한 정보를 얻을 수 있습니다 .

mail명령 에 대한 TL; DR : Enter 키를 눌러 메시지를 읽은 다음 qenter 키를 눌러 종료하십시오.


답변

cron-job 로그인을 찾을 수있었습니다.

/var/mail/{user-name}

다음은 AWS CLI 명령을 실행하기 위해 얻은 cron 작업 로그입니다.

From build@BuildServer1.local  Fri Mar  2 10:00:00 2018
Return-Path: <build@BuildServer1.local>
X-Original-To: build
Delivered-To: build@BuildServer1.local
Received: by BuildServer1.local (Postfix, from userid 501)
    id A7A94296CBA3; Fri,  2 Mar 2018 10:00:00 +0100 (CET)
From: build@BuildServer1.local (Cron Daemon)
To: build@BuildServer1.local
Subject: Cron <build@BuildServer1> /app/scripts/s3-sync.sh
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=build>
X-Cron-Env: <USER=build>
X-Cron-Env: <HOME=/Users/build>
Message-Id: <20180302090000.A7A94296CBA3@BuildServer1.local>
Date: Fri,  2 Mar 2018 10:00:00 +0100 (CET)

upload: ../../app/logs/debug.log to s3://**my-s3***/app/logs/debug.log


답변

크론은 (나 같은) 작업을 실행할 때 밝혀졌다 /usr/local/bin에 있지 않습니다 PATH.
나는 시행 착오를 통해 이것을 발견하고 내가 알 수있는 간단한 것들에서 처음부터 작업을 구축하고 문제를 발견 할 때까지 점차적으로 추가했습니다.

다른 제안 및 답변 정보 :
어떤 이유로 (적어도 SnowLeopard에서 업그레이드 된 Lion을 실행하는 내 컴퓨터에서) 읽기 또는 읽기 위해 적용된 cronplist 파일에 지정된 매개 변수를 사용 하지 않거나 Lion에서 cron이 아무 것도 쓰지 않습니다. stdout 또는 stderr에. launchd/System/Library/LaunchDaemons/com.vix.cron.plist

그건 그렇고 http://s3tools.org/s3cmdsync백업으로 Amazon S3 버킷 이 있는 폴더에 사용합니다 (예 : 기본 DropBox).


답변