zoukankan      html  css  js  c++  java
  • ansible常用基础模块

    仅罗列出常用的模块,更多模块请到ansible官方查看

    https://docs.ansible.com/ansible/latest/modules/list_of_all_modules.html

    一、命令模块

    1 ping模块

    主要用于判断远程客户端是否在线

    格式:
    ansible 主机组名 -m ping

    2 command模块
    该模块为ansible的默认模块,支持所有远程权限范围内的命令,不支持管道符号(|)

    格式:
    ansible 主机组名 -m command -a 'command'

    3 shell模块
    和command模块一样,且支持管道符号(|)

    格式:
    ansible 主机组名 -m shell -a 'command'

    二、文件模块
    1 copy模块
    从ansible主机上拷贝文件或目录到被管理机器上,类似scp功能

    格式:
    ansible 主机组名 -m copy -a 'src=/root/test.sh dest=/root/ owner=root group=root mode=0755' 
    
    参数说明:
    src       ansible主机上的文件或目录
    dest   指定被管理机器的目录
    owner  指定文件或目录传过去的所有者
    group  指定文件或目录传过去的所属组
    mode   指定文件或目录传过去的权限
    
    其中:
    如果src是文件,dest是目录,则src会被拷贝至dest目录下,如果dest是文件,则会被src替换
    如果src是目录,dest也必须为目录,若dest不存在,则dest会被当成目录创建

    2 file模块
    管理文件和目录以及属性

    格式:
    创建目录:
    ansible 主机组名 -m file -a 'name=/data mode=644 state=directory'
    
    创建普通文件:
    ansible 主机组名 -m file -a 'dest=/data/test.txt mode=777 state=touch'
    
    删除文件或目录:
    ansible 主机组名 -m file -a 'path=/data/abc state=absent'
    
    创建一个软连接:
    ansible 主机组名 -m file -a 'src=/data/test.txt dest=/root/test state=link'
    
    参数说明:
    name(dest|path)    指定目录或文件名
    mode    指定创建后文件或目录的权限
    state    指定类型:
        directory     如果目录不存在则创建该目录
        touch        创建普通文件
        absent        删除文件或目录
        link        创建软链接
    owner        指定所属用户 
    group        指定所属组

    3 script模块
    在被管理的机器上执行管理机器上的脚本,脚本不会被拷贝到被管理主机上

    格式:
    ansible 主机组名 -m script -a '/root/test.sh'

    4 fetch模块
    从被管理主机上拷贝文件到ansible主机,和copy模块用法类似

    格式:
    ansible 主机组名 -m fetch -a 'src=/root/test.sh dest=/root/'
    
    参数说明;
    src    被管理主机上的文件,必须是文件
    dest   ansible主机存放的路径

    三、安装模块
    1 yum模块
    管理被管理机器上的rpm包

    格式:
    ansible 主机组名 -m yum -a 'name=mysql state=installed'
    
    参数说明:
    name      指定要安装的rpm包名称
    state      指定状态
        installed(present)     安装软件包
        absent(removed)         卸载软件包

    四、定时模块
    1 cron模块
    修改被管理机的crontab任务

    格式:
    ansible 主机组名 -m cron -a "name='check dirs' hour='5,2' job='ls -alh > /dev/null'"
    
    参数说明:
    name     指定时间任务名称(加备注)
    hour     指定时间任务周期(minute,hour,day,month,weekday)
    job     指定任务内容
    state    指定状态
        absent(present)      取消指定时间任务

    五、挂载模块
    1 mount模块
    实现被管理机的分区挂载(添加至/etc/fstab文件)

    格式:
    ansible 主机组名 -m mount -a 'name=/yum src=/dev/sr0 fstype=iso9660 opts=ro state=mounted'
    
    参数说明:
    name     指定挂载目录
    src     指定挂载源
    fstype     指定挂载源的文件系统类型
    opts     指定挂载后的权限
    state     指定状态
        present        只修改fstab文件内容,不做挂载操作
        mounted        如果指定的挂载点没有挂载,则挂载,且将会写入fstab文件
        absent        取消挂载,并将挂载目录删除,还会删除fstab文件中对应内容
        unmounted    取消当前挂载的内容,而不修改fstab文件内容

    六、服务模块
    1 service模块
    管理被管理机器上的服务(启动、停止、重启等)

    格式:
    ansible 主机组名 -m service -a "name=nginx state=stopped"    
    
    参数说明:
    name        指定服务名
    state       指定需要执行的操作
    stopped     停止
    started     启动
    restarted   重启
    reloaded    平滑重启

    七、用户模块
    1 user模块
    管理被管理机器上的用户

    格式:
    ansible 主机组名 -m user -a "name=ninmu shell=/bin/sh home=/home/munin group=8888 uid=8888 comment='useradd ninmu'"
    
    参数说明:
    name      指定用户名
    shell     指定shell类型
    home      指定用户家目录
    group     指定用户所属组(前提是指定的组已经存在)
    uid       指定用户uid
    comment   指定用户描述项
    remove    删除用户时是否删除家目录(remove=yes)
    state     指定状态
        absent    删除用户

    八、解压缩模块
    1 unarchive模块
    将ansible主机上的归档文件或压缩文件释放至指定被管理机上

    格式:
    将ansible主机上的压缩文件释放至被管理机:
    ansible 主机组名 -m unarchive -a 'src=/root/test.tar.gz dest=/root/'
    
    释放被管理机器上的压缩文件:
    ansible 主机组名 -m unarchive -a 'src=/root/local.tar.gz dest=/usr/src/ remote_src=yes'
    
    参数说明:
    src        指定要解压的压缩或归档文件名
    dest       指定要将文件释放到哪里
    owner      指定释放后文件所属用户
    group      指定释放后文件所属组
    mode       指定释放后文件权限
    remote_src     需要释放的文件在被管理机器端时使用(remote_src=yes)
  • 相关阅读:
    PyQt5笔记之标签
    PyQt5笔记之布局管理
    PyQt5笔记之菜单栏
    Windows环境安装PyQt5
    MySQL8的密码策略
    find命令常用参数
    Linux性能监控工具
    Linux内核管理
    DNS简单配置
    Solr 5.2.1 部署并索引Mysql数据库
  • 原文地址:https://www.cnblogs.com/gudanaimei/p/13238086.html
Copyright © 2011-2022 走看看