--- status: stable type: concept tags: - devops updated: 2026-02-27 title: Modules - Ansible created: 2025-12-17 --- # Modules - Ansible ## Module Command Выполнение команды на удаленном узле. ```yaml - name: Display home directory command: ls ~/ ``` У самих команд могут быть параметры, например ```yaml command: cat resolv.conf chdir=/etc # ansible сначала убедится, что мы в директории /etc или перейдет в неё, а затем выполнит команду cat command: mkdir /folder creates=/folder # ansible создаст папку только в том случае, если её не существует ``` # Module Script Выполняет скрипт, находящийся на хост-контроллере ```yaml - name: Тестовый плейбук со скриптом hosts: all tasks: - name: Запуск скрипта с хоста script: /root/script.sh -arg1 -arg2 ``` ## Module LineInFile Записывает указанную строку в конец указанного файла _если точнее, ansible убеждается в наличии такой строки, но если её нет, то записывает в конец_ ```yaml - name: Тестовый плейбук hosts: all tasks: - lineinfile: path: /etc/resolv.conf line: 'nameserver 10.1.250.10' ``` ## Module Service Работает с сервисами сервера (systemd) ```yaml - name: 'Execute a script on all web server nodes' hosts: web_nodes tasks: - name: 'Start httpd service on web server nodes' service: state: started ``` ## User > ansible.builtin.user Работа с пользователями системы (linux) ```yaml - name: 'Create new user' hosts: all tasks: - name: 'Create user John' user: name: John uid: 1040 group: dev ```