无能为力

我正在使用任务

playbook.yml

--- - hosts: servers remote_user: user become: True become_user: user become_method: sudo gather_facts: no tasks: - name: ┆ ┆ copy: ┆ ┆ ┆ src: editProxy.sh ┆ ┆ ┆ dest: /tmp/editProxy.sh ┆ ┆ ┆ mode: 0755 ┆ - name: run edit proxy settings for apt ┆ ┆ command: /tmp/editProxy.sh 

editProxy.sh

 #!/bin/bash if grep -q "old_proxy" /etc/apt/apt.conf; then sed -i 's/old_proxy/new_proxy/g' /etc/apt/apt.conf; fi 

运行playbook ansible-playbook palybook.yml –extra-vars ='ansible_become_pass = passwd

脚本复制到服务器,并不返回错误

改变了:[10.1.1.1]

但是,服务器上的更改不会发生,如果您在服务器上手动运行脚本,则会发生更改。 可能是什么问题呢

而不是上传一个脚本,并执行它来运行sed来replaceconfiguration文件中的string,考虑使用Ansible原生replace模块 ? 比如说:

  - name: Modify proxy settings for apt replace: path: /etc/apt/apt.conf regexp: 'old_proxy' replace: 'new_proxy' backup: yes