Ansible中常用的模块

目录

一.ansible的管理方式

 二.ansible的命令运行方式及常用参数

-C

-u

 -b / -become-user=此用户要被visudo授权

 三.ansible中的常用模块

1.script模块 ansible主机中脚本在受控主机中执行

 2.command 远程主机上执行命令

3.shell基本与command相同

 4.copy

 5.fetch 复制内容到ansible本机

 6.file文件属性设置

7.archive压缩

8.unarchive  解压缩

9.hostname

10.cron

 11.yum_repository

 12.dnf

 13.service

 14.firewalld

15. user

 16.group

 17.lineinfine

 18.replace  模块字符替换

19.setup 手机远程主机的一些基本信息

​20.debuge


一.ansible的管理方式

Ad-Host  利用命令方式比如hostname等直接管理,临时使用

 playbook ansible 脚本,用于大型项目场景,前期规划好的

 -l列出可用模块

[unix@ansible .ansible]$ ansible-doc -l | wc -l
3387

-s显示模块的脚本片段

Ansible中常用的模块_第1张图片

 二.ansible的命令运行方式及常用参数

-m 指定模块
--version 查看版本信息
-v   -vv 详细过程由v个数决定
--list 显示列表
-k 提示输入远程连接密码,默认Key认证
-C 预执行检测
-u 指定远程主机身份
-b 指定sudo身份切换
-K 提示输入sudo密码
-T 执行命令超时默认10秒
-become-user= 指定sudo用户

Ansible中常用的模块_第2张图片

 注:cmd进入命令指定

-C

 

-u

 Ansible中常用的模块_第3张图片

 -b / -become-user=此用户要被visudo授权

Ansible中常用的模块_第4张图片

 -b切换sudo  用户unix要创建必须要sudo切换用户

 三.ansible中的常用模块

将切换sudo的配置文件打开  become=true

1.script模块 ansible主机中脚本在受控主机中执行

ansible westos -m script -a 'westos.sh' -k

Ansible中常用的模块_第5张图片

 2.command 远程主机上执行命令

linux许多通用符不支持

 

基本颜色代表

红色   执行失败

绿色  执行成功,但对受控机无改变

黄色 执行成功,受控机发生变化

cmd进入命令指定

creates/removes 文件存在不执行/相反

 

chdir执行命令前进入指定目录

3.shell基本与command相同

executable  执行环境默认sh

Ansible中常用的模块_第6张图片

 4.copy

src 源文件
dest 目的地文件
owner 指定目的地文件所有人
group 所有组
mode 指定目的地文件权限

Ansible中常用的模块_第7张图片

content 指定文本内容直接在受控主机中生成文件 backup并将受控主机中存在的文件备份 Ansible中常用的模块_第8张图片

 

 5.fetch 复制内容到ansible本机

src 受控主机源文件
dest 本机目录
flat 基本名称功能

  ansible westos -m fetch -a 'src=/mnt/westos dest=/tmp'

文件复制到本机,用受控主机ip做目录

Ansible中常用的模块_第9张图片

Ansible中常用的模块_第10张图片

 fiat=yes 要有新的文件名,只复制内容Ansible中常用的模块_第11张图片

 6.file文件属性设置

path 指定文件名称
state 指定操作的状态/touch/absent/directory/link/hard
owner 设定文件用户
group 设定文件组
src 源文件
dest 目标文件
recurse

递归更改

 touch/directory/absentAnsible中常用的模块_第12张图片

 Ansible中常用的模块_第13张图片

 hard/link  /mnt/westos存在

Ansible中常用的模块_第14张图片

 

recurse=yes

 Ansible中常用的模块_第15张图片

 更改目录权限,文件不变Ansible中常用的模块_第16张图片

 Ansible中常用的模块_第17张图片

 当递归recurse=yes来更改

Ansible中常用的模块_第18张图片

Ansible中常用的模块_第19张图片

7.archive压缩

path 打包目录名称
dest 打包文件明称
formatansible westos -m archive -a 'path=/etc dest=/opt/etc.tar.bz2 format=bz2 owner=westos mode=666' 打包格式
owner 指定文件所有人
mode 指定文件权限

 ansible westos -m archive -a 'path=/etc dest=/opt/etc.tar.bz2 format=bz2 owner=westos mode=666'

Ansible中常用的模块_第20张图片

Ansible中常用的模块_第21张图片

 

8.unarchive  解压缩

copy no从受控主机找源文件src  yes默认,从ansible主机复制文件到受控主机
remote_src 与copy相反 yes包在受控主机 no 在ansible主机
src 文件或者包路径
dest 受控主机目录
mode 指定文件权限

