在playbook中使用命令任务时,在Ansible中出现内存错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在playbook中使用命令任务时,在Ansible中出现内存错误相关的知识,希望对你有一定的参考价值。

- hosts: all 

  ignore_errors: yes

  tasks:
  - name: Install BKUP

    command: yes | var/tocopy/Client/install

错误信息:

回溯(最近调用最后一次):文件“/tmp/ansible_HXcBpN/ansible_modlib.zip/ansible/module_utils/basic.py”,第2817行,在run_command stdout + = self._read_from_pipes(rpipes,rfds,cmd.stdout)MemoryError

致命:[]:失败! => {“已更改”:false,“cmd”:“是'|' var / tocopy / Client / install“,”invocation“:{”module_args“:{”_ raw_params“:”yes | var / tocopy / Client / install“,”_uses_shell“:false,”chdir“:null,”created“ :null,“executable”:null,“removed”:null,“stdin”:null,“warn”:true}},“msg”:“”,“rc”:257} ...忽略META:运行处理程序META:经营处理程序

答案

表演

command: yes | var/tocopy/Client/install

永远不会终止,当你的脚本var/tocopy/Client/install没有终止,因为yes作为手册页说明

是 - 反复输出一个字符串直到被杀死

永远不会被杀死内存错误是一个后续错误,因为输出会缓冲到某个位置并占用所有内存。

所以使用另一个终结的command

command: echo y | var/tocopy/Client/install

如果您需要将字符串y输入到您的脚本中,请更好地使用expect module

以上是关于在playbook中使用命令任务时,在Ansible中出现内存错误的主要内容,如果未能解决你的问题,请参考以下文章

在playbook中使用命令任务时,在Ansible中出现内存错误

Ansible 文档译文Playbooks 变量

Ansible 时间同步全自动化实现

ansible中的playbook详解

ansible-playbook未找到命令怎么解决

ansible playbook实践-基础相关命令