Ntp का उपयोग करके घड़ी अपडेट को कैसे बाध्य करें?


377

मैं एक एआरएम आधारित एम्बेडेड सिस्टम पर उबंटू चला रहा हूं जिसमें बैटरी समर्थित आरटीसी की कमी है। 1970 के दौरान जागने का समय कहीं न कहीं है। इस प्रकार, मैं वर्तमान समय के लिए अद्यतन करने के लिए NTP सेवा का उपयोग करता हूं।

मैंने /etc/rc.localफाइल करने के लिए निम्नलिखित लाइन जोड़ी :

sudo ntpdate -s time.nist.gov

हालांकि, स्टार्टअप के बाद, यह तब भी कुछ मिनट का समय लेता है जब तक कि समय अपडेट नहीं किया जाता है, उस अवधि के दौरान मैं प्रभावी ढंग से tarऔर साथ काम नहीं कर सकता make

मैं किसी भी समय घड़ी अपडेट को कैसे लागू कर सकता हूं?


अद्यतन 1: निम्नलिखित (एरिक और स्टीफन के लिए धन्यवाद) कमांड लाइन से ठीक काम करता है, लेकिन जब इसे डाला जाता है तो घड़ी को अपडेट करने में विफल रहता है /etc/rc.local:

$ date ; sudo service ntp stop ; sudo ntpdate -s time.nist.gov ; sudo service ntp start ; date
Thu Jan  1 00:00:58 UTC 1970
 * Stopping NTP server ntpd     [ OK ] 
 * Starting NTP server          [ OK ] 
Thu Feb 14 18:52:21 UTC 2013

मैं क्या गलत कर रहा हूं?


अद्यतन 2: मैंने 1 अपडेट के जवाब में आए कुछ सुझावों का पालन करने की कोशिश की, लेकिन वास्तव में आवश्यक रूप से काम करने के लिए कुछ भी नहीं लगता है। यहाँ मैंने क्या कोशिश की है:

  1. सर्वर को बदलें us.pool.ntp.org
  2. कार्यक्रमों के लिए स्पष्ट रास्तों का उपयोग करें
  3. ntpपूरी तरह से सेवा निकालें और बस sudo ntpdate ...अंदर छोड़ देंrc.local
  4. sudoउपरोक्त कमांड से अंदर निकालेंrc.local

उपरोक्त का उपयोग करते हुए, मशीन अभी भी 1970 से शुरू होती है। हालांकि, कमांड लाइन से ऐसा करते समय एक बार लॉग इन (थ्रू ssh) हो जाता है, जैसे ही मैं आह्वान करता हूं, घड़ी अपडेट हो जाती है ntpdate

आखिरी चीज जो मैंने की थी वह थी कि अपनी फाइल में rc.localएक कॉल हटाओ और जगह दो । यह उम्मीद के अनुसार घड़ी को अपडेट करता है, और कमांड प्रॉम्प्ट उपलब्ध होने के बाद मुझे सही वर्तमान समय मिलता है।ntpdate.bashrc

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

तो, क्या कोई कारण है कि ntpdateकमांड rc.localको आवश्यक कार्यों को पूरा न करते हुए, .bashrcठीक काम करते हुए ?


2
यहाँ से [1]: [१]: ntpdate -s ntp.ubuntu.com [१]: askubuntu.com/a/81301/130162
१73४४६9४४०16३67०

4
ntpdate पर '-b' झंडे को नोटिस करें। Ntpdate के मैन पेज से: "एडजाइम () सिस्टम कॉल का उपयोग करके स्लीव्ड (डिफॉल्ट) के बजाय सेसमोफ़ेयड () सिस्टम कॉल का उपयोग करने के लिए बाध्य होने के समय को बल दें। बूट समय पर स्टार्टअप फ़ाइल से कॉल करने पर इस विकल्प का उपयोग किया जाना चाहिए।" नीचे दिए गए कई जवाबों में यह शामिल नहीं है, और हो सकता है कि काम करने के लिए चीजें प्राप्त करने में समस्या का हिस्सा हो। गौर कीजिए कि '-बी' झंडे में यह उल्लेख है कि 128 मिसे से अधिक के ऑफ़सेट को डिफ़ॉल्ट 'स्लेव' तंत्र का उपयोग करके सिंक करने में घंटों लग सकते हैं
मैट एस।

