web-dev-qa-db-fra.com

Quelle est la commande pour mettre à jour l'heure et la date à partir d'Internet

Quelle est la commande pour mettre à jour l'heure et la date à partir d'Internet? Existe-t-il une application qui me permet de le faire depuis son interface utilisateur plutôt que depuis le shell?

127
Vikramjeet

Vous pouvez le faire avec par exemple Sudo ntpdate time.nist.gov. Les autres serveurs incluent time.windows.com, etc.

http://www.pool.ntp.org/ répertorie les serveurs de temps du monde entier.

143
Anonymous

Ceci est un joli petit code que j'ai trouvé pour mettre à jour votre heure au cas où vous auriez des problèmes avec ntp:

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

À partir de 2018, avec Sudo ntpdate time.nist.gov, une nouvelle installation d'Ubuntu 16.04 LTS installée:

Sudo: ntpdate: command not found

C'est parce que ( source officielle ):

ntpdate est considéré comme obsolète en faveur de timedatectl et, par conséquent, plus installé par défaut.

Au lieu de cela, faites ceci pour forcer la synchronisation à se produire maintenant:

Sudo timedatectl set-ntp off
Sudo timedatectl set-ntp on

Dans mon cas, j'utilisais Ubuntu sur une machine virtuelle et j'avais enregistré l'état de la machine. Ainsi, lorsque j'ai redémarré l'instance, l'instance ne synchronisait pas automatiquement l'horloge, car aucun événement d'amorçage ne déclenchait la synchronisation. Donc, le temps montrait encore ce que c'était la dernière fois que j'exécutais la boîte virtuelle.

39
User

Exécuter cette commande dans un terminal devrait faire l'affaire

Sudo dpkg-reconfigure tzdata

Je pense que vous pouvez ajouter graphiquement des fuseaux horaires supplémentaires en cliquant sur l’horloge et en sélectionnant ses options.

12
Jayo

Il est très facile de configurer en ligne de commande: https://help.ubuntu.com/lts/serverguide/NTP.html À partir de ce lien:

Ubuntu est livré avec ntpdate en standard et l’exécutera une fois au démarrage pour configurer votre temps selon le serveur NTP d’Ubuntu: ntpdate -s ntp.ubuntu.com

Voici un exemple d'interface graphique https://help.ubuntu.com/community/UbuntuTime#Time_Synchronization_using_NTP

12
Daimon

La plupart ne fonctionneront pas ici, car ntp remplacera vos paramètres en quelques secondes.

Vous devez d'abord désactiver NTP. Sur Ubuntu c'est fait comme:

    # Disable ntp
    Sudo timedatectl set-ntp 0

Ensuite, vous pouvez faire:

    # Set software clock 
    Sudo date --set="2018-04-01 22:22:22"
    # Sync with hardware clock 
    Sudo hwclock --systohc
4
momo
dateFromServer=$(curl -v --silent https://google.com/ 2>&1 \
   | grep Date | sed -e 's/< Date: //'); date +"%d%m%Y%H%M%S" -d "$dateFromServer"

ou

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

Vous devez installer le package ntp. Les paramètres de date/heure sont disponibles dans les paramètres système. Ici quelques informations supplémentaires.

1
tohuwawohu

Existe-t-il une application qui me permet de le faire depuis son interface utilisateur plutôt que depuis le shell?

J'utilise 17.10 et je peux accéder à Paramètres (à partir du menu en haut à droite de l'interface utilisateur)> Détails> Date et heure. Dans mon cas, mon système ne se mettait pas à jour à partir d'Internet même si "Date et heure automatiques" était réglé sur "ON". Je l'ai simplement changé en "OFF", j'ai attendu une seconde, puis je l'ai remis en "ON". Il a pris la date et l'heure actuelles et j'étais prêt à partir.

1
Jason W. Pegg

Merci à Twiglets [Pour les routeurs AsusWRT/Merlin]

Voici une alternative qui ne fixe la date !!! [option -s]. Imprime "Date", elle récupère et la "Date" définie pour la comparaison.

Sur AsusWRT/Merlin, la seule chose qui soit étrange, c'est que la date extraite est ".... GMT" et que l'utilitaire de date définit l'heure correcte mais la change en "... DST". L'environnement a TZ défini sur "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'
0
Tyler