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