Linux – Скопировать Содержимое Файла На Сервере Ansible В Другой Файл На Удаленных Серверах

  • Автор темы I AM
  • Обновлено
  • 21, Oct 2024
  • #1

У меня есть сценарий bash примерно на 70 серверах.

/data/new_config > /opt/zservice/etc/config
that i want to change its content with ansible. the new content is on ansible server in this path
config
.
как я могу использовать ansible (как написать задачу), которая читает этот файл
new_config
and then replace
/data/new_config
содержание ?

что-то вроде этого в bash:

/opt/zservice/etc/config

#ansible #linux #centos

I AM


Рег
23 Jul, 2011

Тем
403760

Постов
400028

Баллов
2418908
  • 25, Oct 2024
  • #2

Модуль копирования должен работать

- hosts: all  

tasks:

- name: Update config on remote servers 

template:

#src: Update_config.j2  using jinja2 templating language, if we need  

transforming data 

src: /data/new_config  # Static 

dest: /opt/zservice/etc/config

force: yes

backup: yes

Если вас беспокоит количество хостов, взгляните на сериал.

 

Atek


Рег
25 Jun, 2010

Тем
79

Постов
198

Баллов
633
  • 25, Oct 2024
  • #3

Вы можете использовать модуль шаблонов Ansible для передачи файлов шаблонов на удаленные хосты.

Он работает аналогично модулю копирования, но с существенным отличием:

- hosts: all  

tasks:

- copy:

src: /data/new_config

dest: /opt/zservice/etc/config

owner: root

group: wheel

mode: '0750'

backup: yes

Вы можете использовать в своих файлах язык шаблонов jinja2, который будет шаблонироваться отдельно для каждого удаленного хоста, и вы можете использовать условные операторы, циклы, фильтры для преобразования данных, выполнять арифметические вычисления и т. д. Более подробную информацию см.

 

Xkirill


Рег
13 Jun, 2006

Тем
68

Постов
178

Баллов
538
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно