ansible советы по использованию (Помощь)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модератор: SLEDopit

Аватара пользователя
bars
Сообщения: 935
ОС: BSD/LINUX
Контактная информация:

ansible советы по использованию

Сообщение bars »

Привет.
Версии программ.

Код: Выделить всё

py38-ansible-4.7.0
py38-ansible-core-2.11.6
Решил по тихоньку изучать специфику ansible.
Просто ради интереса.
так вот есть сервер и 2 ноды.
Как правильно копировать файлы и дерктории?

Код: Выделить всё

- hosts: "all"
  tasks:
  - name: "Copy folder"
    copy:
      scr: "/mnt/test/"
      dest: "/mnt/test/"
Вот лог выполнения процедур.

Код: Выделить всё

# ansible-playbook ans

PLAY [all] ************************************************************************************************************************************************************************************

TASK [Gathering Facts] ************************************************************************************************************************************************************************
ok: [ans_prod]
ok: [ans_prod1]

TASK [Copy folder] ****************************************************************************************************************************************************************************
fatal: [ans_prod]: FAILED! => {"changed": false, "msg": "src (or content) is required"}
fatal: [ans_prod1]: FAILED! => {"changed": false, "msg": "src (or content) is required"}

PLAY RECAP ************************************************************************************************************************************************************************************
ans_prod                   : ok=1    changed=0    unreachable=0    failed=1    skipped=0    rescued=0    ignored=0   
ans_prod1                  : ok=1    changed=0    unreachable=0    failed=1    skipped=0    rescued=0    ignored=0   
Что не так делаю?
Файлы не копируются.
Последний раз редактировалось bars 29.10.2021 16:34, всего редактировалось 1 раз.
Настройка BSD систем
Знание сила, незнание Рабочая сила!
Спасибо сказали:
Аватара пользователя
Zer0
Сообщения: 479
ОС: Void, Slackware

Re: ansible копирования файлов и деректорий.

Сообщение Zer0 »

bars писал:
27.10.2021 15:29
scr: "/mnt/test/"
Может src: /mnt/test?
Memento mori ... сделай бэкап.
Спасибо сказали:
Аватара пользователя
bars
Сообщения: 935
ОС: BSD/LINUX
Контактная информация:

Re: ansible копирования файлов и деректорий.

Сообщение bars »

Zer0 писал(а):
27.10.2021 15:40
Может src: /mnt/test?
не понял.

Код: Выделить всё

ls -al /mnt/test/
-rw-r--r--  1 root  wheel    0 26 окт.  16:59 111.txt
-rw-r--r--  1 root  wheel    0 26 окт.  16:59 dfa0
Я пытаюсь скопировать файлы с сервера ansible на другие управляемые сервера.
Это два управляемых сервера

Код: Выделить всё

ans_prod
ans_prod1
+ сам сервер ansible.
Настройка BSD систем
Знание сила, незнание Рабочая сила!
Спасибо сказали:
Аватара пользователя
Zer0
Сообщения: 479
ОС: Void, Slackware

Re: ansible копирования файлов и деректорий.

Сообщение Zer0 »

Приведенный Вами кусок конфига:
bars писал:
27.10.2021 15:29
- hosts: "all" tasks: - name: "Copy folder" copy: scr: "/mnt/test/" dest: "/mnt/test/"
Что означает параметр scr?
Memento mori ... сделай бэкап.
Спасибо сказали:
Аватара пользователя
bars
Сообщения: 935
ОС: BSD/LINUX
Контактная информация:

Re: ansible копирования файлов и деректорий.

Сообщение bars »

Zer0 писал(а):
27.10.2021 15:45
Что означает параметр scr?
Как я понял из доков это исходники, откуда брать файлы.
Добавлено (15:47):
Понял, ошибка в букве src.
Настройка BSD систем
Знание сила, незнание Рабочая сила!
Спасибо сказали:
Аватара пользователя
Zer0
Сообщения: 479
ОС: Void, Slackware

Re: ansible копирования файлов и деректорий.

Сообщение Zer0 »

scr - скорее всего опечатка, src - сокращение от source, источник по русски. Попробуйте заменить в конфиге scr на src.
Memento mori ... сделай бэкап.
Спасибо сказали:
Аватара пользователя
bars
Сообщения: 935
ОС: BSD/LINUX
Контактная информация:

