मैं इंटरनेट से समय और दिनांक कैसे निर्धारित करूं?


35

मैं इंटरनेट से तिथि कैसे प्राप्त करूं और अपने कंप्यूटर की घड़ी को कमांड लाइन से सेट करूं?


3
मुझे समझ में नहीं आता है। सरल प्रश्न हैं जो एक समुदाय को शक्तिशाली बनाते हैं। उदाहरण के लिए देख इस
मोहसिन

3
जब मैं अपने माउस के साथ एक प्रश्न के डाउन एरो के ऊपर मंडराता हूं तो मैं देखता हूं: "यह प्रश्न कोई शोध प्रयास नहीं दिखाता है; यह अस्पष्ट या उपयोगी नहीं है"। मुझे पहले (आपके द्वारा पाया गया कोई संकेत नहीं) के आधार पर आपके प्रश्न को नीचा दिखाने के लिए लुभाया जाएगा, दूसरा (इस बात पर कोई संकेत नहीं है कि आप किस विशिष्ट मंच पर काम कर रहे हैं, और यह कमांडलाइन क्यों होना है (सामान्य समय डेमन के बजाय) ) और तीसरे (अधिकांश * निक्स उपयोगकर्ताओं को डिफ़ॉल्ट रूप से स्थापित कुछ डेमॉन होगा)।
एंथन

+1 या तो मुझे समझ में नहीं आता है कि सिर्फ इसलिए कि यह एक ऐसी चीज है जिसने मुझे पहले कई बार परेशान किया है, और इस विशिष्ट विषय के बारे में संक्षिप्त और उपयोगी कुछ भी पता करना असंभव है।
lbb0

@Mohsen मैंने डाउनवोट नहीं किया लेकिन आपके द्वारा लिंक किए गए प्रश्न का अंतर यह है कि switchरूबी में कोई भी नहीं है , जबकि आप सीधे तारीख को date -s(जैसा कि मैनपेज में दिखाया गया है) सेट कर सकते हैं , या नीचे वर्णित किसी भी कमांड का उपयोग कर सकते हैं ...
उलरिच डांगल

1
@ एंथन मैं असहमत हूं: यह सवाल व्यस्त बॉक्स वाले एक छोटे उपकरण के बारे में है, जो जेनेरिक सलाह देता है "एनटीपी का उपयोग करें" जरूरी नहीं कि लागू हो
गिल्स का एसओ- बुराई होना बंद हो '

जवाबों:


29

आप उपयोग कर सकते हैं :

sudo dpkg-reconfigure tzdata

अपने टाइमज़ोन को कॉन्फ़िगर करने के लिए।

इंटरनेट से समय और तारीख अपडेट करने के लिए, निम्नलिखित का उपयोग करें:

इंस्टॉल करें

अगर ntpd स्थापित नहीं है, तो ntpd को स्थापित करने के लिए निम्न में से किसी एक का उपयोग करें:

  • RPM आधारित के लिए:

    yum install ntp 
    
  • डेबियन आधारित के लिए:

    sudo apt-get install ntp
    

विन्यास

आपको कम से कम /etc/ntp.conf कॉन्फ़िग फ़ाइल में निम्न पैरामीटर सेट करना चाहिए: सर्वर

उदाहरण के लिए, vi पाठ संपादक का उपयोग करके /etc/ntp.conf फ़ाइल खोलें:

  # vi /etc/ntp.conf

सर्वर पैरामीटर का पता लगाएँ और इसे निम्नानुसार सेट करें:

  server pool.ntp.org

फ़ाइल सहेजें और ntpd सेवा को पुनरारंभ करें:

  # /etc/init.d/ntpd start

आप निम्न आदेश के साथ तुरंत सिस्टम घड़ी को एक NTP सर्वर में सिंक्रनाइज़ कर सकते हैं:

  # ntpdate pool.ntp.org

* समय और तारीख सेट करने के लिए मैन्युअल रूप से निम्नलिखित सिंटैक्स का उपयोग करें:

 date --set="STRING"

उदाहरण के लिए, 2 अक्टूबर 2006 18:00:00 पर नया डेटा सेट करें, रूट कमांड को रूट यूजर के रूप में टाइप करें:

