ansible的模块理解<3>

在前面学习了大佬的文章后,我知道了ansible的ping模块,当然ansible的模块不止这一个,在复杂的运维工作中肯定还要用到其他模块。今天继续跟随大佬的博客学习ansible的其他模块
ansible的模块理解<3>
用以上命令查看,发现ansible的模块非常多
如果我们想要从受管主机上拿取某个文件到ansible主机上,该怎么使用模块,这里有一个fetch的模块可以专门做此用,来看一下这个模块怎么用,是需要添加参数的
ansible的模块理解<3>
ansible的模块理解<3>
我们在hosts中添加了一条主机,它属于A组
现在我们试着将177这个主机下的/etc/fstab/文件拉到我们的ansible上:
ansible的模块理解<3>
ansible testA -m fetch -a "src=/etc/fstab dest=/testdir/ansible"
这条命令中的-a指定了拉取文件的目录,到我们的dest=/testdir/ansible这个目录下面,不难发现我们只拉取了fstab文件,但是ansible为我们自动创建了一个test77的目录用来存放从177主机来的信息,很有条理性,这是它的优势之一。
ansible还有一个幂等性的优势,意思就是,当我们再次执行相同的操作时候,ansible会自动检测有没有重复文件,如果有会自动覆盖,这个是依靠状态的返回结果来判断,我们来重复一下上次的命令:
ansible的模块理解<3>
两次都是success,不同的是字体颜色和change的状态,由黄到绿,change由true到fasle,这就证明了他的重复操作和幂等性

还有一种情况是,我们在第二次拉取文件时候,拉取的文件名跟第一次一样,就是文件内容作了改动,那么ansible会自动去对比,然后将更改后的文件正确输入到源文件位置:

ansible的模块理解<3>
可以看到我们在之前拉取的文件中导入了一个空格,然后再次进行拉取,返回了true,这就证明了我们之前所说的比对

okay

上一篇:ansible中的各种模块<4>


下一篇:ansible的清单配置详解<2>