Есть ли способ захватить stdout и stderr отдельно в bash, возможно, в виде кортежа, для специальных специальных команд? Что-то вроде: stdout, stderr= ansible -i hosts -m shell -a "command"
Распознавание ошибок в специальных командах Ansible
comment
Не могли бы вы уточнить, что требуется от какой команды? Вы можете использовать grep или sed для перенаправления stdout и stderr в нужный файл журнала.
- person 32cupo   schedule 14.04.2020
Ответы (1)
Вы можете использовать опцию -t
для регистрации вывода в формате JSON. Например, если я выполняю
ansible -m shell -a "echo test" -t tmp localhost
то в файле ./tmp/localhost
я получу этот вывод:
{
"changed": true,
"cmd": "echo test",
"delta": "0:00:00.006099",
"end": "2020-04-14 11:43:01.878959",
"rc": 0,
"start": "2020-04-14 11:43:01.872860",
"stderr": "",
"stderr_lines": [],
"stdout": "test",
"stdout_lines": [
"test"
]
}
Затем вы можете проанализировать stdout и stderr.
person
rolf82
schedule
14.04.2020