# date -s "2 OCT 2006 18:00:00"

या

# date --set="2 OCT 2006 18:00:00"

आप सिंटैक्स का उपयोग करके प्रारूप को सरल भी बना सकते हैं:

# date +%Y%m%d -s "20081128"

समय निर्धारित करने के लिए निम्नलिखित सिंटैक्स का उपयोग करें:

# date +%T -s "10:13:13"

कहा पे,

10: घंटा (hh) 13: मिनट (मिमी) 13: दूसरा (ss)

% P लोकेल का AM या PM के समकक्ष उपयोग करें, दर्ज करें:

# date +%T%p -s "6:10:30AM"

# date +%T%p -s "12:10:30PM"

हालाँकि तारीख की जानकारी सभी मान्य है, लेकिन यह ओपी from the internetके शीर्षक से कहीं भी खाते में आवश्यकता नहीं है।
एंथन

मेरा मानना ​​है कि tzdata (समय क्षेत्र डेटा) पैकेज केवल इंटरनेट से डेटा सिंक्रनाइज़ करता है। अगर मैं ग़लत हूं तो मेरी गलती सुझाएं ।
tusharmakkar08

3
tzdata टाइमज़ोन और डेलाइट सेविंग टाइम (प्रारंभ, समाप्ति, युग) के बारे में जानकारी है न कि वास्तविक तिथि और समय। बेशक यह जानना आसान है कि अपने स्थानीय समय को अपने समयक्षेत्र और यूटीसी समय के ज्ञान के आधार पर कैसे प्राप्त किया जाए, लेकिन आपको इंटरनेट से उत्तरार्द्ध प्राप्त करने की आवश्यकता है।
एंथन

तुम गलत हो। समय क्षेत्र डेटा को अपडेट किया जाना है (क्योंकि हर समय परिवर्तन हो रहे हैं) लेकिन यह इंटरनेट से अपने आप अपडेट नहीं होता है NOR यह इंटरनेट से समय निर्धारित करता है।
उलरिच डेंगल

@Anthon: मैंने अपने उत्तर को संगत रूप से संपादित किया है। धन्यवाद।
tusharmakkar08

23

एक छोटा कोड मुझे आपके समय को अपडेट करने के लिए मिला, जब आप तारीख को अपडेट करने के लिए कुछ भी स्थापित नहीं करना चाहते हैं। :)

sudo date -s "$(wget -qSO- --max-redirect=0 google.com 2>&1 | grep Date: | cut -d' ' -f5-8)Z"

1
मैं google.inअपने टाइमज़ोन (INDIA) के लिए वर्तमान समय प्राप्त करने के लिए उपयोग करता हूं।
दिलावर

उस अनुरेखण पर ध्यान दें Zजो इंगित करता है कि समय ज़ुलु समय क्षेत्र में दिया गया है, इसलिए कंप्यूटर टाइमज़ोन सही ढंग से सेट होने पर किसी विशेष टाइमज़ोन हेरफेर की आवश्यकता नहीं होनी चाहिए।
user202729

9

मैं इसका उपयोग करता हूं:

sudo ntpd -qg; sudo hwclock -w

पहले ntpd को केवल समय निर्धारित करने के लिए कहें और उसके बाद -q को रोकें। इसके अलावा, यदि आपकी घड़ी में कोई बड़ी त्रुटि है, तो हमें उस स्थिति में -t के साथ ntpd को भी समायोजित करने की आवश्यकता है। अंत में हार्डवेयर में बदलाव को संरक्षित करने के लिए घड़ी लिखें जब hwclock -w (-w के साथ वर्तमान सिस्टम समय के लिए हार्डवेयरकॉल की स्थापना के लिए रिबूट हो रहा है, एक अंतर है)।


1
मैं अर्धविराम के बजाय "&&" के साथ ऐसा करना चाहता हूं ताकि यदि पहला कमांड विफल हो जाए (उदाहरण के लिए नेटवर्क कनेक्टिविटी डाउन) तो दूसरा कमांड शॉर्ट-सर्कुलेटेड है
Theophrastus


5

कुछ वितरण उस उद्देश्य के लिए शिपिंग rdate हैं । मूल उपयोग:

