ansible中常用的模块(上)

ansible实现管理的方式:

管理方式	含义
Ad-Hoc	利用ansible命令直接完成管理,主要用于临时命令使用场景
playbook	ansible脚本,主要用于大型项目场景,需要前期的规划

Ad-Hoc:
在这里插入图片描述
playbook:
在这里插入图片描述
在这里插入图片描述

ad-hoc执行方式中获得帮助:

ansible-doc		显示模块帮助的指令
-l				列出可用模块
-s				显示指定模块的playbook片段
ansible命令运行方式及常用参数:
ansible +清单 +-m+模块+-a+模块参数
--version	显示版本
-m	moudle指定模块,默认为command模块
-v	详细过程,-vv,-vvv更详细过程
--list	显示主机列表,也可用--list-hosts
-k	提示输入ssh连接密码,默认key认证
-C	预执行检测
-T	执行命令的超时时间,默认10s
-u	指定远程执行的用户
-b	执行sudo切换身份操作
-become-user=USERNAME	指定sudo的用户
-K	提示输入sudo密码

ansible-doc -l列出可用模块:
在这里插入图片描述
ansible-doc -s列出指定模块的常用参数:
在这里插入图片描述
语法格式:
ansible 清单 -m 模块 -a 模块参数
查看版本号:
在这里插入图片描述
-v显示命令行运行的详细过程:
在这里插入图片描述
-vv显示命令行运行的更详细过程:
在这里插入图片描述
-vvv显示命令行运行的更更更详细过程。
v越多,显示命令行运行的过程越详细。
-m表示指定模块,-k参数表示指定输入ssh连接时输入的密码:
在这里插入图片描述-C 表示预执行检测,只检测命令运行的正确与否,但不会执行只做检测:
在这里插入图片描述
-b表示指定sudo切换用户身份操作,–become-user=USERNAME表示指定用户:
在这里插入图片描述
-u表示指定远程执行的用户:
在这里插入图片描述

ansible的基本颜色代表:

绿色	执行成功但对远程主机未作任何改变
黄色	执行成功并对远程主机做改变
红色	执行失败

ansible中的常用模块:

1.command中在远程主机执行命令
chdir	执行命令前先进入到指定目录
creates	如果文件存在将不运行
removes	如果文件存在将运行
2.shell功能
chdir	执行命令前先进入到指定目录
cmd		运行命令指定
creates	如果文件存在将运行
free_from	在远程主机中执行的命令,此参数不需要加
executable	指定执行环境。默认为sh
3.script在ansible主机中写好的脚本在受控主机中执行
4.copy从ansible主机复制文件到受控主机
owner	指定目的地文件所有人
group	指定文件所有组
mode	指定目的地文件权限
backup=yes	当受控主机中存在文件时备份原文件
content	指定文本内容直接在受控主机中生成文件
5.fetch从受控主机把文件复制到ansible主机,但不支持目录
src		受控主机的源文件 
dest	本机目录
flat    复制文件时,不复制文件的路径,只复制文件本身
6.file:设置文件的属性
path    指定文件名称     
state   指定操作状态 
7.unarchive:解压缩
copy	默认为yes,从ansible主机复制文件到受控主机,设定为no,从受控主机中寻找src源文件
remote_src	功能同copy相反,设定为yes,表示包在受控主机,设定为no表示包在ansible主机
src		包路径,可以使ansible主机也可以使受控主机
dest	受控主机目录
mode	加压后文件权限
8.archive
path ##打包目录名称
dest ##声称打包文件名称
format ##打包格式
owner ##指定文件所属人
mode ##指定文件权限

command模块:
在远程主机执行命令,该模块为默认模块。

chdir	执行命令前先进入到指定目标
cmd	运行命令指定
creates	如果文件存在将不运行
removes	如果文件存在将运行
free_form	在远程主机中执行的命令,此参数不需要加

查看command模块的常用参数:
在这里插入图片描述
chdir表示进入到目录进行操作:
在这里插入图片描述
在这里插入图片描述
removes表示如果文件存在,就运行后面的指令。如果文件不存在,则不运行后面的命令:
在这里插入图片描述
creates表示如果文件存在就不运行,不存在就运行:
在这里插入图片描述
在受控主机中查看,发现文件file:
在这里插入图片描述
shell:
功能和command功能类似,可以实现在远程主机执行命令。

