Архив метки: ansible

Синхронизация папок удаленных серверов с локальной машиной посредством ansible

Задача: есть кучка серверов, на которых нужно поддерживать в актуальном состоянии все скрипты.

Решение: используем ansible

1) Создаем файл конфигурации ansible.cfg

[defaults]
hostfile = /home/pavel/ansible/inventory/inventory
sudo_user = root
user=pavel
remote_user = root
control_path_dir = /home/pavel/.ansible/cp
log_path = /home/pavel/logs/ansible.log

, куда занесем некоторые основные значения, чтобы каждый раз не вставлять в параметры

2) Сделаем доступ по ssh без ввода пароля

3) Создадим файл inventory

[cdvol]
13.27.142.21 ansible_ssh_user=pavel
21.147.18.11 ansible_ssh_user=pavel

, где создали группу и перечислили хосты этой группы

4) Создадим playbooks

---
- hosts: cdvol
  tasks:
  - name: remove folder
    shell: "rm -R -r -f /home/pavel/cd_service"  
  - name: create folder
    shell: "mkdir /home/pavel/cd_service"
  - name: sync
    synchronize: src=/home/pavel/ansible/files/ dest=/home/pavel/cd_service/ mode=push

5) Ну и запустим наши потуги:

ansible-playbook -i /home/pavel/ansible/inventory/inventory /home/pavel/ansible/playbooks/start_update.yml