1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
ansible -i host.txt all -m ping - запустили проверку в ответ прилетит PONG -i host.txt - файл с хостами all - группа в данном случае для всех -m ping - используем модуль ping для linux хостов -m win_ping - используем модуль ping для windows хостов Если в ansible.cfg добавили invertory то можно не писать опцию -i host.txt ansible all -m ping - запустили проверку в ответ прилетит PONG если все ок ansible all -m setup - выведет параметры всех серверов ansible staging_servers -m setup - выведет параметры группы taging_servers ansible all -m shell -a "uptime" - выполнить на всех серверах команду uptime -m shell - модуль шелл -a аргумент (комманда) uptime ansible all -m shell -a "df -h" - выполнить на всех серверах команду df -h (занятое место) ansible all -m command -a "uptime" - тоже самое что и shell но в нем не будут работать переменные и спец символы !@#$%^&*(}| и тд ansible all -m copy -a "src=xxx.txt dest=/home mode=777" - скопировать файл xxx.txt в каталог /home ansible all -m copy -a "src=xxx.txt dest=/home mode=777" -b - повысить привилегии (sudo) ansible all -m copy -a "src=xxx.txt dest=/home mode=777" -b --ask-become-pass - повысить привилегии и ввести пароль -b - повысить привилегии -m copy - модуль копирования ansible all -m file -a "path=/home/XXX.txt state=absent" -b - удаление файла XXX.txt ansible all -m get-url -a "url=http://example.com/path/file.conf dest=/home/foo.conf" ansible all -m get_url -a "url=http://example.com/path/file.conf dest=/home/foo.conf username=USERNAME password=USERNAME" ansible all -m yum -a "name=httpd state=latest" -b - установка пакета stress на CentOS (проверял установит и на Debian) ansible all -m yum -a "name=stress state=present" -b - установка пакета stress на CentOS (проверял установит и на Debian) ansible all -m yum -a "name=stress state=absent" -b - удаление пакета stress на CentOS (проверял удалит и на Debian) ansible all -m apt -a "name=apache2 state=present" -b - установка apache2 на Debian ansible all -m apt -a "name=apache2 state=absent" -b - удаление apache2 на Debian ansible all -m service -a "name=httpd state=started enabled=yes" - запускать веб сервер CentOS ansible all -m service -a "name=apache2 state=started enabled=yes" - запускать веб сервер Debian ansible all -m uri -a "url=https://b14esh.com" - как бы тестик, проверить доступность страницы ansible all -m uri -a "url=https://b14esh.com return_content=yes" - как бы тестик, проверить доступность страницы, покажет страницу ansible all -m shell -a "df -h " -vvvvv - дебаг(debug) выполнения команды ( чем больше "v" тем больше дебагу) ansible-doc -l - офф документация в консоле ansible-doc -l | grep windows - поиск по windows ansible-doc -l | grep ec2 - поиск по ec2 !!! https://docs.ansible.com/ - используй тут много полезного ansible-invertory --list - покажет все хосты и какие переменные к ним относятся ansible-inventory --graph - покажет все хосты и какие группы в виде дерева |
Для работы -b и ошибка «msg»: «Missing sudo password»
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
!!! Вот такая ошибка "msg": "Failed to get information on remote file может появятся если сломали sudo !!! "msg": "Missing sudo password" ошибка появляется с опцией -b временно поможет опция --ask-become-pass !!! sudo groupadd sudo - создать группу sudo в Ubuntu эта группа уже существует sudo usermod -a -G sudo username - добавить вашего пользователя к этой группе где username - имя вашего пользователя в системе Отредактировать /etc/sudoers файл sudo nano /etc/sudoers ---------------------- Найти строку ниже в этом файле (если нет, то создать) %sudo ALL=(ALL:ALL) ALL и поменять на следующую %sudo ALL=(ALL:ALL) NOPASSWD: ALL ----------------------- |