[ansible]常用模块

Linux修炼之旅ansible篇

本文对ansible的一些常用模块进行介绍,并进行操作图文演示,下面就开始吧。



一、ansible实现管理的方式

Ad-Hoc

利用ansible命令直接完成管理,主要用于临时命令使用场景
比如 上一章最后部分中的代码
ansible westos -m ping
就属于Ad-Hoc模式

Ad-Hoc执行方式中如何获得帮助
ansible-doc 显示模块帮助的指令
格式

ansible-doc [参数] [模块...]
		-l#列出可用模块
		-s#显示指定模块的playbook片段

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

目前共计有三千多个模块

playbook

ansible脚本,主要用于大型项目场景,需要前期的规划
比如新建一个yml文件
vim westos.yml
在这里插入图片描述ps:此处有严格的缩进格式

测试

在这里插入图片描述ansible命令运行方式及常用参数

格式ansible 清单 -m 模块 -a 模块参数

常用参数

--version #显示版本
-m module #显示版本
-v #指定模块,默认为command模块
--list# 显示主机列表,也可以用--list-hosts
-k #提示输入ssh连接密码,默认key认证
-C #预执行检测
-T #执行命令的超时时间,默认10s
-u#指定远程执行的用户 
-b#执行sudo切换身份操作
-become-user=USERNAM #指定sudo的用户
-K #提示输入sudo密码

结果演示
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
ansible的基本颜色代表信息
绿色
执行成功但为对远程主机做任何改变
黄色
执行成功并对远程主机做改变
红色
执行失败

二、ansible中的常用模块

1 command

功能

在远程主机执行命令,此模块为默认模块

常用参数

chdir #执行命令前先进入到指定目录
cmd #运行命令指定
creates #如果文件存在将不运行
removes #如果文件存在在将运行
free_form #在远程主机中执行的命令,此参数不需要加
#Linux中的很多通配符在command模块中不支持

效果测试
在这里插入图片描述

在这里插入图片描述

2 shell

功能

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

使用方式基本与commond相同,值得注意的是需要指定执行环境,一般默认为sh
在这里插入图片描述

3 script

功能
在ansible主机中写好的脚本在受控主机中执行

使用也很简单
比如
先随便写一个脚本
vim exercise.sh
在这里插入图片描述再在ansibe主机中利用script来执行这个脚本
ansible westos -m script -a "exercise.sh"

在这里插入图片描述

3 copy

功能
从ansible文件复制到受控主机中

常用参数

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

测试效果
在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述

4 fetch

功能
从受控主机把文件复制到ansible主机中,但不支持目录

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

示例
ansible all -m fetch -a "src=/etc/hostname dest=/mnt" -k
在这里插入图片描述

5 file

功能
设置文件的属性
常用参数

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

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

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

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

6 archive

功能
压缩
常用参数

path		#打包目录名称
dest		#声称打包文件名称
format		#打包格式
owner		#指定文件所属人
mode		#指定文件权限

测试
ansible all -m archive -a 'path=/etc dest=/opt/etc.tar.gz format=gz owner=lee mode=700' -k
在这里插入图片描述在这里插入图片描述

7 unarchive

功能
解压缩
常用参数

copy 	#默认为yes 从ansible主机复制文件到受控主机
		#设定为no 从受控主机中寻找src源文件
remote_src	#功能同copy且相反
			#设定为yes 表示包在受控主机
			#设定为no表示包在ansible主机
src			#包路径,可以使ansible主机也可以使受控主机
dest		#受控主机目录
mode		#加压后文件权限 <copy=yes>

测试
ansible all -m unarchive -a “src=/opt/etc.tar.gz dest=/mnt copy=no”
在这里插入图片描述在这里插入图片描述

8 hostname

功能
管理主机名称
常用参数

name		#指定主机名称

在这里插入图片描述测试
域名被修改

在这里插入图片描述

9 cron

功能
计划任务
常用参数

minute		#分钟
hour		#小时		
day			#天
month		#月
weekday		#周
name		#任务名称
job			#任务脚本或命令
disabled	#yes 禁用计划任务
			#no 启动计划任务
state		#absent 删除计划任务

创建定时
在这里插入图片描述停用
在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述

10 yum_repository

功能
配置系统软件仓库源文件
常用参数

name		#指定仓库名称
baseurl		#指定源路径
description	#指定仓库描述
file		#指定仓库文件名称
enabled		#仓库是否启用
gpgcheck	#仓库是否检测gpgkey
state		#默认值present 建立	
			#absent 为删除

在这里插入图片描述
第一条指令为建立仓库配置文件,第二条指令将建立的文件删除
在这里插入图片描述
在这里插入图片描述

