# Comment régler la date et l'heure sur Linux {{METATOC 4-5}} Habituellement, pour que l'heure soit réglée automatiquement, on configure ntpd pour régler l'heure automatiquement. Les détails diffèrent légèrement d'une distribution à l'autre. Cependant, si on souhaite le définir manuellement, on peut utiliser `date --set=""` et/ou `hwclock`. #### date vs hwclock `date` renvoie l'heure indiquée comme l'heure à partir du moment où l'unité centrale a démarré plus l'horloge matérielle interne donnée, hwclock indique l'heure de l'horloge interne. Le temps basé sur le processeur a tendance à dériver pendant la durée de fonctionnement de la machine, c'est la raison de l'existence de la commande `hwclock --hctosys`. C'est également l'une des raisons de l'utilisation du Network Protocol Time, qui est utilisé pour coordonner le temps au niveau international sur Internet. Pour régler l'heure système. ``` date --set="23 June 1988 10:00:00" date --set="10:00:00" ``` Pour eégler l'horloge matérielle sur l'heure système actuelle. ``` hwclock --systohc ``` Pour régler l'heure système à partir de l'horloge matérielle. ``` hwclock --hctosys ``` #### fuseau horaire Un autre problème courant et très ennuyeux est lorsque le mauvais fuseau horaire est sélectionné. Vérifiee 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: ``` tzselect ``` et sélectionner la bonne région avec les numéros correspondants. Puis régler l'heure correcte: ``` date --set = "18:37:00" ``` Ou récupérer simplement le temps de l'HW-Clock: ``` sudo hwclock --hctosys ``` Dans CentOS les fuseaux horaires se trouvent dans `/usr/share/zoneinfo/`, pour changer la date du système en un fuseau horaire spécifique, on peut: Tout d'abord, effectuer une sauvegarde du fichier d'heure locale existant. ``` mv /etc/localtime /etc/localtime.bak ``` Ensuite, créer un lien symbolique: ``` ln -s /usr/share/zoneinfo/Europe/Lisbon /etc/localtime ``` Vérifier la nouvelle date système en tapant `date`. #### Exemples d'ajustement manuel Pour ajuster manuellement la date du système Linux, on peut 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 ``` "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 du PC: ``` hwclock --set --date="2013-7-31 09:30" ``` Pour changer la date du logiciel: ``` date --set "2013-7-31 09:30" ``` #### Ajustement de la date depuis internet ``` 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) ```