समय सर्वर के साथ मेरी घड़ी को सिंक्रनाइज़ करने के लिए उबंटू कैसे सेट करें?


23

मैं उबंटू को स्वचालित रूप से अपने सिस्टम घड़ी को स्टार्टअप पर एक घड़ीसाज़ के साथ सिंक्रनाइज़ करना चाहूंगा।

हालाँकि, जब तक मैंने लॉग इन नहीं किया है तब तक मेरा पीसी इंटरनेट से जुड़ा नहीं है (अच्छे माप के लिए 5 - 10 सेकंड)।

मैं इसे करने के लिए इसे कैसे सेट कर सकता हूं?


2
यहां पहले से ही उत्कृष्ट उत्तर हैं जो बताते हैं कि ntpd कैसे स्थापित करें ताकि आपका कंप्यूटर लगातार इंटरनेट टाइम सर्वर के साथ तालमेल बैठाए रखे, लेकिन मैं सिर्फ यह जोड़ना चाहता था कि डिफ़ॉल्ट रूप से Ubuntu आपके नेटवर्क इंटरफेस के आने पर ntp.ubuntu.com के साथ समय सिंक्रनाइज़ करेगा। "अप" (जैसे जब आप अपना कंप्यूटर शुरू करते हैं)। आपके इंटरनेट से कनेक्ट होने के तरीके के कारण यह आपके मामले में प्रकट नहीं होता है, लेकिन अन्य पाठकों को यह नहीं मानना ​​चाहिए कि उबंटू बिना ntpd स्थापित किए बिना समय को सिंक नहीं करता है।

यहाँ एक है जो यह बताता है कि इसे time.nist.gov पर कैसे सेट किया जाए: askubuntu.com/questions/972799/…
एसडीसोलर

जवाबों:


32

यह NTP के साथ किया जाता है, जिसके लिए निर्देश उपलब्ध हैं। असल में, आपको एक NTP डेमॉन स्थापित करना होगा। लगता है कि कई विकल्प उपलब्ध हैं, लेकिन "मानक" एक पैकेज में है ntp। लिंक किए गए पृष्ठ पर दिए निर्देशों के अनुसार,

sudo apt-get install ntp

उबंटू के एनटीपी सर्वर के साथ सिंक्रनाइज़ करने के लिए सब कुछ मिलेगा।

संपादित करें : मैं "स्टार्टअप पर।" यह आमतौर पर आपके सिस्टम और सर्वर के बीच निरंतर सिंक्रनाइज़ेशन प्राप्त करने के लिए ntpd का उपयोग करने की सिफारिश की जाती है, लेकिन अगर आप वास्तव में केवल एक बार सिंक्रनाइज़ करना चाहते हैं, तो mfisch का उत्तर वही लगता है जो आप खोज रहे हैं।


3
मुझे लगता है कि सामान्य तौर पर वह सिर्फ ntpd हमेशा चालू रखने से बेहतर होगा और जब वह ऑनलाइन नहीं था तब कनेक्ट होने में विफल रहता है, जो कि किसी भी तरह से हानिकारक नहीं है। इसके साथ ही कहा, मेरी विधि भी काम करना चाहिए;)
mfisch

मैं इसके साथ लगातार चल रहा हूं।
नाथन उस्मान

1
जॉर्ज, बस इतना ही करो। मैं आपके "वास्तविक" प्रश्न का उत्तर देने की उम्मीद कर रहा था क्योंकि दुनिया की सबसे कष्टप्रद बात इस तरह का प्रश्न पूछ रही है और सभी प्रतिक्रियाएं हो रही हैं "आप ऐसा क्यों करना चाहते हैं?"
mfisch

Ubuntu 18.04 के लिए ntpd को स्थापित करने की सलाह अब लागू होती है। डिफ़ॉल्ट रूप से systemd-timesyncd.service समय सिंक्रनाइज़ करेगा।
इर्न्स्टल

9

यदि आप "सिस्टम-> प्रशासन-> समय और दिनांक" पर जाते हैं, तो आपको दिनांक / समय निर्धारित करने के लिए एक GUI मिलेगा।

समय सर्वर का उपयोग करने के लिए एक विकल्प प्रदान किया जाता है। यदि आप इसकी जाँच करते हैं और NTP स्थापित नहीं है, तो यह पूछेगा कि क्या आप इसे स्थापित करना चाहते हैं। बस "हाँ" पर क्लिक करें, और इसे अपना काम करने दें :)


"स्टार्टअप" बात भूल गए। NTP अपना काम नियमित रूप से करता है, जिसका अर्थ है कि जब भी आप ऑनलाइन हों तो आपको सिंक्रनाइज़ होना चाहिए ... लेकिन यह सुनिश्चित करने का एकमात्र तरीका किसी प्रकार की स्क्रिप्ट का उपयोग करना है जैसा कि mfisch द्वारा प्रदान किया गया है। अब ईमानदार होने के लिए: एक बार सिंक्रनाइज़ होने के बाद, ऐसा कम मौका होता है कि आपका कंप्यूटर अपनी घड़ी पर गड़बड़ करता है। इसलिए यदि आप डिफॉल्ट टाइम सिंक्रोनाइज़ेशन का उपयोग करते हैं, और इसे बैकग्राउंड में करने देते हैं, तो आपको ज़्यादा से ज़्यादा समय बिना जाने ही अच्छा होना चाहिए।
थोड़ा जवा