11 dnf

功能
管理系统中的dnf仓库及管理软件
常用参数

name		#指定包
state		#指定动作
			#present 安装
			#latest  更新
			#absent  删除
list		##列出指定信
			# httpd
			# installed
			# all
			# available
disable_gpg_check #禁用gpgkey检测
enablerepo	#指定安装包来源
disablerepo	#禁用安装包来源

安装
在这里插入图片描述删除
在这里插入图片描述指定源
在这里插入图片描述
软件更新
在这里插入图片描述

12 service

功能
管理系统服务状态
常用参数

name		#指定服务名称
state		#指定对服务的动作
			#started
			#stoped
			#restarted
			#reloaded
enabled		#设定服务开机是否启动
			#yes开启启动
			#no开机不启动

开启服务
在这里插入图片描述
重启服务
在这里插入图片描述

13 firewalld

功能
设定火墙
常用参数

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

在这里插入图片描述

14 user

功能
模块可以帮助我们管理远程主机上的用户,比如创建用户、修改用户、删除用户、为用户创建密钥对等操作
常用参数

name		#必须参数,用于指定要操作的用户名称。
group		#指定用户所在的基本组。
gourps		#指定用户所在的附加组。
append		#指定添加附加组默认值为no
shell		#指定用户的默认 shell。
uid			#指定用户的 uid 号。
comment		#指定用户的注释信息
state		#用于指定用户是否存在于远程主机
			#present 建立
			#absent  删除
remove		#当删除用户是删除用户家目录,默认值为no
password	#此参数用于指定用户的密码。但密码为明文
			#可以用openssl password -6 '密码'生成加密字符
generate_ssh_key	#生成sshkey

创建用户
在这里插入图片描述
删除用户
在这里插入图片描述添加用户到组
在这里插入图片描述

在这里插入图片描述添加用户到附加组
在这里插入图片描述在这里插入图片描述给用户设定密码

在这里插入图片描述
在这里插入图片描述
生成sshkey(免密)
在这里插入图片描述

15 group

功能
group 模块可以帮助我们管理远程主机上的组。
常用参数

name		#用于指定要操作的组名称。
state		#用于指定组的状态
		#present	建立
		#absent		删除
gid		#用于指定组的gid

创建组
在这里插入图片描述删除
在这里插入图片描述
gid
在这里插入图片描述在这里插入图片描述

16 lineinfile

功能
编辑文档
常用参数

path		#指定要操作的文件
line		#指定文本内容。 "|+" 表示格式化输入
regexp		#使用正则表达式匹配对应的行当替换文本时
			#如果有多行文本都能被匹配
			#则只有最后面被匹配到的那行文本才会被替换	
			#当删除文本时,如果有多行文本都能被匹配
			#这么这些行都会被删除。
state		#当想要删除对应的文本时需要将state参数的值设置为absent	
			#state的默认值为present
backrefs	#当内容无匹配规则时不对文件做任何更改,默认值为no
			#向后引用regexp变量信息
insertafter#借助insertafter参数可以将文本插入到“指定的行”之后
			#insertafter参数的值可以设置为EOF或者正则表达式
insertbefore#借助insertbefore参数可以将文本插入到“指定的行”之前
			#insertbefore参数的值可以设置为BOF或者正则表达式
backup		#是否在修改文件之前对文件进行备份
create		#当要操作的文件并不存在时,是否创建对应的文件

预设文件
写入
在这里插入图片描述
类似地
在这里插入图片描述写入完成

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

在这里插入图片描述backrefs

在这里插入图片描述
在这里插入图片描述在结尾写入
在这里插入图片描述

在这里插入图片描述指定位置写入
在这里插入图片描述在这里插入图片描述开头写入
在这里插入图片描述
在这里插入图片描述

17 replace

功能
replace 模块可以根据我们指定的正则表达式替换文件中的字符串,文件中所有被匹配到的字符串都会被替换
常用参数

path		#指定要操作的文件
regexp		#指定一个正则表达式
			#文件中与正则匹配的字符串将会被替换
replace		#指定最终要替换成的字符串。
backup		#是否在修改文件之前对文件进行备份,最好设置为yes

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

18 setup

功能
setup模块用于收集远程主机的一些基本信息
常用参数

filter		#用于进行条件过滤。如果设置,仅返回匹配过滤条件的信息

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

19 debug

功能
调试模块,用于在调试中输出信息
常用参数

msg:		#调试输出的消息
var:		#将某个任务执行的输出作为变量传递给debug模块
			#debug会直接将其打印输出
verbosity:	#debug的级别(默认是0级,全部显示)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值