Comment régler l'heure sur Linux?


69

Pourquoi le résultat des commandes suivantes est-il différent?

root@vmi2115:/var# hwclock
Sun 26 Jun 2011 01:21:38 PM CEST  -0.273230 seconds
root@vmi2495:/var# date
Sun Jun 26 15:21:39 CEST 2011
root@vmi2115:/var# 

Et puis-je changer l'heure sur Linux?


1
Une recherche rapide de Google renvoie ce lien:> cyberciti.biz/faq/howto-set-date-time-from-linux-command-prompt

Réponses:


90

Habituellement, vous voudrez que l'heure soit réglée automatiquement et, dans ce cas, vous voudrez configurer ntpdpour régler l'heure automatiquement.

Les spécificités diffèrent légèrement d’une distribution à l’autre, mais si vous utilisez Ubuntu, par exemple, il existe un guide sur la configuration de NTP sur Ubuntu . Sinon, juste Google ntpd <distribution-name>, et vous le trouverez probablement.

Si vous souhaitez le définir manuellement, vous pouvez toutefois l'utiliser date --set="<date string>". Des exemples de ceci pourraient être:

date --set="23 June 1988 10:00:00"
date --set="10:00:00"

37

Réglez l'horloge matérielle sur l'heure système actuelle.

# hwclock --systohc

Définissez l'heure système à partir de l'horloge matérielle.

# hwclock --hctosys

23

juste ntpdate ntp.ubuntu.comet tout ira bien.

Il y a plus d'informations à ce sujet dans la documentation officielle Ubuntu


18
veuillez préciser votre réponse et fournir une explication à l'AQ et aux futurs lecteurs de ce que la commande que vous avez mentionnée fait et pourquoi vous recommandez une telle action. Remarque: le groupe d’assurance-qualité a demandé comment modifier l’heure et non la garder synchronisée.
— Lorenzo Von Matterhorn

1
@ LorenzoVonMatterhorn ok
— Gangsar Swapurba

Cela n'a toujours pas d'explication. À quoi dois-je m'attendre si j'exécute cette commande?
— jerclarke


1
Très bien travaillé pour régler l'heure exacte.
— Sabrina Gelbart

13

Un autre problème commun très ennuyeux est le choix du mauvais fuseau horaire ...

Vérifiez le fuseau horaire avec la sortie de date:

$ date

Fre 23 Août 18:47:04 UTC 2013

Pour corriger le type de fuseau horaire:

$ sudo tzselect

et sélectionnez la région correcte avec les numéros correspondants.

Une deuxième tâche consiste à régler l'heure correcte:

$ sudo date --set = "18:37:00"

Ou prenez simplement l'heure de l'horloge HW:

$ sudo hwclock --hctosys


3

Dans les CentOSfuseaux horaires sont situés dans /usr/share/zoneinfo/, pour changer la date du système à un fuseau horaire spécifique, vous pouvez:

Commencez par faire une sauvegarde du fichier localtime existant.

sudo mv /etc/localtime /etc/localtime.bak

Ensuite, créez le lien:

sudo ln -s /usr/share/zoneinfo/Europe/Lisbon  /etc/localtime

Vérifiez la nouvelle date du système en tapant date.

Pour ajuster manuellement la date du système Linux, vous pouvez taper:

date -s "11 MAR 2006 11:11:11"

OU

date --set="11 MAR 2015 11:11:11"

OU

date +%Y%m%d -s "20150311"

Pour régler l' horloge matérielle sur l'heure système actuelle:

hwclock --systohc

OU

hwclock -w

1

"hwclock" est la date du matériel (machine) et "date" est la date du logiciel (système d'exploitation).

Pour changer la date du matériel pc:

hwclock --set --date="2013-7-31 09:30"

Pour changer la date du logiciel:

date --set "2013-7-31 09:30"

1

Essaye ça:

date +%T -s "12:21:00"

ou

date +%T%p -s "12:22:20AM"
date +%T%p -s "12:23:30PM"

0

daterenvoie le temps donné, qui correspond au temps écoulé entre le démarrage du processeur et l'heure matérielle interne, hwclockdonne l'heure de l'horloge interne.

Le temps basé sur les processeurs a tendance à dériver tant que la machine est en marche, ce qui explique l'existence de la hwclock --hctosyscommande. C’est également l’une des raisons qui a motivé l’utilisation du temps de protocole réseau, qui est utilisé pour coordonner le temps à l’international sur Internet.


0

utilisez ceci si vous n'avez pas de client NTP

date -s $(wget -q -O - http://www.timeapi.org/eest/now | cut -d '+' -f 1 | tr -d : | tr -d - | tr -d T | cut -c 1-12)

eest in URL est votre fuseau horaire local

Vous pouvez utiliser utc ... et etc


mais celui-ci travaille pour moi: askubuntu.com/a/683136
— user956584

0

puis-je changer l'heure sur Linux?

Pour moi, je devais d'abord exécuter cette commande:

sudo systemctl stop systemd-timesyncd

Sinon, systemd réinitialiserait l'heure immédiatement. Après avoir arrêté le service systemd, l'exécution se déroule datecomme prévu:

$ sudo date -s 'january 1 1971'
Fri Jan  1 00:00:00 CET 1971
$ date
Fri Jan  1 00:00:00 CET 1971

Pendant que le service était en cours d'exécution, la date -scommande semblait fonctionner, mais l'exécution d' dateun instant plus tard me donnait à nouveau l'heure système.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.