no

Ansible中常用的模块_第22张图片 

Ansible中常用的模块_第23张图片 

 默认yes  ansible westos -m unarchive -a 'src=/mnt/etc.tar.bz2 dest=/mnt'

 ansible 作压缩包

Ansible中常用的模块_第24张图片

 

9.hostname

ansible westos -m hostname -a 'name=nod1.westos.org'

Ansible中常用的模块_第25张图片

10.cron

minute/hour/day/month/weeekday 时间
name 名称
job 任务
disabled yes/no  禁用计划/启动计划
state absent删除计划

ansible westos -m cron -a 'job="mkdir /mnt/westosir" name=westos minute=07 hour=15'

 ansible westos -m cron -a 'job="mkdir /mnt/westosir" name=westos minute=07 hour=15 disabled=yes'  本质是注释

 Ansible中常用的模块_第26张图片

 ansible westos -m cron -a 'job="mkdir /mnt/westosir" name=westos minute=07 hour=15 state=absent'

 Ansible中常用的模块_第27张图片

 11.yum_repository

name 指定仓库名称
baseul 指定源路经
description 指定仓库描述
file 指定仓库文件名称
enabled 仓库是否启用
gpgcheck 仓库是否检测gpgkey
state present/absent  建立/删除

ansible westos -m yum_repository -a 'file=westos name=AppStream description="rhel8.2 AppStream" baseurl=http://172.25.254.250/rhel8.2/AppStream gpgcheck=no enabled=yes gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

 12.dnf

name 指定包
state 指定动作:present 下载latest 更新absent删除
list 列出指定信息
disable_gpg_check 禁用检测
enablerepo 指定安装包来源
diaablerepo 禁用安装包来源

name="@     " 下载软件组

 13.service

ansible westos -m service -a 'name=httpd state=stopped'

enabled=yes/no 开机启动/不启动

 14.firewalld

zone 火墙的域
service 服务名称
permanent 永久生效
state=  enabled/disabled 允许/拒绝
immediate 立即生效

ansible westos -m firewalld -a 'service=http state=enabled permanent=yes immediate=yes'

Ansible中常用的模块_第28张图片 

15. user

name 必须参数 uid 指定用户的uid
group/groups 组与附加组 comment 指定用户的注释信息
append 指定添加附加组默认值no state absent/present
shell 指定用户默认shell password generate_ssh_key=yes
$转译ansible westos -m user -a "name=window uid=1005 group=westos password='\$6\$V82lzO670dtfWxUM\$PKCkSytJGzdBkCLXggFTRjRA/F3oaDjw0aGt0RneAApNLhhxk4WLyjlqocLPPYvObd.Uj9k.JpGmTq2SBKB921'"

 Ansible中常用的模块_第29张图片

 /etc/shadow

 16.group

name 组名
state absent/present
gid 组id

 17.lineinfine

  

path 要操作的文件
line 指定文本内容
regexp

用正则表达式匹配对应行还文本

多行匹配最后面被替换

删除,全被

state
backrefs

当内容无匹配,不对文间作修改,默认值no

insterafter 插入最早行EOF或指定行前
insertbefore 插入最后BOF或指定行后
backup 文件修改时是否备份
create 文件不存在时是否建立

 在受控机的里建立文件/mnt/westos

指定文本内容

[Devopes@westoslinux .ansible]$ ansible westos -m lineinfile -a 'path=/mnt/westos  line="hello westos\nhello wnates\nhello linux"'

使用正则匹配修改

 ansible westos -m lineinfile -a 'path=/mnt/westos  regexp="(h.{5}).*(w.{5})" line="\1"'

Ansible中常用的模块_第30张图片 

 ansible westos -m lineinfile -a 'path=/mnt/westos  regexp="(h.{5}).*(w.{5})" line="\1" backrefs=yes'

 

 

 |+  当书写脚本时格式化输出

 18.replace  模块字符替换

path 指定操作的文件
regexp 指定一个正则表达式
replace 指定最终替换成的字符
backup 修改文件时是否备份

19.setup 手机远程主机的一些基本信息

filter参数用于条件过滤

ansible westos -m setup显示远程主机的所有信息  |less  分页浏览

 ansible westos -m setup -a "filter=ansible_fqdn"

Ansible中常用的模块_第31张图片20.debuge

msg 调试输出的消息
var 将任务输出变量给模块
verbosity debug级别

 ansible westos -m debug -a ’msg=hellow‘

 

 

你可能感兴趣的:(数据库,mysql,database)