Learn timezone management using timedatectl command. Article explaining different uses of timedatectl command along with examples.
Learn timedatectl commandIn our previous article we have seen how to change timezone of Linux server using files or variables in system. Few of our readers pushed timedatectl command to achieve this task easily. So I thought of writing separate article on timedatectl command explaining all its usage. In this article, we will see how to display server time details, view, list and change timezone of server using timedatectl command. timedatectl is Time Date Control command! It used to control date and time of server in Linux. To check your current system date and time details, run this command without any switch –
Shell
1
2
3
4
5
6
7
8
9
10
11
root@kerneltalks# timedatectl
Local time:Wed2017-11-1515:58:33UTC
Universal time:Wed2017-11-1515:58:33UTC
RTC time:Wed2017-11-1515:58:32
Timezone:UTC(UTC,+0000)
NTP enabled:yes
NTP synchronized:yes
RTC inlocal TZ:no
DST active:n/a
In the output these are the fields : Local time : Your system’s local date and time Universal time : Current UTC time RTC time : Current Real time clock time Time zone : Your system’s current timezone NTP enabled : Is NTP is enabled on system or not NTP synchronized : NTP time synced or not. RTC in local TZ : Is RTC maintaining in configured system TZ? It is recommended to keep it off. DST active : Daylight saving time enabled or not
List and change timezone using timedatectl
timedatectl allow you to change timezone of system with list of available timezones. To view list of available timezones use command with list-timezones switch.
Shell
1
2
3
4
5
6
7
8
9
10
root@kerneltalks# timedatectl list-timezones
Africa/Abidjan
Africa/Accra
Africa/Addis_Ababa
Africa/Algiers
Africa/Asmara
Africa/Bamako
-----output clipped-----
You will be presented with list of available timezones in paged manner. You can use any of thee timezones to set on your local system. To change timezone of your system use set-timezone switch.
Shell
1
2
3
# timedatectl set-timezone Australia/Sydney
Above command will change server timezone to Australia/Sydney one.
Change date and time using timedatectl
Most of the servers are configured with NTP these days. But if not and/or if you want to change date and time manually then you can use set-time switch. Time should be supplied with YYYY-MM-DD HH:MM:SS
If NTP is configured then you might see error Failed to set time: Automatic time synchronization is enabled when attempting to change system time manually.
Enable/Disable RTC and NTP using timedatectl
You cn enable or disable RTC (Real Time Clock) and NTP using timedatectl. For RTC use set-local-rtc and for NTP use set-ntp switch. Both arguments accepts 1 (to enable) and 0 (to disable) as values.
Shell
1
2
3
4
root@kerneltalks# timedatectl set-ntp 0
root@kerneltalks# timedatectl set-local-rtc 0
Please note that enabling NTP here does not take you through NTP configuration steps. That has to be done separately . This only controls if system should sync time using configured NTP or not.
Manage date and time of other machine
You can use timedatectl command to manage date and time of local containers or remote machines. To manage time of local container use -M switch whereas to connect to remote host and manage its time use -H switch. -M switch takes argument as --host=ip/hostname. -H switch takes argument as --machine=container_name. Thats all switchs which are mainly useful for you in day today operations. There are few more which can be referred from its man page.