Jakie jest polecenie aktualizacji godziny i daty z Internetu


132

Jakie jest polecenie aktualizacji godziny i daty z Internetu? Czy jest jakaś aplikacja, która pozwala mi to zrobić z poziomu interfejsu użytkownika, a nie powłoki?


Czy potrafisz określić, której wersji Ubuntu używasz?
david6,

1
Czy potrzebujesz wyjątkowo dokładnego czasu? (Jeśli tak, musisz zapoznać się z ntpq i wybrać serwery czasu). Jeśli chcesz tylko, aby Twój czas był (w przybliżeniu) prawidłowy, spróbuj: Ustawienia systemu >> Czas i data i sprawdź, czy „ Ustaw godzinę ” jest ustawiony na „ Automatycznie z Internetu ”.
david6,

Jeśli chcesz stale bardzo dokładny, zainstaluj ntpd. Jest to niewielki proces, który działa w tle i stale dostosowuje czas zamiast serii / skoków, ale zajmie to trochę twoich zasobów.
strugee


1
To pytanie ma obecnie kluczowe znaczenie. Ostatnio stało się to bardzo trudne: niektóre komputery używają funkcji chrony lub ntpd, zawsze znajdują powód, aby NIE aktualizować czasu (zegar jest zbyt zły , wygrać problemy związane z podwójnym uruchomieniem, ntp może również odmówić zaufania do źródeł zegara, które nie mają Internet). Co więcej, jeśli masz komputer z dostępem do Internetu, ale z niewłaściwym zegarem, ponieważ teraz przeglądarki i strony internetowe zmuszają Cię do korzystania z HTTPS, blokuje się, ponieważ Twój zegar jest nieprawidłowy, a nawet nie możesz google naprawić! Byłoby miło, gdyby istniała odpowiedź, która dotyczy wszystkich przypadków. „Ustaw zegar ręcznie” jest teraz najbardziej niezawodny ...
ur

Odpowiedzi:


144

Możesz to zrobić np sudo ntpdate time.nist.gov. Inne serwery obejmują time.windows.comitp.

http://www.pool.ntp.org/ zawiera listę serwerów czasu na całym świecie.


5
the NTP socket is in use, exiting
Pojawia

7
@friederbluemle Jak powiedziałem w tej odpowiedzi , musisz zatrzymać usługę NTTP sudo service ntp stop. Następnie możesz użyć polecenia sugerowanego w odpowiedzi i wreszcie możesz ponownie uruchomić usługę za pomocąsudo service ntp start
Michele,

To działa, ale nie aktualizuje automatycznie zegara na pasku zadań.
posfan12

4
Pojawia się błąd „ntpdate [15806]: brak serwera odpowiedniego do synchronizacji”. Druga odpowiedź poniżej przy użyciu google.com działa lepiej
Kim Stacks

7
ntpdate: nie znaleziono polecenia
rogerdpack

133

To jest ładny mały kod, który znalazłem, aby zaktualizować twój czas w przypadku problemów z ntp:

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

Fajne rozwiązanie!
Farid

Bardzo miło, pracował dla mnie.
Janderson Silva

8
To powinna być zaakceptowana odpowiedź!
brijs

Ten fragment trafił do mojego arsenału! ;)
Dave Amit

2
Jest to dobre, ale zwykle będzie opóźnione o 8 do 50 ms, ponieważ nie synchronizuje się samo z siebie.
Nonny Moose

48

Począwszy od 2018 r. Ze świeżo zainstalowanym Ubuntu 16.04 LTS, bieganie sudo ntpdate time.nist.govdaje:

sudo: ntpdate: command not found

Jest tak, ponieważ ( oficjalne źródło ):

ntpdatejest uważany za przestarzały na korzyść timedatectli dlatego nie jest już domyślnie instalowany.

Zamiast tego zrób to, aby wymusić teraz synchronizację:

sudo timedatectl set-ntp off
sudo timedatectl set-ntp on

W moim przypadku uruchomiłem Ubuntu na maszynie wirtualnej i zapisałem stan komputera, więc kiedy ponownie uruchomiłem instancję, nie synchronizowała ona automatycznie zegara, ponieważ nie było zdarzenia rozruchowego, które wyzwalałoby synchronizację. Więc czas wciąż pokazywał, kiedy ostatni raz korzystałem z wirtualnej skrzynki.


Właśnie uaktualniłem do wersji bionic i zauważyłem, że ntpdate już nie działa, i timedatectl działał dla mnie.
kapad

1
Dla mnie również działało na Ubuntu 18.04.
kiamlaluno

Jeśli czas się nie zmienia, sprawdź swoją strefę czasową za pomocą just timedatectl. Jeśli jest źle, zobacz --helpsekcję polecenia, w jaki sposób to zmienić.
Brad Turek

1
Niezły chwyt dla Virtual Box. Zaoszczędził dużo debugowania bólu głowy!
Mohd Abdul Mujib

14

