Se o horário de Cingapura for GMT / UTC mais 8 horas e você terá 16 horas de antecedência quando reiniciar, seu sistema parece estar compensando duas vezes pelo deslocamento.
Em um sistema do CentOS 7, Eu tive um problema com o tempo sendo desligado por várias horas até que eu usei o comando timedatectl. Por exemplo:
timedatectl set-timezone Asia/Singapore
A opção "set-timezone" faz o seguinte:
set-timezone [TIMEZONE]
Set the system time zone to the specified value. Available
timezones can be listed with list-timezones. If the RTC is
configured to be in the local time, this will also update the RTC
time. This call will alter the /etc/localtime symlink. See
localtime(5) for more information.
Embora o relógio do hardware nesse sistema esteja usando o horário UTC. Por exemplo, vejo o seguinte:
# hwclock --debug
hwclock from util-linux 2.23.2
Using /dev interface to clock.
Last drift adjustment done at 0 seconds after 1969
Last calibration done at 0 seconds after 1969
Hardware clock is on UTC time
Assuming hardware clock is kept in UTC time.
Waiting for clock tick...
...got clock tick
Time read from Hardware Clock: 2015/08/01 20:54:34
Hw clock time : 2015/08/01 20:54:34 = 1438462474 seconds since 1969
Sat 01 Aug 2015 04:54:34 PM EDT -0.904866 seconds
A última linha do comando hwclock --debug
acima mostra a hora local correta para esse sistema no fuso horário relevante.
Nesse sistema, vejo o seguinte para / etc / localtime:
# ls -l /etc/localtime
lrwxrwxrwx. 1 root root 38 Oct 5 2014 /etc/localtime -> ../usr/share/zoneinfo/America/New_York
Se você inserir ls -l /etc/localtime
, ainda verá o item apontando para /usr/share/zoneinfo/Asia/Singapore