Для начала необходимо отметить, что в 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), который будет работать в фоновом режиме и постоянно синхронизировать системные часы.
Комментариев нет:
Отправить комментарий