Команды оболочки с Ansible - PullRequest
       9

Команды оболочки с Ansible

0 голосов
/ 29 октября 2018

Я хотел бы использовать Ansible для выполнения нескольких команд. В моем случае я хотел бы создать файловую систему. Вот мой код:

- name: Create file system
   raw: |
   mkdir -p {{ out }} {{ scripts }} {{ sql }}
   chown -R postgres:postgres {{ root_dir }}
   lvcreate -n lv_test -L 5G data_vg
   mkfs.ext4 {{ fs }}
   mount {{ fs }} {{ home }}
   when: (target_app  == "app")

Я хочу выполнить все эти действия, используя пользователя root. Есть идеи?

1 Ответ

0 голосов
/ 29 октября 2018

Вы можете просто использовать модуль shell, подобный следующему:

- name: set a fact
  hosts: localhost
  tasks:
  - name: add users
    become: yes
    become_user: root
    shell: |
        mkdir -p /tmp/blah/moreblah;
        chown -R root:root /tmp/blah/moreblah

Как уже говорилось, есть такие модули, как file, которые могут сделать часть подъема для вас. Э.Г.

# create a directory if it doesn't exist
- file:
    path: /etc/some_directory
    state: directory
    group: root
    owner: root
    mode: 0755
    recurse: yes

В общем, если вы используете оболочку для выполнения повседневных команд UNIX, вы, вероятно, делаете это неправильно.

Ссылки

https://docs.ansible.com/ansible/latest/modules/file_module.html https://docs.ansible.com/ansible/latest/modules/shell_module.html

...