码迷,mamicode.com
首页 > 其他好文 > 详细

第四篇: Ansible 常用模块使用

时间:2018-07-10 11:32:13      阅读:136      评论:0      收藏:0      [点我收藏+]

标签:str   某服务   state   ini   分组   ==   elf   http   根据   

一、 command | shell 模块

        该模块为:执行命令模块 (由于命令模块较为强大,可根据自身对操作系统的熟练程度而增加。所以这里不再介绍类似可以实现同功能模块,比如service模块,需要重启某服务的操作使用命令行也可以完成,这里以能快速上手且上手后可以开始工作为前提)

        命令:ansible -m command -a ‘<命令行>‘ <ansible 分组名> 或 ansible -m shell-a ‘<命令行>‘ <ansible 分组名>

        如:

  技术分享图片

二、copy 模块

        该模块作用为:从ansible 主机指定文件远程拷贝到节点主机上指定目录

        命令:ansible -m copy -a ‘src=<ansible 主机文件路径> dest=<节点主机目录路径>‘ <ansible 分组名>

        如:

  技术分享图片

  技术分享图片

三、fetch 模块

        该模块为:从节点主机指定文件 远程拷贝到 ansible 主机指定目录(拷贝过来的是带主机名的目录树)

        命令:ansible -fetch -a ‘src=<节点主机文件路径> dest=<ansible 主机目录路径>‘ <ansible 分组名>

        如:

  技术分享图片

  技术分享图片

四、 script 模块

        该命令为:使用ansible 主机脚本远程在节点主机上执行(其执行原理是,先copy到远程主机,执行完成后再删除脚本)

        命令:ansible -m shell -a ‘<脚本路径>‘ <ansible 分组名>

        如:

        1. 先写一个简单的脚本,脚本执行写入文件操作,保存在/root/writefile.py

  

#!/usr/bin/env python
# -*-coding: utf-8 -*-
import sys
reload(sys)
sys.setdefaultencoding(‘utf-8‘)
class ResultFile(object):
    def __init__(self):
        self.outfile = ‘/tmp/test.txt‘
    def writefile(self):
        with open(self.outfile,‘w‘) as fs:
            fs.write(‘hello,word!‘)
if __name__==‘__main__‘:
    start = ResultFile()
    start.writefile()

  技术分享图片

  技术分享图片

五、 user 模块

        该命令是对节点主机用户进行处理

        命令: ansible -m user -a ‘name=<username>groups=<grouname> state=<present|absent>‘ <ansible 分组名>

        如:

        1. 增加一个新用户

  技术分享图片

  2. 删除一个用户

  技术分享图片

  技术分享图片

六、 group 模块

        该命令是对节点主机用户组 进行处理

        命令: ansible -m group -a ‘name=<groupname> gid=<gidnumber> state=<present|absent>‘ <ansible 分组名>

        如:

            1. 增加一个新组

   技术分享图片

   技术分享图片

   2. 删除一个组

   技术分享图片

   技术分享图片

七、 file 模块

        该命令是对节点主机文件做处理

        命令: ansible -m file -a ‘dest=<文件路径> group=<组名> owner=<用户名> mode=<权限>‘  <ansible 分组名>

        如:

  技术分享图片

  技术分享图片

  技术分享图片

八、cron 模块        

        该命令可以对节点主机添加crontab定时任务

        命令: ansible -m cron -a ‘name="<计划任务的注释信息>" minute=<分> hour=<时> day=<日> month=<月> weekday=<周> user=<执行任务用户名> job="<任务命令>"‘ <ansible 分组名>

        如:

  技术分享图片

  技术分享图片

第四篇: Ansible 常用模块使用

标签:str   某服务   state   ini   分组   ==   elf   http   根据   

原文地址:https://www.cnblogs.com/cpy-devops/p/9287279.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!