क्या यह "समय और दिनांक" लेबल नहीं है?
फायरफाइटर

@ फ़ायरफ़ायर: यह अच्छी तरह से हो सकता है। मेरे पास एक अंग्रेजी इंटरफ़ेस नहीं है, इसलिए मैं नहीं बता सकता;)
लिटिल जवा

आह, मूर्खतापूर्ण मुझे, अंतर्राष्ट्रीयकरण के बारे में भूलकर। मेरे एन-सिस्टम ने इसे "टाइम एंड डेट" लेबल किया।
फायरफाइटर

6

आप का उपयोग कर ऐसा कर सकते हैं पर और ntpdate । पर शायद पहले से ही स्थापित है, लेकिन ntpdate नहीं हो सकता है। (apt-get install ntpdate)।

पहले एक छोटी स्क्रिप्ट बनाएं, जो ntpdate चलती है, इसे update_time.sh कहते हैं।

#!/bin/bash
ntpdate pool.ntp.org

अपनी .bash_login फ़ाइल में (जिसे आपको बनाने की आवश्यकता हो सकती है) इसे जोड़ें:

at -f ~/update_time.sh now + 1 minute

वही करना चाहिए जो आप चाहते हैं। आप देरी को बदल सकते हैं कि पर 5 मिनट, 10 मिनट आदि पर होने ।

संपादित करें: मुझे बस एहसास हुआ कि आपको चलाने के लिए मूल होने की आवश्यकता होगी ntpdate। आपको अपडेट किया गया SU_ बिट सेट करना होगा जिसका मैंने उल्लेख किया था। आप इसे कमांड से चलाकर कर सकते हैं (केवल एक बार चलाने की आवश्यकता है):

sudo chmod 4711 update_time.sh
sudo chown root update_time.sh

1
iirc आप .sh स्क्रिप्ट पर सूट नहीं कर सकते।
ब्राम

क्या आप सीधे ntpdate पर suid कर सकते हैं? शायद यही बात पूरी होगी।
mfisch

2
क्यों उपयोग करें at? और यदि आप स्वचालित रूप से चलाने जा रहे हैं ntpdate, तो बस ntpसेवा क्यों नहीं स्थापित करें ?
रीनियर पोस्ट

1
नोट: ntpdate अब Ubuntu (16.04+) पर डिफ़ॉल्ट रूप से इंस्टॉल नहीं किया गया है और टाइमटेक्टेल के पक्ष में हटा दिया गया था। timedatectl systemd की timesyncd सेवा को नियंत्रित करता है, जिसका उपयोग डिफ़ॉल्ट रूप से समय सिंक्रनाइज़ेशन के लिए किया जाता है।
कोरी गोल्डबर्ग

0

चूंकि Ubuntu 16.04 timedatectl / timesyncd (जो कि systemd का हिस्सा हैं) ntpdate / ntp के अधिकांश को प्रतिस्थापित करता है। टाइम सिंक्रोनाइज़ेशन देखें ।

आपको समय सिंक्रनाइज़ेशन को सक्रिय करने की आवश्यकता हो सकती है:

$ sudo timedatectl set-ntp on

यदि आप क्रोनी का उपयोग करना चाहते हैं:

  • यदि आपको एक-शॉट सिंक उपयोग की आवश्यकता है: $ chronyd -q

  • यदि आपको समय का उपयोग किए बिना, एक-शॉट समय जांच की आवश्यकता है: $ chronyd -Q

  • निरंतर सिंकिंग के लिए, अनुशंसित समाधान क्रॉनिक है:

chrony (घ)

NTP डेमन क्रोनॉइड आपके सिस्टम क्लॉक के बहाव और ऑफसेट की गणना करता है और इसे लगातार एडजस्ट करता है, इसलिए इसमें कोई बड़ा सुधार नहीं है जो उदाहरण के लिए असंगत लॉग को जन्म दे सकता है। लागत थोड़ी प्रसंस्करण शक्ति और मेमोरी है, लेकिन एक आधुनिक सर्वर के लिए यह आमतौर पर नगण्य है। स्थापना

एक टर्मिनल प्रॉम्प्ट से क्रॉनी को स्थापित करने के लिए:

$ sudo apt install chrony

आपको सक्रिय करने की भी आवश्यकता हो सकती है

sudo timedatectl set-ntp on

अद्यतन: एक अन्य विधि यदि ऊपर काम नहीं करती है तो चलाने के लिए क्रोन जॉब सेट करना है$ chronyd -q

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