chrony synchronitation

GNUAwkрешение:

awk -v RS='[<>]' '/\n\n/{ sub(/^[^\n]+\n/, ""); print $0 RT }' file
  • RS='[<>]'-считать <и >разделителями записей
  • /\n\n/-если текущая запись содержит 2 разрыва строки :
    • sub(/^[^\n]+\n/, "")-удалить все до 1-й новой строки (включительно)
    • print $0 RT-распечатать текущую запись, за которой следует RT(, т.е.>)
    • RT-терминатор записи. Gawkустанавливает RTна входной текст, который соответствует символу или регулярному выражению, указанному RS.

Выход:

<empty line>   
don't delete this>
0
27.11.2019, 23:16
1 ответ

Проверить, синхронизирована ли хронология с командами

Вы можете использовать специальные команды chrony для проверки состояния ntp. Если вы хотите просмотреть информацию о текущем ntp-сервере, используйте

chronyc tracking

Для отображения всех серверов ntp

chronyc sources

Для получения дополнительной информации см. :fedora -проверить, синхронизирована ли хронология

Комбинация с анзиблом

Ансибл-модуля нет, но есть другой способ.

У вас все еще должна быть утилита ntpstat, которая также работает для хрони. Коды возврата дают информацию о статусе ntp. 0 для синхронизированных часов, 1 для несинхронизированных и 2, если состояние часов не определено. См. справочную страницу

.

Вы можете убедиться, что

ntpstat
echo $?

Если вы используете командный модуль ansible для запуска ntpstat, он по умолчанию завершается ошибкой, если код возврата команды не равен 0. Так что в этом случае мы можем использовать это в своих интересах. Создайте простой плейбук, который запускает команду ntpstat.

- name: Check if chrony is synchronized
  command: ntpstat

Запустите playbook для нужной группы хостов. Все хосты, которые выходят из строя, не имеют синхронизированного ntp.

Чтобы пойти дальше, вы можете скопировать глобальную конфигурацию chrony (chrony.conf )на все хосты и перезапустить службу chronyd с помощью ansible, если код возврата не равен 0.

- name: Check if chrony is synchronized
  command: ntpstat
  register: ntpstat_rc
  ignore_errors: true

- name: Copy chrony configuration
  copy:
   src: <global chrony.conf on your ansible server>
   dest: /etc/chrony.conf
   backup: yes
  when: ntpstat_rc.rc != 0

- name: Restart chrony service
  systemd:
   name: chronyd
   state: restarted
  when: ntpstat_rc.rc != 0

Надеюсь, это поможет.

Удачи

0
28.01.2020, 03:05

Теги

Похожие вопросы