Как настроить доступный playbook для перезагрузки серверов

find - это не простая команда, управляемая параметрами, а команда, реализующая собственный язык управления.

Интерфейс командной строки find выглядит так:

find [options] path1..pathn [expression]

Где параметры, например, -H , -L , -P и выражение - это сценарий, написанный на языке управления поиском .

Такие параметры, как -name , называются: первичными , потому что они являются первичными операторами, а полное выражение можно рассматривать как математическое описание фильтра и действий, подобных -print , -exec .

Командный язык find является очень мощным, но все же простым для изучения языком. Программы, которые просматривают деревья каталогов и пытаются реализовать свое поведение только с помощью классических параметров командной строки UNIX, обычно либо менее эффективны, либо трудны для изучения. См., Например, GNU tar vs. star (последний поддерживает использование командного языка find .

1
27.05.2018, 05:45
2 ответа

Puede pasar variables adicionales a los libros de jugadas de ansible ejecutando

ansible-playbook --limit whatever myplaybook.yml --extra-vars reboot=now

Modifica la parte superior de tu libro de jugadas:

- hosts: all
  become: yes
  vars:
    reboot: notnow

La tarea de reinicio se convierte en:

- name: Rebooting servers now...
  command: shutdown -r now "Reboot required for updated kernel"
  async: 0
  poll: 0
  sudo: true
  ignore_errors: true
  when: reboot == "now"
  register: rebooting

Cuando no pasa el parámetro adicional -vars, entonces el var tiene el valor "no ahora" y luego la condición whenno se cumplirá.

2
28.04.2021, 23:46

Теперь есть модуль, который просто перезагружает машину:https://docs.ansible.com/ansible/latest/modules/reboot_module.html

0
28.04.2021, 23:46

Теги

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