Public NTP
pool.ntp.org # глобальный кластер ntp серверов
ntp.corbina.net # ntp corbina
STRATUM
http://vasilisc.com/time-server-ntp
show
date – показывает дату и время. Вывод для удобства можно редактировать. Делал так для скрипта, который кладет логи в папку, чтобы можно было опрашивать просто по нужной дате и сортировать тупо-по имени без даты.
[root@host1 ~]# date Tue Aug 2 12:31:11 MSK 2016 [root@host1 ~]# date "+%Y-%m-%d" 2016-08-02
Работа с датой:
date -u - UTC time (без timezone) date --date "-3 day" - дата 3 дня от текущей date --date="255 days ago" - дата 255 дней от текущей date -d "24 Oct 2017" "+%s" - получаем дату в секундах с 1970 года (epoch date). Дату можно вставить в разных форматах - 24 Oct 2017, 2017-10-24, 20171024. Далее можно оперировать этой датой в скриптах.
Добавление/вычитание скекунд ко времени в bash.
date '+%T' --date="16:16:16 MSK - 17 seconds" 16:15:59
timedatectl – в отличии от date, timedatectl показывает timezones. Можно посмотреть все таймзоны timedatectl list-timezones.
[user1@host1 ~]$ timedatectl Local time: Чт 2016-07-28 10:45:31 MSK Universal time: Чт 2016-07-28 07:45:31 UTC RTC time: Чт 2016-07-28 07:45:31 Time zone: Europe/Moscow (MSK, +0300) NTP enabled: yes NTP synchronized: yes RTC in local TZ: no DST active: n/a [root@host1 ~]# timedatectl list-timezones | grep Moscow Europe/Moscow
change
sudo date |date-time| – устанавливаем вручную дату и время.
[root@host1 ~]# sudo date 07131821 Wed Jul 13 18:21:00 MSK 2016 [root@host1 ~]# date Wed Jul 13 18:21:01 MSK 2016
sudo date -s |STRING| – устанавливаем вручную дату/время в произвольном формате.
The --date=STRING is a mostly free format human readable date string such as "Sun, 29 Feb 2004 16:21:42 -0800" or "2004-02-29 16:21:42" or even "next Thursday". A date string may contain items indicating calendar date, time of day, time zone, day of week, relative time, relative date, and numbers. An empty string indicates the beginning of the day. The date string format is more complex than is easily documented here but is fully described in the info documentation. [root@host1 ~]# date -s 20:02 Wed Aug 17 20:02:00 MSK 2016
timedatectl set-time 2015-08-12 – меняем текущую дату на August 12, 2015
[root@host1 ~]# timedatectl set-time 2015-08-12 [root@host1 ~]# date Ср. авг. 12 00:00:01 MSK 2015
timedatectl set-time 11:00 – Меняем время на 11:00
[root@host1 ~]# timedatectl set-time 11:00 [root@host1 ~]# date Ср. авг. 12 11:00:00 MSK 2015
UNIX TIME
date +”%T.%3N” -d @1559287471 Конвертация из unix time.
Timezone
timedatectl set-timezone Europe/Moscow – меняем таймзону на Europe/Moscow
NTP
ntpdate |server-ip| – синхронизируем время с NTP сервером разово. NTP может работать плохо в условиях нагруженной сети или серверов.
# ntpdate pool.ntp.org # date Wed Jul 13 18:23:08 MSK 2016 # ntpdate ntp.corbina.net 2 Aug 12:48:28 ntpdate[29563]: step time server 195.14.40.141 offset 1707901.165532 sec # date Tue Aug 2 12:48:30 MSK 2016
timedatectl set-ntp yes/no – включаем/отключаем постоянную синхронизацию с NTP.
[root@host1 ~]# timedatectl set-time 2017-01-13 Failed to set time: Automatic time synchronization is enabled [root@host1 ~]# timedatectl set-ntp no [root@host1 ~]# timedatectl set-time 2017-01-13 [root@host1 ~]# date Fri Jan 13 00:00:02 MSK 2017