运维日常

自定义download模块

2019-11-15  本文已影响0人  大白菜的猪猪

使用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


上一篇 下一篇

猜你喜欢

热点阅读