Re: ansible копирования файлов и деректорий.

Сообщение bars »

Спасибо, с копированием понял как.
А как теперь удалить файл?

Код: Выделить всё

- hosts: "all"
  - name: "del files."
     file:
      path: "/mnt/test/111.txt"
      state: absent
Ошибка на синтаксис, не пойму почему.

Код: Выделить всё

ERROR! We were unable to read either as JSON nor YAML, these are the errors we got from each:
JSON: Expecting value: line 1 column 1 (char 0)

Syntax Error while loading YAML.
  did not find expected key

The error appears to be in '/usr/local/etc/ansible/ans': line 2, column 3, but may
be elsewhere in the file depending on the exact syntax problem.

The offending line appears to be:

- hosts: "all"
  - name: "del files."
  ^ here
Настройка BSD систем
Знание сила, незнание Рабочая сила!
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20794
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: ansible копирования файлов и деректорий.

Сообщение Bizdelnick »

Лишний пробел в третьей строчке.
Вообще синтаксис YAML — это совершенно отдельная тема, требующая куда больше времени на изучение, нежели какой-то там ansible.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
bars
Сообщения: 935
ОС: BSD/LINUX
Контактная информация:

Re: ansible копирования файлов и деректорий.

Сообщение bars »

Bizdelnick писал:
27.10.2021 16:20
Лишний пробел в третьей строчке.
Вообще синтаксис YAML — это совершенно отдельная тема, требующая куда больше времени на изучение, нежели какой-то там ansible.
Нее, добавил task и все заработало.

Код: Выделить всё

- hosts: "all"
  tasks:
  - name: "del files."
    file:
      path: "/mnt/test/111.txt"
      state: absent
Да с синтаксисом составления palybook геморой, малейший пробел все, процедура не выполняется.
Настройка BSD систем
Знание сила, незнание Рабочая сила!
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20794
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: ansible копирования файлов и деректорий.

Сообщение Bizdelnick »

bars писал:
27.10.2021 16:21
Нее, добавил task и все заработало.
Это вторая ошибка, не синтаксическая. Отступы-то Вы тоже исправили.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
bars
Сообщения: 935
ОС: BSD/LINUX
Контактная информация:

Re: ansible копирования файлов и деректорий.

Сообщение bars »

А вот допустим есть несколько конфигурационных файлов расположенных в разных местах системы, как их скопировать на удаленные сервера и расположить в тех же директориях что на исходном сервере?
К примеру есть файлы однотипные с настройками.

Код: Выделить всё

/etc/resolv.conf
/root/back
/usr/test/test.conf
А так же и скопировать директорию полностью /mnt/test
Как это сделать за одно условие?
Добавлено (16:38):
Предполагаю что подобное.

Код: Выделить всё

- hosts: "all"
  tasks:
  - name: "Copy sys files"
    copy:
     src: '{{item}}'
     dest: ''
    loop:
    - /etc/resolv.conf
    - /root/back
    - /usr/test/test.conf
    - /mnt/test
Но пока не пойму как мне указать правильно тогда dest ?
Настройка BSD систем
Знание сила, незнание Рабочая сила!
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20794
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: ansible копирования файлов и деректорий.

Сообщение Bizdelnick »

bars писал:
27.10.2021 16:33
А вот допустим есть несколько конфигурационных файлов расположенных в разных местах системы, как их скопировать на удаленные сервера и расположить в тех же директориях что на исходном сервере?
А вот так задачу лучше даже не ставить. Сценарии ansible рассчитаны на то, чтобы работать одинаково с любой машины, и закладываться на наличие в системе определённых файлов не следует. Держите всё, что надо, в каталоге плейбука.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
bars
Сообщения: 935
ОС: BSD/LINUX
Контактная информация:

Re: ansible копирования файлов и деректорий.

Сообщение bars »

Bizdelnick писал:
27.10.2021 17:10
А вот так задачу лучше даже не ставить. Сценарии ansible рассчитаны на то, чтобы работать одинаково с любой машины, и закладываться на наличие в системе определённых файлов не следует. Держите всё, что надо, в каталоге плейбука.
Это понятно, что группы хостов должны быть с одинаковыми системами для выполнения процедур.
Но все же как скопировать файлы?
Настройка BSD систем
Знание сила, незнание Рабочая сила!
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20794
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: ansible копирования файлов и деректорий.

