Looking at Time

πŸ“˜ Hoofdstuk 9.3: Werken met Tijd en Tijdzones in Linux

────────────────────────────────────────────
πŸ•’ Tijdzones in Linux
────────────────────────────────────────────
βœ” Linux gebruikt UTC als basis en past dit aan via tijdzones.
βœ” Tijdzones zijn opgeslagen in: /usr/share/zoneinfo/
βœ” Actieve tijdzone = symlink op /etc/localtime

πŸ“Œ Tijdzone bekijken:
date

πŸ“Œ Huidige tijdzonepad tonen:
ls -al /etc/localtime

πŸ“Œ Tijdzone wijzigen (bijv. naar Amsterdam):
sudo rm /etc/localtime
sudo ln -s /usr/share/zoneinfo/Europe/Amsterdam /etc/localtime
β†’ Controle: `date`

────────────────────────────────────────────
πŸ›  Tijd en Datum Instellen
────────────────────────────────────────────
πŸ“Œ Toon datum/tijd:
date

πŸ“Œ Stel handmatig systeemklok in:
sudo date -s "2024-05-15 14:30:00"

πŸ“Œ Formatcodes voor weergave met `date`:
Code | Beschrijving
─────|──────────────
%a | Afkorting dagnaam (bijv. "Wed")
%A | Volledige dagnaam (bijv. "Wednesday")
%d | Dag (01-31)
%m | Maand (01-12)
%Y | Jaar (bijv. 2024)
%H | Uur (24-uurs)
%M | Minuut
%S | Seconde
%T | Tijd (HH:MM:SS)

πŸ“Œ Voorbeeld: "DD-MM-YYYY"
date +"%d-%m-%Y"

────────────────────────────────────────────
βš™ timedatectl (systemd-gebaseerde tool)
────────────────────────────────────────────
πŸ“Œ Toon huidige tijdinstellingen:
timedatectl

πŸ“Œ Tijd instellen:
sudo timedatectl set-time "2024-05-10 08:45:00"

πŸ“Œ Tijdzone instellen:
sudo timedatectl set-timezone Europe/Amsterdam

────────────────────────────────────────────
🌐 NTP (Network Time Protocol)
────────────────────────────────────────────
βœ” Synchroniseert systeemtijd met internetservers.

Drie veelgebruikte oplossingen:
β€’ ntpd β†’ oude daemon
β€’ chrony β†’ modern & veilig (config: `/etc/chrony/chrony.conf`)
β€’ timesyncd β†’ eenvoudige systemd-client

πŸ“Œ Controleer of NTP actief is:
timedatectl status

πŸ“Œ NTP inschakelen:
sudo timedatectl set-ntp on

πŸ“Œ Handmatige synchronisatie (chrony):
sudo chronyc sources

────────────────────────────────────────────
⏱ Programma-uitvoering meten met `time`
────────────────────────────────────────────
πŸ“Œ Meet hoe lang een commando duurt:

time ls

πŸ“Œ Output:
β€’ real β†’ totale tijd (start–einde)
β€’ user β†’ CPU-tijd gebruikersruimte
β€’ sys β†’ CPU-tijd kernel