copy - Ansible 复制模块失败

标签 copy ansible

我正在尝试将“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 台服务器的以下错误消息。

fatal: [server-name]: FAILED! => {"changed": false, "checksum": "9925f1a81f849f373f860c3156d19edcd1c002f2", "failed": true, "msg": "Could not replace file: /root/.ansible/tmp/ansible-tmp-1469481567.72-275811900408782/source to /etc/resolv.conf: [Errno 1] Operation not permitted"}

我只是不明白问题可能是什么,因为我以 root 用户身份访问计算机,并且 Playbook 在大多数服务器上都成功 - 许多服务器具有完全相同的配置和设置。例如,它在服务器“server-analytical1”上成功,但在服务器“server-analytical2”上失败。那么,有谁知道为什么 Playbook 仅在少数服务器上失败,即使它们与其他成功的服务器相似或相同?

最佳答案

目标文件上是否设置了不可变位?如果是的话,请尝试使用 lsattr/etc/resolv.conf 和 chattr -i/etc/resolv.conf 来取消设置。

关于copy - Ansible 复制模块失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38578289/

相关文章:

c++ - 编写深拷贝 - 复制指针值

docker - 如何在启动时启动 Docker 容器,使用 Ansible (Tower) 进行管理

global-variables - 如何在任务中获取当前角色名称

amazon-web-services - 使用 AWS CloudFormation 更新 SNS 订阅的替代方案

ansible - 使用 ansible playbook 检查嵌套数据结构中的给定字符串

postgresql - 如何在postgres中复制文件

c - 文件内容到大字符串

ios - 从所选单元格复制数据(Swift)

ubuntu - 应用程序关闭时,如何使 Ubuntu 系统范围内的复制粘贴缓冲区不丢失?

git - 如何仅在第一次运行剧本时运行命令,在下次重新运行时跳过?