Uruchomienie tego polecenia w terminalu powinno załatwić sprawę

sudo dpkg-reconfigure tzdata

Myślę, że możesz dodać dodatkowe strefy czasowe graficznie, klikając zegar i przeglądając jego opcje.


Strefy czasowe nie są tak naprawdę takie same jak (dokładny) czas. Ale również nie bardzo jasne było pytanie o Vikramjeet .
david6,

Jakie jest polecenie aktualizacji godziny i daty z Internetu, pytaniem jest sudo dpkg-reconfigure tzdata, więc co daje? komentarz na temat stref czasowych jest związany z jedyną rzeczą, o której wiem, że jest możliwy graficznie
Jayo

Założyłem, że graficznie oznaczają metodę graficzną (lub GUI), a NIE geograficzną (lub ogólnoświatową).
david6,

tak też nie, nie znam sposobu na aktualizację daty i godziny za pośrednictwem sieci graficznie , więc używam terminala, co wiem, jak to zrobić graficznie, to ustawianie stref czasowych, część o strefach czasowych była moją dwójką centów, co można zrobić, aby wpłynąć na czas w sposób graficzny , o ile wiem, czy rozumiem teraz?
Jayo

12

Jest bardzo łatwy do skonfigurowania z linii poleceń: https://help.ubuntu.com/lts/serverguide/NTP.html Z tego linku:

Ubuntu jest standardowo wyposażony w ntpdate i uruchomi go raz podczas rozruchu, aby skonfigurować czas zgodnie z serwerem NTP Ubuntu: ntpdate -s ntp.ubuntu.com

Oto przykład GUI https://help.ubuntu.com/community/UbuntuTime#Time_Synchronization_using_NTP


6
Nie używaj linków do innych stron. Gdy znikają, publikowane informacje również. Zapobiegnij „gniciu linków”, odpowiadając na treść linku (i udzielaj kredytu tam, gdzie należy się kredyt).
Rinzwind

4

Większość tutaj nie będzie działać, ponieważ ntp zastąpi twoje ustawienia w ciągu kilku sekund.

Najpierw musisz wyłączyć NTP. W Ubuntu odbywa się to jako:

    # Disable ntp
    sudo timedatectl set-ntp 0

Następnie możesz zrobić:

    # Set software clock 
    sudo date --set="2018-04-01 22:22:22"
    # Sync with hardware clock 
    sudo hwclock --systohc

3
dateFromServer=$(curl -v --silent https://google.com/ 2>&1 \
   | grep Date | sed -e 's/< Date: //'); date +"%d%m%Y%H%M%S" -d "$dateFromServer"

lub

date -s `curl -I 'https://startpage.com/' 2>/dev/null | grep -i '^date:' | sed 's/^[Dd]ate: //g'`

1
Standardowy sposób ustawiania daty i godziny poprzez łączenie się z serwerami czasu za pośrednictwem NTTP. Dlaczego używasz do tego połączeń https?
xiota

1
//, Czasami miło jest mieć alternatywę dla standardowego sposobu.
Nathan Basanese

2
Mój ISP blokował mój serwer NTP
Tyler

1

Musisz zainstalować ntppakiet. Ustawienia daty i godziny są dostępne w ustawieniach systemu. Oto więcej informacji.


2
Link jest martwy ... Jak powiedział Rinzwind: „Nie używaj linków do innych stron. Gdy znikną, również zamieścisz informacje. Zapobiegnij zepsuciu linków, odpowiadając na treść linku (i daj uznanie gdzie należy się kredyt). ” Dzięki
Michele,

1

Czy jest jakaś aplikacja, która pozwala mi to zrobić z poziomu interfejsu użytkownika, a nie powłoki?

Używam 17.10 i mogę przejść do Ustawień (z menu w prawym górnym rogu interfejsu)> Szczegóły> Data i czas. W moim przypadku mój system nie aktualizował się z Internetu, mimo że „Automatyczna data i godzina” była ustawiona na „WŁ.”. Po prostu zmieniłem go na „OFF”, odczekałem sekundę, a następnie zmieniłem z powrotem na „ON”. Odebrał aktualną datę i godzinę i byłem gotowy, aby iść.


0

Dzięki Twiglets [Dla routerów AsusWRT / Merlin]

Oto alternatywa, która ustawia datę !!! [-s opcja]. Drukuje „Data”, którą pobiera, i „Data” ustawioną do porównania.

Na AsusWRT / Merlin dziwne jest tylko to, że pobrana data to „.... GMT”, a narzędzie daty ustawia prawidłową godzinę, ale zmienia ją na „... DST”. Środowisko ma ustawienie TZ na „GMT”

datetext=$(curl -I 'https://1.1.1.1/' 2>/dev/null | grep "Date:" |sed 's/Date: [A-Z][a-z][a-z], //g'| sed 's/\r//') ; echo "Date Retrieved = $datetext" ; echo -n "Date set = " ; date -s "$datetext" -D'%d %b %Y %T %Z'
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.