Сообщение Bizdelnick »

bars писал:
27.10.2021 19:02
Это понятно, что группы хостов должны быть с одинаковыми системами для выполнения процедур.
Хосты, на которых запускается плейбук, — не должны. Там может быть что угодно. Если Вы привязываете плейбук к какой-то конкретной машине (или группе машин), то тем самым подкладываете свинью коллегам, да и себе самому, вероятно.
bars писал:
27.10.2021 19:02
Но все же как скопировать файлы?
Подставить в dest тот же самый {{item}}. Но с учётом вышесказанного, лучше как-то наподобие

Код: Выделить всё

- hosts: "all"
  tasks:
  - name: "Copy sys files"
    copy:
     src: 'files/{{ item }}'
     dest: '/{{ item }}'
    loop:
    - etc/resolv.conf
    - root/back
    - usr/test/test.conf
    - mnt/test
положив файлы в files.
(не проверял, исхожу из того, что в Вашем примере нет ошибок)
Последний раз редактировалось Bizdelnick 27.10.2021 19:43, всего редактировалось 2 раза.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
bars
Сообщения: 935
ОС: BSD/LINUX
Контактная информация:

Re: ansible копирования файлов и деректорий.

Сообщение bars »

Bizdelnick писал:
27.10.2021 19:21
Хосты, на которых запускается плейбук, — не должны. Там может быть что угодно. Если Вы привязываете плейбук к своей конкретной машине, то тем самым подкладываете свинью коллегам, да и себе самому, вероятно.
Не понял, можете подробнее пояснить, про какую свинью?
Настройка BSD систем
Знание сила, незнание Рабочая сила!
Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4823
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: ansible копирования файлов и деректорий.

Сообщение SLEDopit »

bars писал:
27.10.2021 19:23
Не понял, можете подробнее пояснить, про какую свинью?
Что будет с вашим плейбуком, если на машине, с которой вы хотите копировать файлы, кто-нибудь поменяет один или несколько файлов, которые вы хотите скопировать?
Что будет с вашим плейбуком, если на машине, с которой вы хотите копировать файлы, покорежится диск, и один или несколько файлов, которые вы хотите скопировать, станут невалидными?
Что будет с вашим плейбуком, если машина, с которой вы хотите копировать файлы, просто помрет?
И ещё миллион "что будет" на случай если с машиной / файлами что-то пойдет не так.

Если у вас все эти файлы будут частью вашего кода, то всех этих проблем не будет. Бонусом получите документированную историю изменения конфигов.
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20794
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: ansible копирования файлов и деректорий.

Сообщение Bizdelnick »

bars писал:
27.10.2021 19:23
Не понял, можете подробнее пояснить, про какую свинью?
Ansible рассчитан на то, что администратор запускает его со своей машины, и всё, что ему для этого надо, — собственно ansible и настроенный ssh. Вы напишете плейбук, который рассчитан на то, чтобы запускаться со строго определённой системы, тем самым отсечёте большую часть сценариев его использования. Не говоря о том, что придётся каждому из коллег объяснять, какого хрена с его машины плейбук не работает (и выслушивать, что он скажет в ответ, а ничего хорошего он точно не скажет).
Добавлено (23:13):
И, кстати, по моему опыту в реальных задачах copy вообще используется крайне редко. Больше — template.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
bars
Сообщения: 935
ОС: BSD/LINUX
Контактная информация:

Re: ansible копирования файлов и деректорий.

Сообщение bars »

Ясно.
Мне казалось что ansible должен как то централизовано выполнятся из одно места.
Насчет универсальности запуска системы, это да.
Сейчас пробую редактировать файл.
Но что то он не редактируется.

Код: Выделить всё

- hosts: BSD
  tasks:
  - name: "ssh new settings"
    lineinfile:
      dest: /etc/ssh/sshd_config
      search_string: '^Port 22'
      line: Port 11111
    lineinfile:
      dest: /etc/ssh/sshd_config
      search_string: '^MaxAuthTries 3'
      line: MaxAuthTries 55
    lineinfile:
      dest: /etc/ssh/sshd_config
      search_string: '^#       $FreeBSD$'
      state: absent
Лог.

Код: Выделить всё

