使用ansible完成实际任务时,需要依靠ansible的各个模块
ansible-doc -l 查看模块列表
ansible-doc -s module 查看模块的详细帮助信息
fetch意为“拿来”,当需要将受控主机中的文件拉取到ansible主机时可以使用此模块
查看fetch的帮助文档
例:
从受控主机A组复制一个文件到ansible的/home目录下 ansible A -m fetch -a "src=/etc/fstab dest=/home"
-m表示调用模块 -a表示用于传递模块所需要使用的参数
此时在ansible主机的dest路径下可以看到目录下已经自动生成相应受控主机的存放目录
ansible具有幂等性 举例说明:把一个文件拷贝到目标主机的某个目录上,但是不确定此目录是否已经存在,当使用ansible完成这项任务时,就非常简单了,如果目标主机存在此文件,那么ansible则不会进行任何操作,如果目标主机对应的目录不存在此文件,ansible就会拷贝,简单说ansible就是制定一个目标状态,ansible会自动判断,当前状态是否与目标状态一致,如果一致不进行任何操作,如果不一致则执行。
在受控106主机上修改刚才的fstab文件然后再次执行,观察ansible幂等性的效果
在106受控主机上在/etc/fstab中追加一个空格
在ansible主机上重复刚才的命令
通过fetch模块的认识可以更好的去学习ansible的其他模块