将文件夹复制到远程时,Ansible 有 50% 的时间失败
Ansible fails 50% of the time when copying folder to remote
我想将一个文件夹从本地 src 复制到 destination 。
剧本失败 1/2 次而没有更改代码中的任何内容。
这里是错误:
TASK [Copy Source Files] *******************************************
fatal: [124....]: FAILED! => {"changed": false, ...
"details": "bad symbolic permission for mode: True",
"failed": true, "gid": 0, "group": "root",
"mode": "0755",
"msg": "mode must be in octal or symbolic form",
"owner": "root",
"path": "/home/ubuntu/src", "size": 4096, "state": "directory", "uid": 0}
to retry, use: --limit @/Users/Perso/ansible_tests/playbook.retry
PLAY RECAP *********************************************************
这里是剧本的相应任务:
- name: "Copy Source Files"
copy:
src: ./src
dest: /home/ubuntu/
directory_mode: yes
owner: root
group: root
force: true
我在某处看到这 is/was 一个已知问题。
有什么想法吗?
谢谢!
您的错误消息清楚地表明您在 directory_mode
参数中有错误。根据 documentation directory_mode 用于为新创建的目录设置模式。所以 yes
在这里没有意义,你应该使用正确的形式来设置权限,即 0755
或 u=rwx,g=rx,o=rx
是的,我也试过用特定模式复制文件。当我以八进制数字 0777 给出模式时,它对我有用。
- name: copy the checkout.py file
copy:
src: /home/checkout.py
dest: /home
mode: 0777
我想将一个文件夹从本地 src 复制到 destination 。
剧本失败 1/2 次而没有更改代码中的任何内容。
这里是错误:
TASK [Copy Source Files] *******************************************
fatal: [124....]: FAILED! => {"changed": false, ...
"details": "bad symbolic permission for mode: True",
"failed": true, "gid": 0, "group": "root",
"mode": "0755",
"msg": "mode must be in octal or symbolic form",
"owner": "root",
"path": "/home/ubuntu/src", "size": 4096, "state": "directory", "uid": 0}
to retry, use: --limit @/Users/Perso/ansible_tests/playbook.retry
PLAY RECAP *********************************************************
这里是剧本的相应任务:
- name: "Copy Source Files"
copy:
src: ./src
dest: /home/ubuntu/
directory_mode: yes
owner: root
group: root
force: true
我在某处看到这 is/was 一个已知问题。
有什么想法吗? 谢谢!
您的错误消息清楚地表明您在 directory_mode
参数中有错误。根据 documentation directory_mode 用于为新创建的目录设置模式。所以 yes
在这里没有意义,你应该使用正确的形式来设置权限,即 0755
或 u=rwx,g=rx,o=rx
是的,我也试过用特定模式复制文件。当我以八进制数字 0777 给出模式时,它对我有用。
- name: copy the checkout.py file
copy:
src: /home/checkout.py
dest: /home
mode: 0777