मज़बूती से टाइमस्टैम्प कैसे प्राप्त करें जिस पर सिस्टम बूट हुआ?


13

मुझे uptimeकमांड के बारे में पता है , लेकिन यह बूट किए जाने के बाद से कुछ ही सेकंड में लौटता है, इसलिए यदि मैं अभी उस समय को वर्तमान टाइमस्टैम्प से हटाता हूं, तो सिद्धांत रूप में मैं एक अलग परिणाम प्राप्त कर सकता हूं यदि मैं अपटाइम और वर्तमान टाइमस्टैम्प पढ़ने के बाद दूसरा परिवर्तन करता हूं। uptime -sमैं क्या चाहता हूं, लेकिन यह सेंटो पर उपलब्ध नहीं है (इसकी गणना कैसे की जाती है?)। क्या मैं सिर्फ / खरीद डीआईआर का समय पूरा कर सकता हूं? यह मुझे उचित संख्या दे रहा है, लेकिन मुझे आश्चर्य है कि क्या हर लिनक्स सिस्टम बूट पर बनाया गया है।


आप क्या प्रारूप चाहते हैं? HH:MM:SS? कुछ और?
terdon

1
@terdon, UNIX टाइमस्टैम्प
शराबी

जवाबों:


12

सबसे पहले, crtimeहै लिनक्स पर मुश्किल । उस ने कहा, जैसे कुछ चल रहा है

$ stat -c %z /proc/ 
2014-10-30 14:00:03.012000000 +0100

या

$ stat -c %Z /proc/ 
1414674003

शायद वही है जो आपको चाहिए। /procफाइल सिस्टम LFS मानक द्वारा परिभाषित किया गया है और किसी भी Linux सिस्टम के लिए और साथ ही होना चाहिए अधिकांश के लिए (सभी?) UNIXen।

वैकल्पिक रूप से, यह मानते हुए कि आपको वास्तव में सेकंड की सटीकता की आवश्यकता नहीं है, लेकिन केवल टाइमस्टैम्प को सही होने की आवश्यकता है, आप इसका उपयोग कर सकते हैं who:

$ who -b
   system boot  2014-10-30 14:00

से man who: -बी, अंतिम सिस्टम बूट का -बूट समय

आप GNU का उपयोग करके युग से सेकंड में परिवर्तित कर सकते हैं date:

$ date -d "$(who -b | awk '{print $4,$3}' | tr - / )" +%s
1414674000

1
एक मामूली चेतावनी यह है कि बूट समय आरटीसी से निर्धारित किया जाता है, या आरटीसी की कमी होने पर कुछ डिफ़ॉल्ट। यह समय utmp"सिस्टम बूट" प्रविष्टि के रूप में (init) लिखा जाता है , और इसके द्वारा पढ़ा जाता है who -b। स्टार्टअप में सिस्टम का समय गलत हो सकता है। who -bमेरे rPi पर कहते हैं कि यह 1970 में बूट हुआ था, और एक अन्य
RTC-

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.