Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
sysadmin:linux:systemd:synchronisation-du-temps [2020/05/27 15:14] – créée yoann | sysadmin:linux:systemd:synchronisation-du-temps [2022/05/24 16:44] (Version actuelle) – Complétions et corrections yoann | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | {{tag> | + | {{tag> |
====== Systemd: Synchronisation du temps ====== | ====== Systemd: Synchronisation du temps ====== | ||
- | systemd intègre un service de synchronisation du temps local via un client sntp (unité timesyncd) | + | systemd intègre un service de synchronisation du temps local via un client sntp (unité timesyncd). Le client possède peu d' |
Pour afficher l' | Pour afficher l' | ||
Ligne 10: | Ligne 11: | ||
</ | </ | ||
- | ===== Définir le serveur de référence | + | ===== Configuration |
- | Pour configurer le serveur ou du pool de référence, | + | Pour configurer le serveur ou du pool de référence, |
< | < | ||
Ligne 19: | Ligne 20: | ||
</ | </ | ||
- | Une fois l' unité activée, le temps local va se synchroniser graduellement avec le serveur de référence. Si toutefois la dérive est importante il faudra: | + | Redémarrer le service pour prendre en compte les modifications: |
+ | <code bash> | ||
+ | systemctl restart systemd-timesyncd.service | ||
+ | </ | ||
+ | |||
+ | Une fois l' unité activée, le temps local va se synchroniser graduellement avec le serveur de référence. Si toutefois la dérive est trop importante il faudra: | ||
* Arrêter le service | * Arrêter le service | ||
Ligne 36: | Ligne 42: | ||
Définir le temps local manuellement: | Définir le temps local manuellement: | ||
<code bash> | <code bash> | ||
- | timedatectl set-time "" | + | timedatectl set-time "2020-05-27 18:13:00" |
</ | </ | ||
Ligne 44: | Ligne 50: | ||
</ | </ | ||
- | Vérifier l''état de la synchronisation via journalctl et timedatectl | + | Vérifier l' |
<code bash> | <code bash> | ||
journalctl -u systemd-timesyncd.service | journalctl -u systemd-timesyncd.service | ||
+ | </ | ||
+ | |||
+ | Des détails concernant la synchronisation via NTP peuvent être affichés via l' | ||
+ | <code bash> | ||
+ | timedatectl show-timesync | ||
+ | </ | ||
+ | |||
+ | |||
+ | Afficher le status global en invoquant la commande **timedatectl** sans arguments (équivalent de **'' | ||
+ | <code bash> | ||
+ | timedatectl | ||
+ | Local time: mer. 2020-05-27 18:14:04 CEST | ||
+ | Universal time: mer. 2020-05-27 16:14:04 UTC | ||
+ | RTC time: mer. 2020-05-27 16:14:04 | ||
+ | Time zone: Europe/ | ||
+ | | ||
+ | systemd-timesyncd.service active: yes | ||
+ | RTC in local TZ: no | ||
+ | </ | ||
+ | |||
+ | Sur le résultat on peut lire que la "Time Zone" est bien configurée, | ||
+ | |||
+ | ===== Modifier le temps local (time zone) ===== | ||
+ | |||
+ | Lister les time zones disponibles: | ||
+ | <code bash> | ||
+ | timedatectl list-timezones | ||
+ | </ | ||
+ | |||
+ | A partir de la liste, définir une time zone pour la machine: | ||
+ | <code bash> | ||
+ | timedatectl set-timezone Europe/ | ||
+ | </ | ||
+ | |||
+ | ===== A propos de la RTC ===== | ||
+ | |||
+ | La RTC pour **R**eal **T**ime **C**lock est l' | ||
+ | * *nix définissent la RTC au temps Zulu | ||
+ | * Windows définissent la RTC au temps local | ||
+ | |||
+ | La commande **timedatectl status** produit deux lignes indiquant comment est configurée la RTC: | ||
+ | |||
+ | < | ||
+ | Local time: lun. 2021-06-28 11:15:09 CEST | ||
+ | | ||
+ | RTC time: lun. 2021-06-28 09: | ||
+ | Time zone: Europe/ | ||
+ | System clock synchronized: | ||
+ | NTP service: active | ||
+ | RTC in local TZ: no | ||
+ | </ | ||
+ | |||
+ | La dernière ligne '' | ||
+ | |||
+ | L' | ||
+ | <code bash> | ||
+ | timedatectl set-local-rtc 1 | ||
+ | </ | ||
+ | |||
+ | Autrement, la commande suivante permet de définir le temps UTC comme référence pour l' | ||
+ | |||
+ | <code bash> | ||
+ | timedatectl set-local-rtc 0 | ||
+ | </ | ||
+ | |||
+ | ===== Dépannage/ | ||
+ | |||
+ | ==== Consulter les journaux ==== | ||
+ | |||
+ | Pour consulter les traces du service en temps réel: | ||
+ | <code bash> | ||
+ | journalctl --unit systemd-timesyncd.service --follow | ||
+ | </ | ||
+ | |||
+ | ==== Activer le mode debug ==== | ||
+ | |||
+ | Il est possible d’arrêter le service et de le relancer en mode debug dans la console: | ||
+ | <code bash> | ||
+ | # Arrêt du service | ||
+ | systemctl stop systemd-timesyncd.service | ||
+ | |||
+ | # Exécution en mode debug dans le terminal | ||
+ | SYSTEMD_LOG_LEVEL=debug / | ||
</ | </ | ||
Ligne 53: | Ligne 142: | ||
* https:// | * https:// | ||
+ | * https:// | ||
+ | * https:// | ||
+ | * https:// | ||