sudo/Etc/rc.locale फ़ाइलों में उपयोग करने की कोई आवश्यकता नहीं है .. वे रूट के रूप में पहले से ही चलाए जा रहे हैं।
सोरेन ए

timedatectl, लेकिन askubuntu.com/questions/832646/…
nobar

जवाबों:


325

संभवतः ntpसेवा चल रही है, इसलिए ntpdateसॉकेट (पोर्ट 123 यूडीपी) को नहीं खोल सकते हैं और एनटीपी सर्वर से कनेक्ट कर सकते हैं।

कमांड लाइन से कोशिश करें:

sudo service ntp stop
sudo ntpdate -s time.nist.gov
sudo service ntp start

यदि आप /etc/rc.localइसे निम्नलिखित का उपयोग करना चाहते हैं :

( /etc/init.d/ntp stop
until ping -nq -c3 8.8.8.8; do
   echo "Waiting for network..."
done
ntpdate -s time.nist.gov
/etc/init.d/ntp start )&

धन्यवाद। क्या आप बता सकते हैं कि आपको स्पष्ट रास्तों की आवश्यकता क्यों है?
ysap

1
मैं वास्तव में नहीं जानता। :-) मुझे एक बार servicerc.local और cron से चलने में परेशानी हुई, लेकिन मैंने इसके बजाय /etc/init.d/xxx का उपयोग करके इसे ठीक करने में कामयाबी हासिल की। वास्तव में मुझे लगता है कि आपको पूर्ण पथ देने की आवश्यकता नहीं है ntpdate, मुझे स्क्रिप्ट में पूर्ण पथ का उपयोग करना पसंद है, यह सुनिश्चित करने के लिए कि सही फ़ाइल मिल जाए।
एरिक कारवाल्हो

2
ठीक है, यह स्पष्ट रूप से समस्या थी। अब नेटवर्क कनेक्शन स्थापित होते ही घड़ी को अपडेट किया जा रहा है। धन्यवाद।
ysap

3
मुझे पता चला कि us.pool.ntp.orgअधिक उत्तरदायी है।
ysap

7
-uविकल्प के साथ , आपको ntp सेवा बंद करने की आवश्यकता नहीं है:sudo ntpdate -u time.nist.gov
एडवर्ड एंडरसन

486

Ntpdate (जो पदावनत है ) के बजाय , का उपयोग करें

sudo service ntp stop
sudo ntpd -gq
sudo service ntp start

-gqNTP डेमॉन बताता समय सही करने के लिए ऑफसेट (की परवाह किए बिना g(तुरंत) और निकास q) समय सेट करने के बाद।


3
धन्यवाद। फिर भी इस कमांड के बाद 1970 (w / sudo) दिखा रहा है। ntpdमैनपेज पढ़ना , मुझे यकीन नहीं है कि यह कैसे अपडेट करता है?
ysap

12
"-Q" विकल्प एनटीपी डेमॉन को शुरू करने, समय निर्धारित करने और तुरंत बाहर निकलने के लिए कहता है। "-जी" विकल्प इसे समय के अंतर के लिए सही करने की अनुमति देता है, फिर 1000 सेकंड। लंबी अवधि के लिए, आपको बस एनटीपी डेमॉन को हमेशा चालू रखना चाहिए।
thaharold

35
यह उत्तर शीर्ष पर जाना चाहिए, क्योंकि यह सही है: ntpdate को हटा दिया गया है और इसे स्थापित करना एक बुरा विचार है, क्योंकि यह ntp के साथ टकराव करता है। यदि घड़ी बंद है, तो आपको यह मैनुअल स्टेप करने की आवश्यकता है क्योंकि अन्यथा ntp आपकी घड़ी को नहीं बदलेगा और आपको यह नहीं बताएगा कि क्यों।
Liam

