自定义download模块
使用python自定义一个ansible的download模块,通过输入主机组,下载路径,存放路径即可对主机组中的所有主机批量下载同一个文件.
准备工作:
对应主机需要下载wget模块
1.安装python软件包:
在http://pypi.org查找并下载wget
2.拷贝wget到目标主机
3.目标主机进行解压缩
[root@node4 ~]# unzip wget-3.2.zip
[root@node4 ~]# cd wget-3.2/
[root@node4 wget-3.2]# python setup.py install
源代码:
def main():
module = AnsibleModule(
argument_spec=dict(
url=dict(required=True, type='str'),
dest=dict(required=True, type='str')
)
)
wget.download(module.params['url'], module.params['dest'])
module.exit_json(changed=True)
if __name__ == '__main__':
main()
脚本运行结果
ansible dbservers -m download -a "url='http://5b0988e595225.cdn.sohucs.com/images/20180919/5cc04a43e9b14460946caf1be6bf1d75.jpg' dest='/tmp/111.jpg'"
url=下载的文件地址
dest=目标主机存放地址
node4 | CHANGED => {
"changed": true
}
[root@node4 ~]# cd /tmp/
[root@node4 tmp]# ls
111.jpg
用eog + 文件名方式打开图片
使用eog命令需要安装软件包
yum -y install eog
[root@node4 tmp]# eog 111.jpg