web-dev-qa-db-fra.com

Comment régler l'heure sur Linux?

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?

63
dail

Habituellement, vous voudrez que l'heure soit réglée automatiquement, et dans ce cas, vous voudrez configurer ntpd pour 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 pour la configuration de NTP sur Ubuntu . Autrement, il suffit de consulter Google ntpd <distribution-name> et vous le trouverez probablement.

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

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

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
34
Gjorgji Tashkovski

juste ntpdate ntp.ubuntu.com et tout ira bien.

Il y a plus d'informations à ce sujet sur Documentation officielle Ubuntu

20
Gangsar Swapurba

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

13
phylib

Dans CentOS, les fuseaux horaires sont situés dans /usr/share/zoneinfo/. Pour modifier la date du système en 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 système en tapant date.

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

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

OR

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

OR

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

Pour définir la horloge matérielle sur l'heure système actuelle:

hwclock --systohc

OR

hwclock -w
2
Pedro Lobito

"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
David Motilla

Essaye ça:

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

ou

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

systemctl restart ntpd fonctionne pour moi. Ceci s'applique à RHEL et à CENTOS OS.

0
Promod

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 de date fonctionne comme 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 commande date -s semblait fonctionner, mais exécuter date un instant plus tard me donnait à nouveau l'heure systemd.

0
Luc

date retourne l'heure indiquée comme étant l'heure à partir du moment où le processeur a démarré, plus l'horloge interne du matériel, hwclock donne l'heure de l'horloge interne.

Les temps basés sur les processeurs ont tendance à varier tant que la machine est en marche, ce qui explique l'existence de la commande hwclock --hctosys. C’est également l’une des raisons qui a motivé l’utilisation du temps de protocole réseau, qui sert à coordonner le temps sur Internet au niveau international.

0
RedComet

Pour définir le fuseau horaire de votre horloge système, procédez comme suit:

cp /usr/share/zoneinfo/America/La_Paz /etc/localtime
0
spacebiker

utilisez ceci si vous n'avez pas NTP client

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

0
Ivaylo Mutafov