我写了这么一个yml,目的就是批量从主机复制文件到各个节点,这里的app_name是变量。
本来很简单,但是我执行了一次之后,再执行一次,就报了这样的错误
反正就是没有权限了,真是怪哉,去一个节点的这个位置查看,才发现权限乱了,怎么owner的r权限都没了?人工干预后,才停止报错,再执行一遍,又报错了
我才怀疑到是mode有问题,这里mode 755是不对的!必须是0755!
看了官方说明,才恍然大悟。执行ansible-doc -s copy 有这么一段
意思就是,
目标文件或目录的权限。mode实际上是八进制数。您必须添加前导零,以便Ansible
的YAML解析器知道它是一个八进制数,所以必须是0755,而不是755。或者加个引号也
行,比如'755',以便Ansible收到字符串,可以自行将字符串转换为数字。