31
मेरे लिए, sudo ntpd -gqबाहर नहीं निकलता! मैं 14.10 पर हूं और मुझे जारी रखने के लिए CTRL + C करना है ... या कितना समय लगना है?
यानिक रोचोन

5
FYI करें, मेरे सिस्टम (CentOS 6.6) पर, मुझे दो उदाहरणों को बदलने की आवश्यकता sudo service ntp...है sudo service ntpd...
रिनोगो

63

तुरंत समय निर्धारित करने के लिए sntp का उपयोग करें। उदाहरण के लिए:

sudo sntp -s 24.56.178.140

नंबर के बाद किसी भी ntp समय सर्वर हो सकता है, कि एक फीट में NIST है। कोलिन्स, कोलोराडो।


1
वह काम किया! +1
कप्पी

7
यह काम किया जब "sudo ntpd -gq" नहीं किया।
मैट व्हाइट

मुझे नहीं पता कि मैं इस जवाब के लिए कितनी बार आया हूं। हर बार काम करता है।
अराजकता

1
पैकेज का पता लगाने में असमर्थ?
मंदिर

1
apt-get install sntp / yum install sntp (हाँ यह CentOS, RedHat, फेडोर पर भी काम करता है)
ndemou

40

जैसा कि दूसरों ने बताया है कि घबराहट की सीमा को अनदेखा करने के लिए ntpd को निर्देश देना सबसे अच्छा उपाय है, जो डिफ़ॉल्ट रूप से 1000 सेकंड है। आप दहशत दहलीज को दो तरीकों में से एक में कॉन्फ़िगर कर सकते हैं:

  • संपादित करें /etc/default/ntpऔर सुनिश्चित करें कि -g विकल्प मौजूद है।
  • /etc/ntp.conf और tinker panic 0शीर्ष पर जगह संपादित करें

अब तक यह अनिवार्य रूप से दूसरों ने सिफारिश की है, लेकिन एक और कदम है जो मुझे लगता है कि आपको लेना चाहिए। नकली hwclock प्रोग्राम स्थापित करें:

# apt-get install fake-hwclock


fake-hwclock: Save/restore system clock on machines without working RTC hardware

 Some machines don't have a working realtime clock (RTC) unit, or no
 driver for the hardware that does exist. fake-hwclock is a simple set
 of scripts to save the kernel's current clock periodically (including
 at shutdown) and restore it at boot so that the system clock keeps at
 least close to realtime. This will stop some of the problems that may
 be caused by a system believing it has travelled in time back to
 1970, such as needing to perform filesystem checks at every boot.

 On top of this, use of NTP is still recommended to deal with the fake
 clock "drifting" while the hardware is halted or rebooting.

नकली-hwclock के साथ आपकी मशीन यह सब फिर से 1970 है यह सोचकर शुरू नहीं होगी। जब आपकी मशीन बूट करती है, तो वह अपनी घड़ी को टाइमस्टैम्प पर सेट कर देगी नकली-hwlock ने अंतिम रिबूट / शटडाउन के दौरान लिखा था। इसका मतलब है कि जब आप बूट करते हैं तो नेटवर्क की समस्या होने पर आप कुछ हद तक सही घड़ी रख सकते हैं।


1
-gमेरे लिए कुछ भी नहीं करने के लिए लग रहा था (कमांड लाइन पर, मेरे पास नहीं है /etc/default/ntp), लेकिन काम tinker panic 0करने के लिए जोड़नाntp.conf
डेव कज़िनो

@Sahuagin मुझे नहीं पता कि आपको एक गैर-मानक एनटीपी पैकेज के अलावा अन्य क्या बताना है। / etc / default / NTP उबंटू से पैकेज का हिस्सा है: packages.ubuntu.com/xenial/amd64/ntp/filelist और जी जब तक मैं याद कर सकते हैं के लिए एक विकल्प दिया गया है।
dfc

क्षमा करें, मुझे लगता है कि मैं वास्तव में उबंटू में नहीं हूं और टिप्पणी करने से पहले थोड़ा और सोचना चाहिए था। tinker panic 0निश्चित रूप से हालांकि काम करने लगता है।
डेव कजिनो