ansible-playbook sshd
[WARNING]: While constructing a mapping from /usr/local/etc/ansible/sshd, line 3, column 5, found a duplicate dict key (lineinfile). Using last defined value only.

PLAY [BSD] ************************************************************************************************************************************************************************************

TASK [Gathering Facts] ************************************************************************************************************************************************************************
ok: [ans_prod]
ok: [ans_prod1]

TASK [ssh new settings] ***********************************************************************************************************************************************************************
ok: [ans_prod1]
ok: [ans_prod]

PLAY RECAP ************************************************************************************************************************************************************************************
ans_prod                   : ok=2    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   
ans_prod1                  : ok=2    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   

Пробовал место переменной search_string: использовать regexp:, все также файлы не отредактированы на удаленных серверах.
Настройка BSD систем
Знание сила, незнание Рабочая сила!
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20794
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: ansible копирования файлов и деректорий.

Сообщение Bizdelnick »

https://docs.ansible.com/ansible-core/devel/collections/ansible/builtin/lineinfile_module.html#parameter-search_string
The literal string to look for in every line of the file.
Не регулярка.
Ну и не видя файла (всего целиком), нельзя понять, что там реально произошло.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
bars
Сообщения: 935
ОС: BSD/LINUX
Контактная информация:

Re: ansible копирования файлов и деректорий.

Сообщение bars »

Bizdelnick писал:
28.10.2021 17:49
Ну и не видя файла (всего целиком), нельзя понять, что там реально произошло.
В то то и дело, что ничего не произошло.
В файле осталась старя запись.

Код: Выделить всё

#       $FreeBSD$
Port 22
MaxAuthTries 3
Настройка BSD систем
Знание сила, незнание Рабочая сила!
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20794
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: ansible копирования файлов и деректорий.

Сообщение Bizdelnick »

Это весь файл целиком?
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
bars
Сообщения: 935
ОС: BSD/LINUX
Контактная информация:

Re: ansible копирования файлов и деректорий.

Сообщение bars »

разобрался, подредактировал playbook

Код: Выделить всё

- hosts: BSD
  tasks:
  - name: "ssh new settings"
    lineinfile:
      dest: /etc/ssh/sshd_config
      regexp: '^Port 11111'
      line: '#GatewayPorts no'
  - lineinfile:
      dest: /etc/ssh/sshd_config
      regexp: '^MaxAuthTries'
      line: MaxAuthTries 6
  - lineinfile:
      dest: /etc/ssh/sshd_config
      regexp: '^#       $FreeBSD$'
      state: absent
Но всеравно 3е процедура не хочет выполнятся.
- lineinfile:
dest: /etc/ssh/sshd_config
regexp: '^# $FreeBSD$'
state: absent
Строка не удаляется из файлы.
# $FreeBSD$
Настройка BSD систем
Знание сила, незнание Рабочая сила!
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20794
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: ansible копирования файлов и деректорий.

Сообщение Bizdelnick »

bars писал:
28.10.2021 18:48
regexp: '^# $FreeBSD$'
$ экранировать надо.
bars писал:
28.10.2021 18:48

Код: Выделить всё

  - name: "ssh new settings"
    lineinfile:
      dest: /etc/ssh/sshd_config
      regexp: '^Port 11111'
      line: '#GatewayPorts no'
А тут у Вас идемпотентность нарушена. Да и вообще смысл такой замены непонятен.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
bars
Сообщения: 935
ОС: BSD/LINUX
Контактная информация:

Re: ansible копирования файлов и деректорий.

Сообщение bars »

Bizdelnick писал:
28.10.2021 19:56
А тут у Вас идемпотентность нарушена. Да и вообще смысл такой замены непонятен.
идемпотентность нарушена. - не понял, что вы имеете ввиду?
Все это делается ради интереса, на тестовых серверах.
На примере, просто решил отредактировать конфиг ssh.
Настройка BSD систем
Знание сила, незнание Рабочая сила!
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20794
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: ansible копирования файлов и деректорий.

Сообщение Bizdelnick »

bars писал:
29.10.2021 12:56
идемпотентность нарушена. - не понял, что вы имеете ввиду?
Доку читайте внимательнее. ☺
Результат повторного запуска будет не таким, как результат первого.
bars писал:
29.10.2021 12:56
Все это делается ради интереса, на тестовых серверах.
Советую экспериментировать на molecule: куда удобнее, и такие вещи она сразу отлавливает. Хотя FreeBSD в неё не засунешь, кажется…
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
bars
Сообщения: 935
ОС: BSD/LINUX
Контактная информация:

