Linux学习笔记-----Ansible常用模块

一、 ansible实现管理的方式

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

二、Ad-Hoc执行方式中如何获得帮助

ansible-doc	##显示模块帮助的指令
-l		##列出可用模块
-s		##显示指定模块的playbook片段

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

三、ansible常用命令

	--version	##显示版本
	-m module	##指定模块,默认为command模块
	-v			##详细过程 -vv -vvv更详细过程
	--list		##显示主机列表,也可以用--list-hosts
	-k			##提示输入ssh连接密码,默认key认证
	-C			##预执行检测
	-T			##执行命令的超时时间,默认10s
	-u			##指定远程执行的用户
	-b			##执行sudo切换身份操作(相当于ansible.cfg中的become参数)
	-become-user=USERNAME	##指定sudo的用户
	-K			##提示输入sudo密码(相当于ansible.cfg中的become_ask_pass参数)

在这里插入图片描述执行检测
在这里插入图片描述

四、常用模块

1.command

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

#实例
	ansible all -m command -a "useradd lee" -u root -k
	ansible all -m command -a "userdel -r lee" -u root -k
	ansible all -m command -a "chdir=/etc cat passwd " -u root -k
	ansible all -m command -a "chdir=/etc creates=/etc/passwd cat passwd " -u root -k 
	ansible all -m command -a "chdir=/etc removes=/etc/passwd cat passwd " -u root -k

添加用户
在这里插入图片描述
删除用户

在这里插入图片描述
添加新文档

ansible all -m command -a 'chdir=/mnt touch /mnt/file{1..3}'

在这里插入图片描述若文件存在,则跳过
在这里插入图片描述

2.script模块

在ansible主机中写好的脚本在受控主机中执行
	ansible-doc -s script  查看帮助
- 实例
-	vim /mnt/westos.sh
-		#!/bin/bash
-		echo $HOSTNAME
-
-	ansible all -m script -a "/mnt/westos.sh" -k

3.copy模块

-	src			##源文件
-	dest		##目的地文件
-	owner		##指定目的地文件所有人
-	group		##指定目的地文件所有组
-	mode		##指定目的地文件权限
-	backup=yes	##当受控主机中存在文件时备份原文件(传送的文件名字和已有文件名字和冲突时)
-	content		##指定文本内容直接在受控主机中生成文件

- 实例
-	ansible all -m copy -a "src=/root/westos dest=/mnt/westos  owner=lee mode=777 backup=yes"
-	ansible all -m copy -a "content='hello westos\nhello linux\n' dest=/mnt/west

复制并查看结果
在这里插入图片描述在这里插入图片描述
当受控主机中存在文件时备份原文件(传送的文件名字和已有文件名字和冲突时)

在这里插入图片描述指定文本内容直接在受控主机中生成文件
在这里插入图片描述在这里插入图片描述

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	##递归,相当于-R参数

6.archive模块

压缩文档

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

压缩文件并指定用户和用户组
在这里插入图片描述在这里插入图片描述

7.unarchive模块

解压缩

-	copy		##默认为yes 从ansible主机复制文件到受控主机
				##设定为no  从受控主机中寻找src源文件
-	remote_src	##功能同copy且相反
				##设定为yes 表示包在受控主机(包为压缩包)
				##设定为no表示包在ansible主机
-	src			##包路径,可以使ansible主机也可以使受控主机
-	dest		##受控主机目录
-	mode		##加压后文件权限
-	owner
-	group
-	list_files  ##显示压缩的文件列表信息

8.cron模块

计划任务

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

state		##absent 删除计划任务

禁用计划任务
在这里插入图片描述启用计划任务
在这里插入图片描述废弃计划任务
在这里插入图片描述

9.yum_repository模块

配置系统软件仓库源文件

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

在受控主机node1搭建仓库

在这里插入图片描述
在node1查看

在这里插入图片描述

10.dnf模块

管理系统中的dnf仓库及管理软件

    name		##指定包
	state		##指定动作
				#present	安装
				#latest		更新(安装最新版或者更新到最新版)
				#absent		删除
	list		##列出指定信息
				# httpd	
				# installed
				# all
				# available
	disable_gpg_check   ##禁用gpgkey检测
	enablerepo			##指定安装包来源
	disablerepo			##禁用安装包来源
	autoremove=yes|no  ##yes卸载全部依赖,默认为no

列出node1指定信息
在这里插入图片描述安装httpd禁用AppStream仓库,发现已安装
在这里插入图片描述卸载httpd并删除所有依赖性
在这里插入图片描述

11.service模块

管理系统服务状态

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

12.group模块

可以帮助我们管理远程主机上的组

-	name		##用于指定要操作的组名称。
-	state		##用于指定组的状态
-				#present	建立
-				#absent		删除
-	gid			##用于指定组的gid。
- 	system    yes|no   ##默认为no,=yes时创建一个系统组

12.user模块

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

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

添加testuser
在这里插入图片描述
删除用户并一并删除家目录下用户文件

在这里插入图片描述
重新建立testuser并添加组

在这里插入图片描述
node1查看用户idid testuser
在这里插入图片描述
添加用户注释和默认shell信息,修改uid
在这里插入图片描述
openssl passwd -6生成密码加密字符,为该用户添加加密密码
在这里插入图片描述
cat /etc/shadow查看添加的密码

在这里插入图片描述

13.lineinfile模块

更该文件

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

建立westosfile并添加内容

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

在这里插入图片描述
替换文本,并设置无匹配则跳过
在这里插入图片描述

14.replace模块

可以根据我们指定的正则表达式替换文件中的字符串,文件中所有被匹配到的字符串都会被替换

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

15.setup模块

收集远程主机的一些基本信息

-	filter		##用于进行条件过滤。如果设置,仅返回匹配过滤条件的信息
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Linux上安装Ansible Tower,您可以按照以下步骤进行操作: 1. 首先,您需要从Ansible官方网站下载适用于您的系统版本的Ansible Tower安装文件。在您的引用中提到的是ansible-tower-setup-latest.tar.gz文件。确保下载与您的操作系统版本兼容的文件。 2. 解压下载的安装文件。您可以使用以下命令解压tar.gz文件: ``` tar -zxvf ansible-tower-setup-3.7.0-4.tar.gz ``` 3. 进入解压后的目录: ``` cd ansible-tower-setup-3.7.0-4 ``` 4. 修改web参数。您可以使用vim编辑器打开inventory文件,并根据您的需求修改相应的参数。 5. 在安装之前,您需要确保您的系统已经安装了epel仓库。您可以使用以下命令下载并安装epel仓库: ``` cd /etc/yum.repos.d wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm rpm -ivh epel-release-latest-7.noarch.rpm --force yum update -y yum clean all yum makecache ``` 6. 安装Ansible Tower。运行以下命令开始安装: ``` ./setup.sh ``` 7. 安装过程中,您需要按照提示提供必要的配置信息,包括许可证密钥等。 完成这些步骤后,您应该已经成功安装了Ansible Tower。希望这对您有所帮助!<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [ansible-tower-setup-latest.tar.gz](https://download.csdn.net/download/qq_21165007/10291460)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [linux安装ansible-tower](https://blog.csdn.net/icanflyingg/article/details/122958210)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值