我正在尝试复制" resolve.conf"将文件从一台机器传送到另一台机器并覆盖旧机器。此操作适用于除40个服务器中的4个以外的所有服务器...我收到错误,因为不允许这样做而无法替换该文件。我已经粘贴了与下面操作失败相关的Playbook内容。
- hosts: all
remote_user: root
...
- name: Copy over the updated DNS configuration file
copy: src=/etc/resolv.conf dest=/etc/resolv.conf
它为我提供了所有4台服务器的以下错误消息。
致命:[服务器名]:失败! => {"更改":false,"校验和":" 9925f1a81f849f373f860c3156d19edcd1c002f2","失败":true," msg": "无法替换文件:/root/.ansible/tmp/ansible-tmp-1469481567.72-275811900408782/source到/etc/resolv.conf:[Errno 1]不允许操作"}
我只是不明白问题是什么,因为我以root用户身份访问计算机并且Playbook在大多数服务器上成功 - 许多服务器具有完全相同的配置和设置。例如,它在服务器上成功" server-analytical1"但在服务器" server-analytical2"上失败了。那么,有没有人能够了解为什么Playbook只会为少数几台服务器发生故障,即使它们与其他成功的服务器相似或相同?
答案 0 :(得分:3)
目标文件上是否设置了不可变位?如果是,请尝试lsattr /etc/resolv.conf
和chattr -i /etc/resolv.conf
取消设置。