Re: ansible копирования файлов и деректорий.

Сообщение bars »

Bizdelnick писал:
29.10.2021 13:13
Результат повторного запуска будет не таким, как результат первого.
Это понятно, первый запуск исправит regexp: "^Port 11111" на line: '#GatewayPorts no'.
ХЗ что это molecule: .
Настройка BSD систем
Знание сила, незнание Рабочая сила!
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20794
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: ansible копирования файлов и деректорий.

Сообщение Bizdelnick »

bars писал:
29.10.2021 15:50
Это понятно, первый запуск исправит regexp: "^Port 11111" на line: '#GatewayPorts no'.
А второй (и каждый последующий) запуск не найдёт соответствия и ещё раз вставит строку, но уже в конец файла.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
bars
Сообщения: 935
ОС: BSD/LINUX
Контактная информация:

Re: ansible копирования файлов и деректорий.

Сообщение bars »

Bizdelnick писал:
29.10.2021 16:16
А второй (и последующие) запуск не найдёт соответствия и ещё раз вставит строку, но уже в конец файла.
хмм, проверил ради интереса.

Код: Выделить всё

PLAY [BSD] ************************************************************************************************************************************************************************************

TASK [Gathering Facts] ************************************************************************************************************************************************************************
ok: [ans_prod]
ok: [ans_prod1]

TASK [ssh new settings] ***********************************************************************************************************************************************************************
ok: [ans_prod1]
ok: [ans_prod]

TASK [lineinfile] *****************************************************************************************************************************************************************************
ok: [ans_prod]
ok: [ans_prod1]

TASK [lineinfile] *****************************************************************************************************************************************************************************
ok: [ans_prod]
ok: [ans_prod1]

TASK [lineinfile] *****************************************************************************************************************************************************************************
ok: [ans_prod1]
ok: [ans_prod]

TASK [Del files.] *****************************************************************************************************************************************************************************
ok: [ans_prod1]
ok: [ans_prod]

TASK [restart service ssh] ********************************************************************************************************************************************************************
changed: [ans_prod]
changed: [ans_prod1]

TASK [debug] **********************************************************************************************************************************************************************************
ok: [ans_prod] => {
    "msg": "Готово!"
}
ok: [ans_prod1] => {
    "msg": "Готово!"
}

PLAY RECAP ************************************************************************************************************************************************************************************
ans_prod                   : ok=8    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   
ans_prod1                  : ok=8    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0
На одной из машин.

Код: Выделить всё

# egrep "MaxAuthTries|GatewayPorts" /etc/ssh/sshd_config
MaxAuthTries 6
#GatewayPorts no
Добавлено (16:23):
Как я понимаю.
Найдет последнее совпадение regexp: '^Port 11111' и изменит строку на line: '#GatewayPorts no'
Если нечего менять, то просто в холостую пропустит процедуру.

Код: Выделить всё

    lineinfile:
      dest: /etc/ssh/sshd_config
      regexp: "^Port"
      line: '#GatewayPorts no'
Настройка BSD систем
Знание сила, незнание Рабочая сила!
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20794
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: ansible копирования файлов и деректорий.

Сообщение Bizdelnick »

А, да, это я неправильно доку понял. Нарушение идемпотентности тут всё равно присутствует, но проявится только в том случае, если в файле окажется несколько строк, соответствующих регулярке (при первом запуске заменится последняя из них, при втором — предшествующая ей и т. д).
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
bars
Сообщения: 935
ОС: BSD/LINUX
Контактная информация:

Re: ansible копирования файлов и деректорий.

Сообщение bars »

Bizdelnick писал:
29.10.2021 16:30
А, да, это я неправильно доку понял. Нарушение идемпотентности тут всё равно присутствует, но проявится только в том случае, если в файле окажется несколько строк, соответствующих регулярке (при первом запуске заменится последняя из них, при втором — предшествующая ей и т. д).
Ага.
Более точно нужно указывать что менять.
А как указать что бы поменялись все совпадения в файле?
При sed использую пройтись по всему файлу /g , а как в этом случае?
Настройка BSD систем
Знание сила, незнание Рабочая сила!
Спасибо сказали:
Ответить