Ansible从控制节点拷贝文件到远程节点的常用模块有:copy和synchronize;与copy模块相比,由于synchronize模块是系统的rsync软件的高级封装,在同步很深的层级目录时速度比copy模块快的多~
今天从控制节点拷贝一个目录到远程节点时遇到一个坑,记录如下:
我想把控制节点的/tmp/test/
目录拷贝到远程节点的/tmp/
目录下,使用如下ad hoc命令:
ansible -i tmp.txt all -m synchronize -a "src=/tmp/test dest=/tmp/test/ "
然而在远程节点得到的确是如下目录:
/tmp/test/test/
,不是预期的/tmp/test/
原因是上面的src=/tmp/test
后面少了个斜杠/
,正确写法应该是src=/tmp/test/
,所以正确命令应该是:
ansible -i tmp.txt all -m synchronize -a "src=/tmp/test/ dest=/tmp/test/ "
网友评论