각 작업을 시작된 작업으로 전환하지 않고 cron 작업 활동을 기록하는 방법을 알아 냈습니다.
크론 매뉴얼 페이지 언급 -x
할 수 있습니다 옵션 "표준 출력에 디버깅 정보 쓰기를." 이것의 부작용은 기본 오류에 표준 정보를 기록한다는 것입니다. 표준 오류로 전송 된 데이터는에 기록됩니다 /var/log/system.log
.
이로 인해 다음과 같은 데이터가 작성됩니다 /var/log/system.log
.
debug flags enabled: misc
[42073] cron started
log_it: (user1 42084) CMD (/root/bin/mysql-backup)
log_it: (user1 42094) CMD (run-parts /etc/cron.hourly)
cron 자체는 launchd에 의해 시작 /System/Library/LaunchDaemons/com.vix.cron.plist
되었으므로 이것을 활성화하려면 편집 해야했습니다.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.vix.cron</string>
<key>ProgramArguments</key>
<array>
<string>/usr/sbin/cron</string>
<string>-x</string>
<string>misc</string>
</array>
<key>KeepAlive</key>
<dict>
<key>PathState</key>
<dict>
<key>/etc/crontab</key>
<true/>
</dict>
</dict>
<key>QueueDirectories</key>
<array>
<string>/usr/lib/cron/tabs</string>
</array>
<key>EnableTransactions</key>
<true/>
<key>StandardErrorPath</key>
<string>/var/log/cron.log</string>
</dict>
</plist>
나는 -x misc
여기에서 사용 했지만 어떤 옵션을 사용했는지는 중요하지 않았습니다. -x
시작된 작업 활동 로깅을 추가합니다 . 또한 defaultError /var/log/cron.log
대신에 StandardErrorPath를 작성했습니다 /var/log/system.log
.
그리고 나서 이것을 언로드하고 다시로드하십시오 :
$ sudo launchctl
Password:
launchd% unload /System/Library/LaunchDaemons/com.vix.cron.plist
launchd% load /System/Library/LaunchDaemons/com.vix.cron.plist