chdir	执行命令前先进入到指定目标
cmd	运行命令指定
creates	如果文件存在将不运行
removes	如果文件存在将运行
free_form	在远程主机中执行的命令,此参数不需要加
executable	指定运行环境,默认为sh

查看shell模块常用参数:
在这里插入图片描述
可见,基本与command模块类似。
executable指定运行环境,可见默认使用/bin/sh:
在这里插入图片描述
指定运行环境,将默认的/bin/sh改为/bin/bash然后查看:
在这里插入图片描述
script:
功能为将ansible主机中写好的脚本在受控主机中执行。
查看script模块常用参数:
在这里插入图片描述
编写一个脚本,将在ansible主机中写好的脚本在受控主机中执行:
在这里插入图片描述
在这里插入图片描述
copy:
功能为从ansible主机复制文件到受控主机。

参数	含义
src	源文件
dest	目的地文件
owner	指定目的地文件所有人
group	指定目的地文件的所有组
mode	指定目的地文件权限
backup=yes	当受控主机中存在文件时备份源文件
content	指定文本内容直接在受控主机中生成文件

将本机的/mnt/test文件复制到受控主机的/mnt下:
在这里插入图片描述
受控主机查看:
在这里插入图片描述
不传文件,直接传文本,并且更改文件拥有者和拥有组为root:
在这里插入图片描述
受控主机中查看,可见默认是不换行的,需要添加\n换行符:
在这里插入图片描述
fetch:
功能为从受控文件把文件复制到ansible主机,但不支持目录。

 参数	含义
src	受控主机的源文件
dest	本机目录
flat	基本名称功能

在这里插入图片描述
在这里插入图片描述

ansible westos -m fetch -a 'src=/etc/hostname dest=/mnt/westos flat=yes'
ansible westos -m fetch -a 'src=/etc/hostname dest=/mnt/westos'
有flat参数,表示westos是一个文件而不是目录,没有flat参数表示test是一个目录而不是文件。

file:
设置文件的属性。

参数		含义
path	指定文件名称
state 指定操作状态	
touch	建立
absent	删除
directory	建立目录
link	建立链接
hard	建立硬链接
mode	设定权限
owner	设定文件用户
group	设定文件组
src	源文件
dest	目标文件
recurse=yes	递归更改

1.清空/mnt中的内容,方便观察实验效果:
在这里插入图片描述
2.path指定文件名称,state指定操作状态为建立,该命令表示建立/mnt/westos文件:
在这里插入图片描述
3.path指定文件名称,state指定操作状态为absent删除,该命令表示删除/mnt/westos文件:
在这里插入图片描述

4.删除后查看/mnt,发现没有文件:
在这里插入图片描述
5.path指定名称,state指定操作状态为directory,表示建立/mnt/westos目录:
在这里插入图片描述
成功建立:
在这里插入图片描述6.建立文件westosfile,权限为777,拥有者为westos:
在这里插入图片描述
查看westosfile文件权限信息;
在这里插入图片描述
7.源文件为westosfile,目标文件为westos,建立软链接,注意源文件westosfile一定要存在。
软链接成功建立:
在这里插入图片描述
8.recurse=yes参数,表示递归更改:

在这里插入图片描述
lr递归查看:
在这里插入图片描述
9.建立硬链接:
在这里插入图片描述
unarchive:
功能为解压缩。
常用参数:

参数				含义
copy	默认为yes,从ansible主机复制文件到受控主机;设定为no表示从受控主机寻找src源文件
remote_src	功能通copy相反,两个中选一个使用即可;设定为yes表示包在受控主机;设定为no表示包在ansible主机
src	包路径,可以使用ansible主机也可以使用受控主机
dest	受控主机目录
mode	加压后文件权限

1.将etc中的内容打包为/mnt/westos.tar.gz:
在这里插入图片描述
打包完成后,查看打包文件:

在这里插入图片描述
2.src代表ansible主机中的路径,dest表示受控主机目录,以777权限解压到受控主机的/mnt下:
在这里插入图片描述
在这里插入图片描述
查看受控主机的/mnt:
在这里插入图片描述
archieve:
功能为压缩
常用参数:

参数	含义
path	打包目录名称
dest	生成打包文件名称
format	打包格式
owner	指定文件所属人
mode	指定文件权限

1.将受控主机中的/mnt内容删除,搭建实验环境:
在这里插入图片描述
2.将ansible主机的/etc下的内容打包到受控主机的/mnt中:
在这里插入图片描述
3.查看受控机的/mnt,发现生成了压缩包:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值