首页 文章

Ansible复制模块失败

提问于
浏览
2

我试图将“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,“checksum”:“9925f1a81f849f373f860c3156d19edcd1c002f2”,“failed”:true,“msg”:“无法替换文件:/root/.ansible/tmp/ansible-tmp-1469481567.72-275811900408782/source到/etc/resolv.conf:[Errno 1]不允许操作“}

我只是不明白问题是什么,因为我以root用户身份访问机器,并且Playbook在大多数服务器上成功 - 许多服务器具有完全相同的配置和设置 . 例如,它在服务器“server-analytical1”上成功,但在服务器“server-analytical2”上失败 . 那么,有没有人能够了解为什么Playbook只会为少数几台服务器发生故障,即使它们与其他成功的服务器相似或相同?

1 回答

  • 3

    是否在目标文件上设置了不可变位?如果是,请尝试 lsattr /etc/resolv.confchattr -i /etc/resolv.conf 取消设置 .

相关问题