मैंने यह पता लगाया कि हर एक को लॉन्च करने वाली नौकरियों पर स्विच किए बिना मेरी क्रोन जॉब गतिविधि को कैसे लॉग किया जाए।
क्रॉन आदमी पेज का उल्लेख -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)
चूँकि क्रोन स्वयं लॉन्च द्वारा लॉन्च किया गया है, इसे सक्षम करने के लिए, मुझे /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काम गतिविधि के प्रवेश शुरू कर दिया। मैंने /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