ওএস এক্স-এ ক্রোন ক্রিয়াকলাপ লগ করুন


46

ওএস এক্স এর সাথে আসা ক্রোনটি কি কোথাও এর ক্রিয়াকলাপ লগ করে?

আমি কোনও নির্দিষ্ট ক্রোন কাজের আউটপুট খুঁজছি না, বরং ক্রোন কী করছে তা লগইন করছি। কয়েকটা লিনাক্স মেশিনে আমি যাচাই করেছি, এর /var/log/cronমতো সামগ্রী রয়েছে:

Apr 26 11:00:01 localhost crond[27755]: (root) CMD (/root/bin/mysql-backup)
Apr 26 11:01:01 localhost crond[27892]: (root) CMD (run-parts /etc/cron.hourly)
Apr 26 11:07:01 localhost crond[28138]: (root) CMD (/usr/local/bin/python /home/
user1/scripts/pythonscript.py)
Apr 26 11:18:18 localhost crontab[28921]: (user2) LIST (user2)
Apr 26 11:18:22 localhost crontab[28929]: (user2) BEGIN EDIT (user2)
Apr 26 11:18:59 localhost crontab[28929]: (user2) REPLACE (user2)

এটি দেখায় যে চাকরীগুলি কখন চলছিল, যখন ব্যবহারকারীরা ক্রোনট্যাবগুলি দেখে বা সম্পাদনা করেছিল।

উত্তর:


49

/Etc/syslog.conf এ নিম্নলিখিতগুলি যুক্ত করা আরও সহজ:

cron.*      /var/log/cron.log

তারপরে সিসলগ পুনরায় চালু করুন

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

ওএসএক্স 10.7.4 এ পরীক্ষিত এবং কাজ করছে


বাহ, অনেক সহজ। একটি upvote আছে। আমি ভাবছি যদি এটি স্নো চিতাবাঘে কাজ করে থাকে।
ডগ হ্যারিস

2
ম্যাভেরিক্সে কাজ করে
ক্লাস্টারম্যাগনেট

1
ইয়োসেমাইটে কাজ করে
নিককক্সডটমে

স্নো চিতাবাঘের উপর কাজ করে, 10.6.8 (হ্যাঁ, আমি একটি প্রাচীন ...)
ড্যানিয়েল গ্রিসকম

2
/ সিস্টেম / লাইব্রেরি / লঞ্চডেমোনস / কম.এপল.সাইস্লগ.ডলিস্ট: সিস্টেম ইন্টিগ্রিটি প্রোটেকশন নিযুক্ত থাকা অবস্থায় অপারেশন অনুমোদিত নয় (10.13.2 হাই সিয়েরা)। আমাকে কি এসআইপি অক্ষম করতে হবে? ধন্যবাদ!
শেন লু

12

আমি এটিকে বুঝতে পেরেছিলাম যে কীভাবে আমার ক্রোন জব ক্রিয়াকলাপটি লঞ্চ করা চাকরিতে প্রত্যেকে পরিবর্তন না করে লগ করবেন।

ক্রন man পৃষ্ঠা উল্লেখ -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ডিফল্ট পরিবর্তে লেখার জন্য স্ট্যান্ডার্ডএররপাথও যুক্ত করেছি /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 

1

ওএসএক্স এখন ক্রোন - অ্যাপল ডেভ ডক এর পরিবর্তে লঞ্চ ব্যবহার করতে ঝোঁক - তাই এটি লগ করার জন্য ক্রোনটিতে কিছুই নেই।

লঞ্চের লগিং স্তরটি নিয়ন্ত্রণ করতে লঞ্চক্টেল ব্যবহার করুন। সোম লগ তথ্য system.log এ প্রদর্শিত হয় তবে কনসোল অ্যাপে -> সমস্ত বার্তায় আরও রয়েছে more


5
হুম, লঞ্চে স্যুইচ করা এমন কিছু যা আমি বিবেচনা করতে পারি তবে আমি একজন বুড়ো বয়স্ক ইউনিক্স ব্যবহারকারী। আমি সেই লিঙ্কটি অনুসরণ করেছি। এই পৃষ্ঠায় উদাহরণটি ক্রোনটাবের 24 টি অক্ষর প্রতিস্থাপনের জন্য 1046 বাইট দীর্ঘ 0 0 7 11 0 happybirthday
ডগ হ্যারিস

-1

কমপক্ষে Yosemite এ, ক্রোন লগ আউটপুট mailবার্তা হিসাবে , তাই এটি mailপড়তে ব্যবহার করুন।


cronমেলের মাধ্যমে কাজের মালিককে (অন্যথায় পুনঃনির্দেশিত) আউটপুট প্রেরণ করে। যদি সমস্ত আউটপুট পুনঃনির্দেশিত হয় তবে কোনও মেল প্রেরণ করা হবে না। (কোনও বার্তা প্রেরণ করা সত্ত্বেও, আমি নিশ্চিত নই যে এটি কার্যকর করা আদেশটি প্রদর্শন করে কিনা।) প্রশ্নটি জিজ্ঞাসা করছে যে প্রশাসক কীভাবে cronসম্পাদিত সমস্ত আদেশগুলি দেখতে পারে । আপনার উত্তরটি ব্যবহার করতে একজন ব্যক্তির প্রত্যেকের মেল ফাইলটি দেখতে হবে।
জি-ম্যান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.