- #Автоматизация #Технологии #Процессы #ИТ #Записки #Журнал #Блог #Форум
- Указываем местный сервер времени для alt linux
- Указываем местный сервер времени для alt linux
- Ntp server alt linux
- Синхронизация времени
- tzdata
- NTP
- пакет openntpd
- пакет ntp
- ntpd
- ntpdate
- ntpq
- пакет chrony
- пакет systemd-timesyncd
- TIME 868
- пакет xinetd
- пакет rdate
- пакет netdate
- DAYTIME 867
- Синхронизация системного времени с RTC
- Linux kernel
- пакет hwclock
- другие ОС
- Примечания
#Автоматизация #Технологии #Процессы #ИТ #Записки #Журнал #Блог #Форум
Указываем местный сервер времени для alt linux
Артём Мамзиков Admin Сообщения: 761 Стаж: 4 года 4 месяца Откуда: Вологодская область Поблагодарили: 29 раз Контактная информация:
Указываем местный сервер времени для alt linux
Сообщение Артём Мамзиков » Ср июл 22, 2020 14:51 #1
# Переменные логина пароля
USER=root
PASS=Пароль
# Переменные IP для перебора подсетей
ip=»121″
for c in $ip
do
# spawn — вызов программы
# expect — ожидание вывода запущенной программой строки (дословно: ожидаем, что «скажет» выполняемая программа);
# send — передача данных или команд в вызванную программу (выполняется так, как будто вы сами набираете команды в консоли)
# close — завершение сценария
# Время ожидания
set timeout 2
# Подключаемся по ssh
spawn ssh -p 22 $USER@192.168.$c.$i
# Если выходит запрос потверждаем yes
expect «(yes/no)?*» send «yes\r»
>
>
# Ждем строку запроса пароля password:
expect «word:»
# Водим пароль
send «$PASS\r»
# Ждем строку для ввода команд от root #
expect «#*»
expect «#*»
# Прописываем сервер обновления времени в конфиг
send «echo server 192.168.101.8 >> /etc/ntpd.conf\r»
# Ждем строку для ввода команд от root #
expect «#*»
# Добавить в автозагрузку службу ntpd
send «systemctl enable ntpd\r»
# Ждем строку для ввода команд от root #
expect «#*»
# Запускаем службу
send «service ntpd start\r»
# Ждем строку для ввода команд от root
expect «#*»
# Обновим время с сервера
send «ntpdate 192.168.121.9\r»
# Ждем строку для ввода команд от root #
expect «#*»
# Выполняем выход из сеанса
send «exit\r»
expect eof
EOF
# spawn — вызов программы
# expect — ожидание вывода запущенной программой строки (дословно: ожидаем, что «скажет» выполняемая программа);
# send — передача данных или команд в вызванную программу (выполняется так, как будто вы сами набираете команды в консоли)
# close — завершение сценария
# Время ожидания
set timeout 2
# Переменные логина пароля
set USER «root»
set PASS «Пароль»
# Перебор подсетей циклом
for # Подключаемся по ssh
spawn ssh $USER@192.168.121.$a
# Если ip не доступен или отказ в подключении
set timeout 5
expect «*No route to host*»
«*Connection refused*»
# Если доступен
«(yes/no)?*»
«word:»
>
# Разделение вариантов выполнения от ответа
if send «echo $a >> lognohost.txt»
expect eof
> else # Если выходит запрос потверждаем yes
expect «*(yes/no)?*»
# Ждем строку запроса пароля password:
expect «password:»
# Водим пароль
send «$PASS\r»
# Ждем строку для ввода команд от root #
expect «#*»
expect «#*»
# Прописываем сервер обновления времени в конфиг
# send «echo server 192.168.121.9 >> /etc/ntpd.conf\r»
# Ждем строку для ввода команд от root #
# expect «#*»
# Добавить в автозагрузку службу ntpd
send «systemctl enable ntpd\r»
# Ждем строку для ввода команд от root #
expect «#*»
# Запускаем службу
send «service ntpd start\r»
# Ждем строку для ввода команд от root
expect «#*»
# Обновим время с сервера
send «ntpdate 192.168.121.9\r»
# Ждем строку для ввода команд от root #
expect «#*»
# Выполняем выход из сеанса
send «exit\r»
>>
expect eof
set timeout 2
set USER «root»
set PASS «Пароль»
for spawn ssh $USER@192.168.10.$a
expect «(yes/no)?*» send «yes\r»
>
>
# Ждем строку для ввода команд от root #
expect «#*»
expect «#*»
# Прописываем сервер обновления времени в конфиг
# send «echo server 192.168.121.9 >> /etc/ntpd.conf\r»
# Ждем строку для ввода команд от root #
# expect «#*»
# Добавить в автозагрузку службу ntpd
send «systemctl enable ntpd\r»
# Ждем строку для ввода команд от root #
expect «#*»
# Запускаем службу
send «service ntpd start\r»
# Ждем строку для ввода команд от root
expect «#*»
# Обновим время с сервера
send «ntpdate 192.168.121.9\r»
# Ждем строку для ввода команд от root #
expect «#*»
# Выполняем выход из сеанса
send «exit\r»
expect eof
>
Время
timedatectl set-timezone Europe/Moscow
ntpdate 192.168.121.9
/usr/sbin/ntpdate -u 192.168.121.9 && /usr/sbin/hwclock —systohc
Первый ответ
20 Jul 11:54:26 ntpdate[10380]: step time server 192.168.121.9 offset 262.066658 sec сервер времени шага 192.168.121.9 смещение 262.066658 сек
Если еще раз второй ответ
20 Jul 12:00:30 ntpdate[10567]: adjust time server 192.168.121.9 offset 0.014106 sec настройка времени сервера 192.168.121.9 смещение 0.014106 сек
Указать сервера обновление времени в nano /etc/ntpd.conf
echo server 192.168.121.9 >> /etc/ntpd.conf
Запущена ли служба проверка
chkconfig —list ntpd
systemctl status ntpd
ps -aux|egrep ntpd
Если нет то добовляем в автозагрузку варианты команд возможно нужно дать права на файл
chkconfig —add ntpd
chkconfig —levels 35 ntpd on
chkconfig ntpd on
systemctl enable ntpd
update-rc.d ntpd defaults
Запуск сервиса вручную
/etc/init.d/ntpd start
service ntpd start
Скриптом
echo -e ‘
#!/bin/sh
timeout 15 /usr/sbin/ntpdate -u 192.168.121.9 && /usr/sbin/hwclock —systohc
exit 0
‘ > /home/kudate.sh && chmod +x /home/godomain.sh
# служба
echo ‘[Unit]’
echo ‘Description=kudate’
echo ‘After=multi-user.target’
echo ‘[Service]’
echo ‘Type=simple’
echo ‘ExecStart=/bin/bash /home/kudate.sh’
echo ‘[Install]’
echo ‘WantedBy=multi-user.target’
> > /lib/systemd/system/kudate.service && /bin/systemctl enable kudate
Ntp server alt linux
На данном этапе выполняется выбор региона и города, по которым будет определен часовой пояс и установлены системные часы.
Для корректной установки даты и времени достаточно правильно указать часовой пояс и выставить желаемые значения для даты и времени.
На этом шаге следует выбрать часовой пояс, по которому нужно установить часы. Для этого в соответствующих списках выберите регион, а затем город. Поиск по списку можно ускорить, набирая на клавиатуре первые буквы искомого слова.
Пункт Хранить время в BIOS по Гринвичу выставляет настройки даты и времени в соответствии с часовыми поясами, установленными по Гринвичу, и добавляет к местному времени часовую поправку для выбранного региона.
Для ручной установки текущих даты и времени нужно нажать кнопку Изменить… . Откроется окно ручной настройки системных параметров даты и времени.
Для синхронизации системных часов с удалённым сервером времени (NTP) по локальной сети или по сети Интернет нужно отметить пункт Получать точное время с NTP-сервера и указать предпочитаемый NTP-сервер. В большинстве случаев можно указать сервер pool.ntp.org .
Если выбрана опция Получать точное время с NTP-сервера , то компьютер может и сам быть сервером точного времени. Например, использоваться как сервер точного времени машинами локальной сети. Для активации этой возможности необходимо отметить пункт Работать как NTP-сервер .
Для сохранения настроек и продолжения установки системы в окне ручной установки даты и времени необходимо нажать кнопку ОК и затем в окне Дата и время нажать кнопку Далее .
В случае если ОС Альт Сервер Виртуализации устанавливается как вторая ОС, необходимо снять отметку с пункта Хранить время в BIOS по Гринвичу , иначе время в уже установленной ОС может отображаться некорректно.
Синхронизация времени
Синхронизация времени в Linux возможна про протоколу NTP, описанному в RFC 5905, и протоколу TIME, описанному в RFC 868. В настоящее время, в подавляющем большинстве случаев, используется протокол NTP. Кроме того, в случае выключения компьютера, либо его перезагрузки, важна синхронизация системного времени с аппаратными часами реального времени материнской платы компьютера (RTC). В ALT есть несколько пакетов, обеспечивающих синхронизацию по протоколу NTP. Использовать одновременно несколько способов не следует. Так же существует дистрибутивонезависимое MINI-HOWTO на эту тему [1] .
- 1 tzdata
- 2 NTP
- 2.1 пакет openntpd
- 2.2 пакет ntp
- 2.2.1 ntpd
- 2.2.2 ntpdate
- 2.2.3 ntpq
- 3.1 пакет xinetd
- 3.2 пакет rdate
- 3.3 пакет netdate
- 5.1 Linux kernel
- 5.2 пакет hwclock
- 5.3 другие ОС
tzdata
Пакет содержит множество описаний временны́х зон, нужная из которых копируется в /etc/localtime (либо это может быть символическая ссылка на соответствующий файл). Только этот файл определяет системную временну́ю зону. Для дистрибутивов ALT с sysvinit копирование может быть выполнено командой
Сама зона, в этом случае, определяется по значению переменной ZONE из /etc/sysconfig/clock.
Примечание: так как ряд сервисов в ALT используют chroot, использоваться может не /etc/localtime непосредственно, а его копия в соответствующем chroot окружении
NTP
пакет openntpd
Используется по-умолчанию в большинстве дистрибутивов ALT. Отличается высокой безопасностью и как следствие — некоторыми недостатками, самый неприятный из которых — это медленный старт, доходящий в некоторых случаях до суток. Сам демон имеет название ntpd, как и аналогичный из пакета ntp, однако не является совместимым с ним ни по параметрам запуска, ни по средствам контроля, ни по конфигурационному файлу.
пакет ntp
Пакет является эталонной реализацией протокола ntp и имеет долгую историю. Считается не очень безопасным ввиду лидерства по количеству закрытых за историю CVE. В ALT пакет состоит из нескольких подпакетов. Непосредственно к синхронизации имеют отношение два, а третий полезен для контроля состояния ntpd.
ntpd
Собственно сам демон, который может работать как в качестве клиента, так и в качестве сервера.
ntpdate
Утилита, позволяющая однократно посмотреть время на каком-либо NTP-сервере (не обязательно ntpd) и/или синхронизировать с ним системное время. Если запущен ntpd, требуется использовать ключ -u при запуске.
ntpq
Утилита, позволяющая посмотреть статус работающего ntpd, как локального, так и удалённого.
пакет chrony
Наименее проблемный сервер времени, умеющих синхронизировать время быстро по списку доверенных серверов.
В некоторых конфигурациях это единственный сервер времени, с которым что-то работает, например, кластеры файловой системы ceph.apt-get install chrony systemctl start chronyd systemctl enable chronyd
пакет systemd-timesyncd
Является клиентом SNTP, не может быть сервером NTP.
TIME 868
пакет xinetd
Встроенный сервер TIME 868 имеет демон xinetd. Чтобы служба заработала, надо в /etc/xinetd.d/time-tcp и /etc/xinetd.d/time-udp заменить «disable = yes» на «disable = no». Так же, не следует забывать про основной /etc/xinetd.conf, в котором, по-умолчанию, присутствует параметр «only_from = 127.0.0.1».
пакет rdate
пакет netdate
DAYTIME 867
Упоминается в контексте Samba. надо понять и дописать, для чего
Синхронизация системного времени с RTC
Linux kernel
При наличии синхронизации с NTP-сервером ядро каждые 11 минут обновляет время в RTC. Начиная с 3.10, из ядра выпилили код, который пытался обновлять в RTC только минуты и секунды, чтобы обновление работало независимо от часового пояса (но в этом случае не могло быть исправлено расхождение более чем на 15 минут) [2] . В результате, при использовании синхронизаторов, умеющих сообщать ядру о наличии синхронизации, ядро получило возможность выставить значение RTC в UTC в соответствии с текущим значением времени, что внесло некоторую путаницу.
Проверить, что функция синхронизации может быть активирована, можно посредством команды
zgrep "HCTOSYS\|SYSTOHC" /proc/config.gz
пакет hwclock
При запуске однократно синхронизирует RTC с системными часами, либо наоборот. В зависимости от параметров в RTC может быть установлено время в UTC, либо локальное. В момент исполнения hwclock создаёт файл /etc/adjtime, в котором записано отклонение RTC от системного времени и какое время (локальное, либо UTC) записано в RTC. При загрузке системное время выставляется относительно RTC по данными из adjtime. Несоответствие значения временной зоны в RTC и в файле adjtime (UTC/LOCAL) приводит к сдвигу системного времени при загрузке. В некоторых случаях (например, при использовании ntpd) можно просто обнулить содержимое /etc/adjtime после использования ( >/etc/adjtime ).
другие ОС
Другие ОС тоже могут корректировать значение времени в RTC. Если на компьютере установлено более одной ОС, необходимо производить настройки таким образом, чтобы все ОС корректировали время в RTC одинаковым образом (см. тж. UTC).
Примечания