13

ntpdate नेट डेमॉन से अलग एक प्रोग्राम है। NTPDate संभवतः बूट पर त्रुटिपूर्ण है क्योंकि ntpd उस सॉकेट पर चल रहा है।

कमांड लाइन से, भागो

# sudo service ntp stop ; sudo ntpdate -s time.nist.gov ; sudo service ntp start

आप सभी को एक साथ ntpd को अनइंस्टॉल (apt-get remove ntp) भी कर सकते हैं और प्रत्येक घंटे में ntpdate का उपयोग करने के लिए क्रोन स्क्रिप्ट जोड़ सकते हैं।

अपडेट करें

ntp सेवा में संभवतः आपके लिए इस सिस्टम पर सार्थक मूल्य नहीं होगा, इसलिए पहले इसे हटा दें।

# sudo apt-get remove ntp

अब कमांड जोड़ें:

ntpdate -sb time.nist.gov

सेवा /etc/rclocal

रीबूट। उस बिंदु पर अच्छा होना चाहिए।


उत्तर अपडेट किया गया।
स्टीफन

1
क्या ntpdate को चरणबद्ध या कुछ और नहीं बताया जा रहा है? इसके अलावा, यदि मैं इसे सही ढंग से समझता हूं, तो सेवा चलती है और स्थानीय घड़ी के सिंक को सर्वर की घड़ी में बनाए रखती है - इसलिए बहाव बाध्य है। यदि आप ntp को हटाते हैं और एक बार ntpdate चलाते हैं, तो क्या यह घड़ी के बहाव से प्रभावित नहीं होगा जब मशीन विस्तारित अवधि के लिए चालू रहती है?
ysap

Stephan, कृपया सवाल का अद्यतन # 2 देखें।
ysap

3
हां, ntpdate को चरणबद्ध किया जा रहा है। "Ntpd -q" का उपयोग पसंद किया जाता है (दोनों वेरिएंट के लिए आवश्यक है कि ntpd को पहले रोका जाए)।
thaharold

11

timedatectlसमय निर्धारित करने के लिए (सिस्टमड सर्विस यूनिट) का उपयोग करें । ntpपदावनत किया गया है।

sudo systemctl restart systemd-timesyncd.service

आप लॉग को पढ़ने के साथ अद्यतन किए गए समय की जांच कर सकते हैं journalctl -xe | tail

संदर्भ


यह Ubuntu 19.04 पर काम किया। धन्यवाद!
क्रुबो

10
rdate -s tick.greyware.com

यदि आप सभी को एक बार घड़ी सेट करना चाहते हैं, सरल


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

यह मेरे रास्पबेरी पाई पर एक समय सिंक मुद्दा तय किया। धन्यवाद।
ओलिवर स्प्रीं

7

डेबियन / टकसाल / उबंटू (या अन्य डेबियन व्युत्पन्न) प्रणाली पर ऐसा करने का सही तरीका लाइन है

NTPD_OPTS="-g"

फ़ाइल में

/etc/default/ntp

यह सुनिश्चित करता है कि जब ntpd को /etc/init.d/ntp स्क्रिप्ट से शुरू किया गया है, तो यह "-g" विकल्प के साथ चलता है, अर्थात

 start-stop-daemon --start --quiet --oknodo --pidfile /var/run/ntpd.pid --startas /usr/sbin/ntpd -- -p /var/run/ntpd.pid -g -u 124:128

ntpd को सिस्टम समय को ठीक करने की अनुमति देने के लिए जब यह 1000 से अधिक है, उदाहरण के लिए जब सिस्टम का समय 1 जनवरी 1970 को स्टार्टअप पर है क्योंकि कोई हार्डवेयर आरटीसी नहीं है।


मेरे पास पहले से ही है, लेकिन यह अभी भी NY में 3AM कहता है, जब यह 11pm होना चाहिए।
चॉबी

मैं भी पहले से ही लाइन में था /etc/default/ntp, लेकिन समय सिंक्रनाइज़ नहीं था।
दाविद फेरेन्स्की रोगोजान