# just query
bash-4.2$ rdate pool.ntp.org
rdate: [pool.ntp.org]   Wed Jun 12 11:05:40 2013

# set system time
bash-4.2$ rdate -s pool.ntp.org

Ntp

pool.ntp.orgअब से कनेक्शन मना कर दिया rdatetime.nist.govकाम करता है। एक बार सिस्टम टाइम सेट करने के बाद, आपको सिस्टम टाइम पर सेट करने के लिए हार्डवेयर क्लॉक hwclock -wसेट करके चलना चाहिए । फिर आप यह सत्यापित कर सकते हैं कि यह सही हैhwclock -r
मैथ्यू जूल

5

कुछ शोध के बाद, मैंने इसे समाप्त किया। मैंने इसे अपने सर्वर पर भी लागू किया:

sudo apt-get install ntp
sudo dpkg-reconfigure ntp
ntpq -p

यदि अंतिम कमांड सर्वरों की एक वैध सूची दिखाती है, तो आप जाने के लिए अच्छे हैं। आदेश एल्गोरिदम का एक बहुत ही जटिल सेट चलाएगा, जो आपकी घड़ी के बहाव को अन्य चीजों के बीच, और उनके लिए क्षतिपूर्ति करेगा। यदि आप NTP सर्वर से कनेक्शन खो देते हैं, तो आप एक बहुत सटीक घड़ी के साथ समाप्त हो जाएंगे। हालाँकि, कमांड को आरंभ करने के लिए कुछ मिनटों की आवश्यकता होती है।

स्रोत: यहाँ और यहाँ


0

"सहकर्मी" (आप जिस क्वेरी को होस्ट कर सकते हैं) को खोजने के लिए आप उपयोग कर सकते हैं ntpq -p

यदि आपके पास पहले से एनटीपी सेवा चल रही है, तो आपको मैन्युअल रूप से अपडेट करने से पहले इसे रोकना होगा, उदाहरण के लिए sudo service ntp stop

अब आप एक सहकर्मी को क्वेरी कर सकते हैं, उदाहरण के लिए sudo ntpdate "peer"


0

मैनटवर्क के उत्तर में सुझाए अनुसार rdate टूल का उपयोग करना , लेकिन SNTP प्रोटोकॉल और IPv4 विकल्पों के साथ:-n-4

# just print synced time, not set
rdate -n -4 -p time-a.nist.gov

# print and set synced time
sudo rdate -n -4 time-a.nist.gov

उपकरण डेबियन पर इस तरह स्थापित किया जा सकता है:

sudo apt-get install rdate

0

तुषार के जवाब के अलावा , मुझे apt-get install ntpdateअपने Ubuntu 14.04 पर भी करना पड़ा ।

जवाब के रूप में पोस्ट करना क्योंकि प्रतिष्ठा टिप्पणी के लिए पर्याप्त नहीं है।


0

मैं भी समय-समय पर घड़ी रीसेट करने के एक गैर एनटीपी / एनटीपीडी रास्ते की तलाश में था। मुझे google.com हैडर पार्सिंग पसंद है लेकिन यह ubuntu पर काम नहीं करता है। मुझे लगता है कि यह एक रास्पबेरी पाई पर भी काम करेगा।

sudo date +"%d %b %Y %T %Z" -s "$(wget -qSO- --max-redirect=0 http://google.com 2>&1 | grep '^  Date:' | cut -d' ' -f 5-)"

इसके अलावा एक विकल्प के बजाय कर्ल का उपयोग करें।

sudo date +"%d %b %Y %T %Z" -s "$(curl -s --head http://google.com | grep '^Date:' | cut -d' ' -f 3-)"

सेलुलर नेटवर्क के साथ पीआई पर परीक्षण और परिणाम समान हैं:

Using host & wget -- RCV: 1324 bytes SND: 581 bytes
Using host & curl -- RCV: 1318 bytes SND: 567 bytes

नोट: मैं एक आईपी पते पर google.com को हल करने के लिए होस्ट का उपयोग करता हूं ताकि मैं केवल उस आईपी को इस कमांड की अवधि के लिए iptables के साथ खोल सकूं।

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