/var/log/messages
, /var/log/syslog
, এবং কিছু অন্যান্য লগ ফাইল টাইমস্ট্যাম্প যা চাই, একটি পরম সময় রয়েছে ব্যবহার Jan 13 14:13:10
।
/var/log/Xorg.0.log
এবং /var/log/dmesg
, পাশাপাশি আউটপুট $ dmesg
, দেখতে এমন একটি বিন্যাস ব্যবহার করুন
[50595.991610] malkovich: malkovich malkovich malkovich malkovich
আমি অনুমান করছি / সংগ্রহ করছি যে সংখ্যাগুলি শুরু থেকে সেকেন্ড এবং মাইক্রোসেকেন্ডগুলিকে উপস্থাপন করে।
যাইহোক, এই দুটি সেট টাইমস্ট্যাম্পগুলির সাথে সম্পর্ক স্থাপনের আমার প্রচেষ্টা (আউটপুটটি ব্যবহার করে uptime
) প্রায় 5000 সেকেন্ডের একটি ত্রুটি পেয়েছিল।
এটি প্রায় আমার কম্পিউটারের জন্য স্থগিত করা সময়ের পরিমাণ।
ডেমেজ এবং জর্জ দ্বারা ব্যবহৃত সংখ্যাসূচক টাইমস্ট্যাম্পগুলি পরম টাইমস্ট্যাম্পগুলিতে ম্যাপ করার কি কোনও সুবিধাজনক উপায় আছে?
হালনাগাদ
এটি প্রকাশিত হওয়ার দিকে প্রাথমিক পদক্ষেপ হিসাবে, এবং আশাবাদী আমার প্রশ্নটি আরও স্পষ্ট করে তুলতে, আমি টাইম স্কুকে বিশ্লেষণ এবং আউটপুট করার জন্য একটি পাইথন স্ক্রিপ্ট লিখেছি /var/log/syslog
। আমার মেশিনে, উবুন্টু ১০.০০ চলছে, সেই ফাইলটিতে অনেকগুলি কার্নেল-উত্পন্ন লাইন রয়েছে যা ডেমসগ টাইমস্ট্যাম্প এবং সিসলগ টাইমস্ট্যাম্প উভয়ই স্ট্যাম্পযুক্ত। স্ক্রিপ্টটি সেই ফাইলের প্রতিটি লাইনের জন্য একটি লাইন আউটপুট দেয় যা কার্নেল টাইমস্ট্যাম্প ধারণ করে।
ব্যবহার:
python syslogdriver.py /var/log/syslog | column -nts $'\t'
এক্সপারগেটেড আউটপুট (কলাম সংজ্ঞাগুলির জন্য নীচে দেখুন):
abs abs_since_boot rel_time rel_offset message
Jan 13 07:49:15 32842.1276569 32842.301498 0 malkovich malkovich
... rel_offset
সব হস্তক্ষেপ লাইনের জন্য 0 ...
Jan 13 09:55:14 40401.1276569 40401.306386 0 PM: Syncing filesystems ... done.
Jan 13 09:55:14 40401.1276569 40401.347469 0 PM: Preparing system for mem sleep
Jan 13 11:23:21 45688.1276569 40402.128198 -5280 Skipping EDID probe due to cached edid
Jan 13 11:23:21 45688.1276569 40402.729152 -5280 Freezing user space processes ... (elapsed 0.03 seconds) done.
Jan 13 11:23:21 45688.1276569 40402.760110 -5280 Freezing remaining freezable tasks ... (elapsed 0.01 seconds) done.
Jan 13 11:23:21 45688.1276569 40402.776102 -5280 PM: Entering mem sleep
... rel_offset
সমস্ত বাকী রেখার জন্য -5280 ...
Jan 13 11:23:21 45688.1276569 40403.149074 -5280 ACPI: Preparing to enter system sleep state S3
Jan 13 11:23:21 45688.1276569 40403.149477 -5280 PM: Saving platform NVS memory
Jan 13 11:23:21 45688.1276569 40403.149495 -5280 Disabling non-boot CPUs ...
Jan 13 11:23:21 45688.1276569 40403.149495 -5280 Back to C!
Jan 13 11:23:21 45688.1276569 40403.149495 -5280 PM: Restoring platform NVS memory
Jan 13 11:23:21 45688.1276569 40403.151034 -5280 ACPI: Waking up from system sleep state S3
... চূড়ান্ত লাইনগুলি আরও কিছুটা নিচে থেকে আউটপুটের শেষে খুব ভাল উপরে রয়েছে। তাদের মধ্যে কেউ কেউ dmesg
স্থগিতাদেশ হওয়ার আগে সম্ভবত বিজ্ঞপ্তিযুক্ত বাফারকে লিখেছিলেন এবং কেবল syslog
পরে প্রচার করা হয়েছিল। এটি ব্যাখ্যা করে যে কেন তাদের সকলেরই একই সিস্টগ টাইমস্ট্যাম্প রয়েছে।
কলাম সংজ্ঞা:
abs
সিস্লোগ দ্বারা লগ করা সময়।
abs_since_boot
সিস্টেম সূচনার পর থেকে সেকেন্ডে একই সময়, এর বিষয়বস্তু /proc/uptime
এবং মানটির উপর ভিত্তি করে time.time()
।
rel_time
কার্নেলের টাইমস্ট্যাম্প।
rel_offset
abs_since_boot
এবং মধ্যে পার্থক্য rel_time
। আমি এটি কয়েক দশকের সেকেন্ডে গোল করছি যাতে পরম (যেমন- syslog
জেনারেটেড) টাইমস্ট্যাম্পগুলির কারণে কেবলমাত্র সেকেন্ডের যথার্থতা থাকে তাই এক-অফ ত্রুটিগুলি এড়ানো যায় । এটি আসলে এটি করার সঠিক উপায় নয়, যেহেতু এটি সত্যই (আমার মনে হয় ..) কেবলমাত্র বাই -10-ত্রুটি হওয়ার ক্ষুদ্র সম্ভাবনার ফলস্বরূপ। কারও কাছে যদি আরও ভাল ধারণা থাকে তবে দয়া করে আমাকে জানান।
সিসলগের তারিখের ফর্ম্যাট সম্পর্কে আমার কিছু প্রশ্ন রয়েছে; বিশেষত, আমি ভাবছি যে কোনও বছর যদি এটিতে প্রদর্শিত হয়। আমি অনুমান করছি না, এবং যে কোনও ক্ষেত্রে সম্ভবত টিএফএম-র তথ্যটিতে নিজেকে সাহায্য করতে পারে, তবে কারওর জানা থাকলে তা কার্যকর হবে। .. অবশ্যই, যে কেউ এই স্ক্রিপ্টটি ভবিষ্যতের কোনও সময় ব্যবহার করে তার পরিবর্তে পার্ল কোডের কয়েকটি লাইন ছড়িয়ে দেওয়ার পরিবর্তে।
পরবর্তী:
সুতরাং আপনারা যদি কেউ আমাকে দিয়ে কিছু স্বাগত প্রকাশ না করেন তবে আমার পরবর্তী পদক্ষেপটি কোনও প্রদত্ত কার্নেল টাইমস্ট্যাম্পের জন্য সময় স্কিউ পেতে একটি ফাংশন যুক্ত করা হবে। আমার একটি চূড়ান্ত টাইমস্ট্যাম্প পাওয়ার জন্য স্ক্রিপ্টটি এক বা কর্নেল টাইমস্ট্যাম্প সহ সিসলোগের একটি সেট সেট করাতে সক্ষম হওয়া উচিত। তারপরে আমি আমার জোরগ ইস্যুগুলি ডিবাগ করতে ফিরে যেতে পারি, যা এই মুহুর্তে আমাকে এড়িয়ে চলে।
Freezing user space processes
যার জন্য পরিষ্কার হওয়ার আগে স্পষ্টভাবে করা হয়।
[12345.6789]..
কার্নেলের দ্বারা নির্ধারিত পাঠ্যের (শুরু দিয়ে ) পরম টাইমস্ট্যাম্পের উপসর্গ রেখেছেন , সুতরাং এটি সঠিকভাবে কাজ করছে , আমার শেষ মন্তব্যে সম্বোধিত বিষয়গুলির সাপেক্ষে। আমি নিশ্চিত না যে এখানে কার্নেলটি আসলে কী করা উচিত; এটি সেই সূচনা-আপেক্ষিক টাইমস্ট্যাম্পগুলি বোঝাতে বোঝায় তার উপর নির্ভর করে। চলমান সময় (বুট হওয়ার পরে সময়ের বিপরীতে) কিছু প্রসঙ্গে অর্থবোধক হতে পারে। আমি অনুমান করি আদর্শভাবে সেই দুটি মানেরই একটি নির্ভরযোগ্য রেকর্ড থাকবে।
sort
অজানা স্ক্রিপ্টের জন্য বুদ্ধিমান টাইমস্ট্যাম্পগুলি ব্যবহার করে যা আপনি সাজিয়ে নিতে পারেন , বছর, সময় অঞ্চল ইত্যাদি +