Een regelmatig terug kerende vraag is hoe men op Linux / Unix servers de tijdzone (timezone) aan kan passen.
De tijdzone (timezone) wordt gebruikt om uw server automatisch de zomer en wintertijd aanpassingen voor uw regio aan te passen, en de juiste tijd te tonen als u deze op vraagt.
De tijdzone (timezone) kan server breed, of per gebruiker / applicatie aangepast worden. Over het algemeen zal gekozen worden om de tijdzone (timezone) server breed correct te zetten, en slechts zeer sporadisch zal er gebruik gemaakt worden van de mogelijkheid om het voor een gebruiker of applicatie anders in te stellen dat voor het server.
De meeste linux distributies gebruiken leveren de tijdzone (timezone) informatie via het package genaamd 'tzdata'.
Server breed
Normaliter wordt de tijdzone (timezone) gezet tijdens het inrichten van de linux server. Maar met veel van de huidige mogelijkheden, worden servers al geïnstalleerd geleverd, en kan men direct aan de slag. In die gevallen zullen een aantal zaken nog zelf geconfigureerd moeten worden, waaronder dus de tijdzone (timezone).
Om de tijdzone (timezone) linux server breed in te stellen kun u de volgende stappen volgen :
- Controleer de huidige tijdzone (timezone) instelling met het commando 'date' :
# date
Wed Jan 14 09:40:40 GMT 2015
- Indien de waarde (GMT in dit voorbeeld) niet correct is, voer dan de volgende command's uit als root om deze te veranderen naar CET :
# rm /etc/localtime
rm: remove regular file `/etc/localtime'? y
# ln -s /usr/share/zoneinfo/Europe/Amsterdam /etc/localtime
- Controleer daarna opnieuw met 'date' :
# date
Wed Jan 14 10:41:09 CET 2015
Centos 7
In Centos 7 is bovenstaande methode nog steeds valide, maar kan ook gebruik gemaakt worden van de volgende commando's
Voor het weergeven van de beschikbare tijdzones:
timedatectl list-timezones
Om de tijdzone (timezone) in te stellen :
timedatectl set-timezone Europe/Amsterdam
En om de waarde te controleren :
timedatectl
Gebruiker specifiek
Het kan voorkomen dat u voor een specifieke gebruiker of applicatie graag een andere tijdzone (timezone) zou willen gebruiken.
Dit kan door gebruik te maken van environment variabele 'TZ'.
Het volgende voorbeeld laat zien hoe dat werkt.
$ date
Wed Jan 14 10:17:42 UTC 2015
$ export TZ="Europe/Amsterdam" $ date
Wed Jan 14 11:17:56 CET 2015
Indien u deze waarde altijd voor deze gebruiker wilt toepassen, zult u deze variabele in de '.bash_profile' van de betreffende gebruiker moeten opnemen.
Bekende problemen
Hieronder volgt een overzicht van bij ons bekende problemen, en de oplossingen hiervoor.
Tijdzone (timezone) automatisch aangepast.
Bij CENTOS en mogelijk andere linux distributies kan het voorkomen dat plotseling de tijdzone (timezone) weer aangepast is naar UTC. Deze automatische aanpassing is naar alle waarschijnlijkheid gerelateerd aan het updaten van het 'tzdata' package. Onduidelijk is op dit moment nog, waarom dit niet altijd het geval is.
Middels bovenstaande instructies kunt u uw de tijdzone (timezone) weer herstellen, maar daarmee is het probleem nog niet opgelost en zal bij een volgende update dit opnieuw uitgevoerd moeten worden. Een aangedragen oplossing voor dit probleem is het instellen van de gewenste tijdzone (timezone) in '/etc/sysconfig/clock'. Wij hebben deze oplossing nog niet volledig geverifieerd.