5

tlsdateटीएलएस के साथ दूरस्थ सर्वर से सुरक्षित रूप से कनेक्ट करके और सुरक्षित हैंडशेक से दूरस्थ समय निकालने के द्वारा स्थानीय घड़ी सेट करता है। इसके विपरीत ntpdate, tlsdateटीसीपी का उपयोग करता है, उदाहरण के लिए एक दूरस्थ HTTPS या TLS सक्षम सेवा से कनेक्ट करने के लिए, और प्रतिकूल परिस्थितियों के खिलाफ कुछ सुरक्षा प्रदान करता है जो आपको दुर्भावनापूर्ण समय की जानकारी खिलाने का प्रयास करते हैं।

$ tlsdate -V -n -H encrypted.google.com

5

ध्यान दें कि कुछ वर्तमान उबंटू आधारित प्रणालियां अभी भी डिफ़ॉल्ट रूप से NTP सेवा का उपयोग नहीं करती हैं। मेरे लिनक्स टकसाल 19 (उबंटू 18.04) मशीन पर, समय द्वारा रखा गया है systemd-timesyncd

यह सिंक खो दिया है, तो मैं सिर्फ चलाने के लिए तारीख तक का समय पाने के लिए

sudo systemctl restart systemd-timesyncd

15.04 के बाद से उबंटू डिफ़ॉल्ट रूप से सिस्टमड का उपयोग करता है। इसलिए समय जैसी महत्वपूर्ण प्रणालियों को सिस्टमड के माध्यम से प्रबंधित किया जाता है। यह जानने के लिए कि आपका सिस्टम किस सेवा का उपयोग कर रहा है जैसे कुछ

systemctl list-unit-files | grep -E 'ntp|timesyncd'

TechJS के लिए 16.04 को सेवा थी ntp। उबंटू 18.04 (मिंट 19) पर खुद के लिए सेवा है systemd-timesyncd। दिलचस्प है, मैं एक 16.04 सर्वर में लॉग इन किया और यह भी उपयोग करता है systemd-timesyncd


धन्यवाद। प्रश्न पोस्ट करने के बाद एक लंबा समय हो गया है, और मेरे पास परीक्षण के लिए एक प्रणाली उपलब्ध नहीं है, लेकिन क्या आप इस बात पर विस्तृत रूप से बता सकते हैं कि आपका जवाब @TechJS से अलग कैसे है, विशेष रूप से आपके द्वारा प्रस्तावित आदेश थोड़ा अलग है।
ysap

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

4

-bसमय का उपयोग करने के लिए विकल्प का उपयोग करने का प्रयास करें ।


2
कमांड लाइन से कोशिश करते समय, मुझे निम्न प्रतिक्रिया मिलती है 1 Jan 00:04:11 ntpdate[2226]: the NTP socket is in use, exiting :। हालाँकि, मुझे लगता है कि मैंने पहले भी यह कोशिश की थी rc.localलेकिन इससे कोई फायदा नहीं हुआ।
ysap

3
चलने से पहले आपको सबसे पहले ntp सेवा बंद करनी होगीntpdate -b <ipaddress>
Wim Deblauwe

2

कुंआ,

मैं अपनी रास्पबेरी पी पर एक रास्पियन (डेबियन व्हीज़ी) चला रहा हूं, जिसमें हॉकलॉक नहीं है। मुझे थोड़ी स्क्रिप्ट लिखने और अपने इंटरनेट इंटरफ़ेस के उठने के बाद इसे चलाने में मदद मिली, ताकि मुझे यकीन हो जाए कि जिस पल नेटवर्क उपलब्ध हो जाएगा, घड़ी अपडेट हो जाएगी।

पहले जांच लें कि आपके पास ntpdateपैकेज है

sudo apt-get update
sudo apt-get install ntpdate

आपको निम्नलिखित को अपने में जोड़ना होगा /etc/network/interfaces(निश्चित रूप से eth0यहाँ सिर्फ एक उदाहरण है):

