Ansible常用基础模块
2020-01-14 03:34
134 查看
ansible-doc & ping(ansible-doc文档,很重要)
command模块
shell模块
script模块
copy模块
lineinfile|replace模块
yum模块
service模块
setup模块
ansible-doc和ping模块
- ansible-doc 模块的手册相当于shell的man,很重要
- ansible-doc -l 列出所有模块
- ansible-doc 模块名称 查看帮助
-
测试网络连通性,ping模块没有参数
ansible all -m ping //ping测试连通性
command模块
- 默认模块,远程执行命令
ansible all -m command -a 'uptime' //查看所有机器负载 ansible all -m command -a 'date +%F_%T' //查看日期和时间
- 注意事项: command模块不能解析系统变量
- 该模块不启动shell直接在ssh进程中执行,所有使用到shell命令的执行都会失败
shell模块
- shell模块用法与command基本一致,区别是shell模块是通过/bin/bash进行执行命令,可以执行任意命令
- 不能执行交互式的命令,例如vim top等
ansible all -m shell -a 'uptime' //查看负载 ansible all -m shell -a "echo ${HOSTNAME}" //所有输出ansible ansible all -m shell -a 'echo ${HOSTNAME}' //各自输出主机名
- 注意:ansible执行命令是二次解析,第一次在本机解析,第二次在执行机器解析,需要第二次解析的变量的话要使用转义符\
script模块
- 在本地写脚本,然后使用script模块批量执行
vim user.sh #!/bin/bash id nb if [ $? != 0 ];then useradd wk echo 456 | passwd --stdin wk fi ansible all -m script -a 'user.sh'
yum模块
- 使用yum包管理器来管理软件包
- name:要进行操作的软件包名字
- state:动作(installed,removed)
ansible db -m yum -a 'name="mariadb-server" state=installed' //给所有db主机安装mariadb ansible cache -m yum -a 'name="lrzsz" state=removed' //cache主机删除lrzsz软件包
service模块
- name:必选项,服务名称
- enabled:是否开机启动 yes|no (systemctl is-enabled httpd检测服务状态)
- sleep:执行restarted,会在stop和start之间沉睡几秒钟
- state:对当前服务执行启动,停止,重启,重新加载等操作(started,stopped,restarted,reloaded)
ansible cache -m service -a 'name="sshd" enabled="yes" state="started" '
copy模块
- 复制文件到远程主机
- src:复制本地文件到远程主机,绝对路径和相对路径都可,路径为目录时会递归复制.若路径以"/“结尾,只服务目录里的内容,若不以”/"结尾,则复制包含目录在内的整个内容,类似与rsync
- dest:必选项.远程主机的绝对路径,如果源文件是一个目录,那该路径必须是目录
- backup:覆盖前先备份文件,备份文件包含时间信息.有两个选项:yes|no
- force:若目标主机包含该文件,但内容不容,如果设置为yes,则强制覆盖,设为no,则只有当目标主机的目标位置不存在该文件时才复制.默认为yes
ansible all -m copy -a 'src=/etc/resolv.conf dest=/etc/resolv.conf' //复制文件 ansible all -m copy -a 'src=/etc/yum.repos.d/ dest=/etc/yum.repos.d/' //复制目录
lineinfile模块
- 类似sed的一种行编辑替换模块
- path 目标文件
- regexp 正则表达式,要修改的行
- line 最终修改的结果
ansible db -m lineinfile -a ' > path="/etc/my.cnf" > regexp="^binlog-format" > line="binlog-format=row" '
replace模块
- 类似sed的一种行编辑替换模块
- path 目的文件
- regexp 正则表达式
- replace 替换后的结果
ansible db -m lineinfile -a ' > path="/etc/my.cnf" > regexp="=row" > line="=mixed" '
setup模块
- 主要用于获取主机信息,playbooks里经常会用的另一个参数gather_facts与该模块相关,setup模块下经常用的是filter参数
ansible cache -m setup -a 'filter=ansible_distribution' //filter过滤所需信息
- 点赞 1
- 收藏
- 分享
- 文章举报
相关文章推荐
- ansible基础学习,常用模块概述
- Ansible基础配置与常用模块使用
- ansible基础与常用模块应用
- ansible基础—安装与常用模块
- ansible基础—安装与常用模块
- Ansible自动化运维,ansible命令基础,Ansible常用模块,ansible安装
- Ansible基础配置与常用模块使用
- ansible常用模块
- Ansible系列(二):选项和常用模块
- 基础入门_Python-模块和包.深入Celery之常用架构/方案选型/必知必会?
- ansible常用模块
- Python基础:数值类型、常用函数、工具模块以及bool类型本质
- Ansible常用模块
- Ansible自动化运维的安装及常用模块详解
- ansible常用模块
- Ansible常用模块
- Ansible常用模块介绍及使用(二)--技术流ken
- 实例学习ansible系列(5)常用模块之copy
- python基础---python中常用的模块
- Ansible常用模块API调用