Ansible

ansible-playbook -l serv1 bacula.yaml —check
-l <hosts> — ограничение по хостам
—check | -c — режим проверки плейбука

# Выборка маске в группе хостов

ansible «FronEnd:&srv-*-demo*» -a ‘sh -c «dpkg -l|grep nginx»‘

# Подготовка к обновлению с выборкой «исключить хост из маски»
ansible ‘srv-demo*:!srv-demo-db’ -m raw -a ‘apt update && apt upgrade -y —download-only’
ansible ‘dc6dev:!db:!afs:!tt*’ -m ping ## допускается выборка из выборки

ansible <host> -m <module> -a <args>
ansible serv1 -m setup -a «filter=ansible_pkg_mgr»
ansible serv1 -a «xl list» ## вызов модуля command можно опустить
ansible serv1 -m raw -a ‘dpkg -l | grep -vE «^ii»‘ ## модуль command не поддерживает передачу вывода одной команды в другую — используем модуль raw

# вычистить конфиги от старых пакетов
ansible «serv-msk-*» -m raw -a «dpkg -l|grep -E \^rc|awk ‘{ print \$2 }’|xargs -ri apt purge -y {}»
## Выполняется через вызов модуля сырого запуска шел команд. Не требует установленного Python. Может использоваться для его установки.

# список пакетов с состоянием, отличным от установлен
ansible «serv-msk-*» -m raw -a ‘dpkg -l| grep -E «^\w\S\s+\S*\s+\S*» -o|grep -v \^ii’

https://github.com/viczem/ansible-keepass
python3 ~/.ansible/plugins/lookup/kpsock.py \
/mnt/c/Users/user/some_keepass.kdbx —ttl 600
## вводим пасс и получаем доступ к записям на 10 минут (600сек)
обращение из скрипта: 

var = "{{ lookup('keepass','Work/Serv1','username') }}"