auto eth0
    iface eth0 inet dhcp
    post-up /usr/local/sbin/update-time.sh

और निम्न स्क्रिप्ट बनाएं /usr/local/sbin/update-time.sh(इसे निष्पादन योग्य बनाना न भूलें chmod):

#!/bin/bash
# This script checks if the ntp process is running, stops it, updates the system time, starts it again

ps cax | grep -c ntpd > /dev/null
onoff=$?
if [ "$onoff" -gt 0 ]; then
    echo "stopping ntpd..."
    service ntp stop
    echo "ntpd stopped"
else
    echo "ntpd not running, ready to update the date"
fi


isinstalled=$(dpkg-query -l | grep -c ntpdate)
if [ "$isinstalled" -gt 0 ]; then
    ntpdate -t 3 -s ntp4.stratum2.ru
    echo "date and time update executed"
else
    echo "ntpdate package not installed, can't update using ntp"
fi

echo "restarting ntpd..."
service ntp start 
echo "ntpd running"
echo "printing current date and time:"
date

exit

1

Ntpd एल्गोरिदम 128 एमएस से अधिक के नमूना ऑफसेट को छोड़ देता है, जब तक कि अंतराल के दौरान कोई भी [निरपेक्ष मूल्य] नमूना ऑफसेट 128 एमएस से कम नहीं 900 से अधिक हो। उसके बाद पहला नमूना, कोई फर्क नहीं पड़ता कि क्या ऑफसेट, संकेत समय के लिए घड़ी कदम। व्यवहार में यह गलत अलार्म दर को कम कर देता है जहां घड़ी को गायब होने की घटना में कम किया जाता है।

आम तौर पर, अगर ntpd से बाहर निकलता है, तो ऑफ़सेट की सीमा सीमा से अधिक है, जो डिफ़ॉल्ट रूप से 1000 s है। इसे -g विकल्प के साथ बंद किया जा सकता है:

-g सामान्य रूप से, अगर ntpd से बाहर निकलता है, तो ऑफ़सेट की सीमा सीमा से अधिक है, जो डिफ़ॉल्ट रूप से 1000 s है। यदि पवित्रता सीमा शून्य पर सेट की जाती है, तो कोई भी पवित्रता जाँच नहीं की जाती है और कोई भी ऑफसेट स्वीकार्य है। यह विकल्प सीमा को ओवरराइड करता है और बिना किसी प्रतिबंध के समय को निर्धारित करने की अनुमति देता है; हालाँकि, यह केवल एक बार ही हो सकता है। उसके बाद, अगर सीमा पार हो गई है तो ntpd बाहर निकल जाएगा। इस विकल्प का उपयोग -q विकल्प के साथ किया जा सकता है।

दोनों http://doc.ntp.org/4.1.0/ntpd.htm से

-जॉनथन नटले


1

यदि आपके सिस्टम में सिंक होने से पहले आपको जो भी समय लगता है, उसके लिए आप समय का खर्च उठा सकते हैं, आप ntp-waitकमांड का उपयोग कर सकते हैं :

ntp-wait || exit -1 
# i believe this would exit the script if it fails, but not sure of ntp-wait return codes, learn this first.

echo Time is synced, go ahead with backup
tar
rsync etc.

1

यदि आप systemd पर हैं तो आप इस कमांड का उपयोग कर सकते हैं:

sudo systemctl restart ntp
# or
sudo systemctl restart ntp.service

और फिर समय 10-15 सेकंड के भीतर अपडेट हो जाता है।
Ubuntu mate 16.04 पर परीक्षण किया गया


0

ntpdऔर ntpdateडिफ़ॉल्ट रूप से एक प्रतिबंधित पोर्ट (यूडीपी 123) का उपयोग करके चलाते हैं। यदि आप एक फ़ायरवॉल के पीछे हैं, ntpdतो कभी काम नहीं करेगा, लेकिन विकल्प के ntpdateसाथ काम कर -uसकता है। उदाहरण के लिए: ntpdate -u 0.ubuntu.pool.ntp.org या ntpdate -u time.nist.govदोनों को ठीक काम करना चाहिए।

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