вторник, 1 марта 2016 г.

Изменение даты и времени в командной строке Linux

Для начала необходимо отметить, что в Linux-машине есть два типа часов: программные часы (system clock), которые поддерживаются ядром системы, и аппаратные часы (работающие от батарейки), которые работают и в выключенном компьютере. При загрузке ядро выставляет системные часы по аппаратным, и далее они работают независимо друг от друга.

Способ первый: команда Date

В Linux для изменения даты и времени вы можете использовать команду date:

# date --set='NEW_DATE'

здесь NEW_DATE - строка даты и времени в формате: "Sun, 28 Sep 2014 16:21:42" или "2014-09-29 16:21:42".

Также формат даты можно задать самому:


# date +FORMAT --set='NEW_DATE'

Например:

# date +’%Y%m%d %H%m’ --set='20140928 1518'


Вы также можете увеличивать или уменьшать дату или время на некоторое количество дней, месяцев, годов, секунд, минут или часов. Также вы можете комбинировать параметры даты и времени в одной команде.

# date --set='+5 minutes'
# date --set='-2 weeks'
# date --set='+3 months'
# date --set='-3 months +2 weeks -5 minutes'


И в конце установите аппаратные часы по программным:

# hwclock --systohc

С другой стороны, если аппаратные часы показывают правильное время, вы можете установить по ним системные часы:

# hwclock --hctosys

Способ второй: NTP

Другой способ точной установки даты и времени - использование NTP (network time protocol). В Linux команда ntpdate может синхронизировать системные часы с публичными NTP-серверами.

Установить ntpdate можно с помощью следующих команд:

В системах на базе Debian:

# aptitude install ntpdate

В системах на базе Red Hat:

# yum install ntpdate

Для синхронизации времени  введите команды:

# ntpdate -u <имя NTP-сервера или IP-адрес>
# hwclock --systohc


Вместо синхронизации вручную вы можете также установить демон  NTP (ntpd), который будет работать в фоновом режиме и постоянно синхронизировать системные часы.

Комментариев нет:

Отправить комментарий