Comment changer la date et l'heure du serveur d'ubuntu via une ligne de commande?


40

La date et l'heure actuelles du serveur Ubuntu sont différentes de celles du fuseau horaire. J'ai essayé d'utiliser:

sudo date "30 Sep 2015 4:43:42"

pour le changer mais cela n'a pas changé la date et l'heure, il suffit juste d'afficher sur le terminal la date et l'heure que j'ai changées, mais quand j'ai exécuté:

sudo hwclock --show

La date et l'heure sont toujours les anciennes.

Quelle est la bonne façon de changer la date et l'heure d'Ubuntu Server?


vous avez vraiment tapé "sudo date newdate" - le mot "newdate"?
Wolfgang

1
Nan. J'ai modifié ma question. J'ai tapé "30 septembre 2015 4:43:42"
Priska Aprilia

Réponses:


68

Vous pouvez définir la date du système avec cette commande:

sudo date --set="2015-09-30 10:05:59.990"

Ensuite, lors de l'utilisation date, il devrait être montré correctement.

Maintenant, vous devez également indiquer l’ horloge matérielle définie dans le BIOS du système, afin que le réglage persiste après un redémarrage (au démarrage, l’heure du système est définie sur la valeur de l’horloge matérielle). Faites cela avec hwclock:

sudo hwclock --systohc

Cela obtient la valeur d'horloges système (sys) et définit l'horloge matérielle (hc). Vérifiez-le avec la hwclockcommande. Les deux hwclocket datedevraient maintenant afficher la même date et heure.


Pour définir votre fuseau horaire , vous pouvez utiliser cette commande:

sudo dpkg-reconfigure tzdata

BTW : Si vous utilisez cette machine comme serveur, il est fortement recommandé d’utiliser un client NTP pour synchroniser l’heure sur le réseau . Vous pouvez donc garantir que tous vos serveurs ont exactement la même heure. Cela synchronisera l'heure pendant que la machine fonctionne. Si vous avez des applications qui dépendent du temps synchronisé sur le serveur, je recommande le démon NTP. Plus le temps passe en arrière-plan, plus l'heure est précise.


1
J'ai raté l'étape de synchronisation de l'horloge. Merci pour votre réponse, ça m'a aidé!
Priska Aprilia

1
3 option aide, il a changé etc / timezone =) comme php.net/manual/en/timezones.php !!! absolument identique !!!
Vladimir Ch

@VladimirCh Les noms des fuseaux horaires sont classifiés par ordre chronologique, nous ne devons donc effectuer aucun réglage entre les systèmes. Oh, attendez ... il existe aussi des versions de Microsoft ...
PeterM

1
J'essaie de changer mais cela ne change pas: - $ sudo date --set = "2015-09-30 10: 05: 59.990" mer. 30 sept. 10:05:59 +0530 2015 $ date jeu. 23 mai 15:10:37 +0530 2019
Vinod

8
  1. Recherchez votre fuseau horaire
timedatectl list-timezones
  1. Définissez votre fuseau horaire
sudo timedatectl set-timezone America/Toronto
  1. Activer timesyncd
sudo timedatectl set-ntp on

Avec cela, le temps doit être réglé et synchronisé.

Vous pouvez en voir plus sur ce tutoriel: https://www.digitalocean.com/community/tutorials/how-to-set-up-time-synchronization-on-ubuntu-18-04


1
Le meilleur moyen de le réparer sans régler manuellement les heures et les minutes! Merci beaucoup!
Rafael Moni

4

Je n'aime pas régler l'heure du système manuellement. Donc, pour résoudre ce problème, je devais combiner deux réponses différentes.
Pour corriger l'heure du système, vous devez utiliser ce code:

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

comme indiqué dans cette réponse
Ensuite, vous synchronisez l'horloge matérielle avec l'horloge système à l'aide de

sudo hwclock --systohc

comme donné par @chaos dans ce fil.


1

il suffit de taper

sudo date newdatestring

avec newdatestring au format nnddhhmmyyyy.ss

  • nn: le mois (deux chiffres) (01 à 12)
  • dd: le jour (deux chiffres) (01 à 31), avec les règles habituelles pour les jours en fonction du mois et de l'année
  • hh: l'heure (deux chiffres) (00 à 23)
  • mm: la minute (deux chiffres) (00 à 59)
  • aaaa: l'année; il peut être deux ou quatre chiffres
  • ss est deux secondes numériques (00 à 59). Remarquez la période '.' avant le ss.

Mais à côté de la commande de date, vous préférez peut-être la "solution" NTP (protocole de temps réseau): Serverguide - NTP , beaucoup plus facile à manipuler et plus précis que le réglage manuel de la date. Vous pouvez utiliser un cronjob ou le démon ntp (ntpd) pour mettre à jour votre temps toutes les x heures / minutes ...

J'espère que cela t'aides!


date invalide quand j'ai essayé avec "093005082015.15" qui signifie 30 septembre 2015, 05:08:15
Priska Aprilia le

sudo date "093005082015.15" travailler sur le mien.
Vusan

0

Pour ceux qui recherchent la version d'époque

  1. Définir la date et l'heure actuelles

    sudo date -s @1565864862
  2. Obtenir la date et l'heure actuelles

    date +%s
    

    les sorties 1565864862

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.