美文网首页Ansile思科DevNet
Ansible生成主机hosts文件、cron任务与硬件信息

Ansible生成主机hosts文件、cron任务与硬件信息

作者: 刘小白DOER | 来源:发表于2021-10-28 21:52 被阅读0次

        最近一直在练习ansible。以前觉得ansible繁琐,yml文件不熟悉,很难编写。但是在不断的练习中,笔者逐渐发觉Ansible这个框架真是省心省力。在多次实践中,各个模块其实可以直接ansible-doc查看模块的example,直接复制修改后就可以直接拿来使用。重难点其实还是playbook的逻辑控制上。

        在以前笔者觉得自己编写脚本(ssh后面直接跟命令)来完成服务器群的控制更加方便、简洁。但是熟悉ansible后发现,对于逻辑控制复杂的任务,ansible框架更加方便,特别是在错误判断上,真正的完成批量任务。

        在众多的实践练习中,笔者觉得生成主机hosts文件与cron任务比较常用,先分享如下。

    一、生成主机hosts文件

        主机hosts文件一般包含IP地址和主机名,有时可以添加FQDN完全限定域名。

        jinja2模板中使用循环来获取使用主机的三个信息:address、fqdn、hostname。针对模板中的参数信息,可以使用setup模块先生成一个主机的使用信息到文件中,然后less打开生成的文本文件,搜索条目即可得到需要的参数信息。模板内容如下:

        下面的playbook使用template模板来生成主机文件,并将文件放置于dev组的主机 /etc/myhosts中。如果需要所有主机都需要生成,那么删除最后的when即可。

    二、配置cron任务

        配置 cron任务就简单了,ansible-doc cron查看模块的使用方法。

        下面是配置一个每两分钟的定时任务来发送logger日志 。配置完成后可以使用ansible test -a 'crontab -l -u bob' 来验证 ,或者查看日志记录 ansible test -a 'grep EX200 /var/log/messages' 。

    三、生成硬件信息

        ansible-doc lineinfile查看模块的使用方法,模块确保”某一行文本”存在于指定的文件中,或者确保从文件中删除指定的”文本”,还可以根据正则表达式,替换”某一行文本”。

        下面是根据文本模板信息来更新硬件报告。

        

    相关文章

      网友评论

        本文标题:Ansible生成主机hosts文件、cron任务与硬件信息

        本文链接:https://www.haomeiwen.com/subject/difbaltx.html