运维实操——ansible(二)管理的方式、命令运行方式及常用参数、颜色代表信息、常用模块command、shell、script、copy、fetch、file、archive、unarchive

1、ansible实现管理的方式

(1)Ad-Hoc,利用ansible命令直接完成管理,主要用于临时命令使用场景,前面已经演示。
显示模块帮助的指令
ansible-doc -l 列出所有模块
ansible-doc 名称 列出指定模块
ansible-doc -s 简要列出指定模块
在这里插入图片描述
(2)playbook,ansible脚本,主要用于大型项目场景,需要前期的规划
编写test.yaml,执行test.yaml
在这里插入图片描述

2、ansible命令运行方式及常用参数

-v显示详细信息
在这里插入图片描述
-k是指定ssh的密钥,-u指定远程执行的用户
在这里插入图片描述
预执行检测
在这里插入图片描述
--bocome在远程主机中,执行命令时使用sudo调用
--become-user=root,sudo调用命令时,用到的用户身份
-K是sudo的执行密钥,

3、ansible的基本颜色代表信息

绿色,执行成功但为对远程主机做任何改变
黄色,执行成功并对远程主机做改变
红色,执行失败
在这里插入图片描述

4、ansible中的常用模块

(1)command

功能为在远程主机执行命令,此模块为默认模块,常用参数有

chdir执行命令前先进入到指定目录
removes存在运行
create存在不运行

进入mnt,创建文件file1file2file3
在这里插入图片描述
成功创建
在这里插入图片描述
/mnt/file5文件存在时,运行后面的删除指令,没有执行
/mnt/file1文件存在时,运行后面的删除指令,成功运行
在这里插入图片描述
/mnt/file1文件存在时,不运行后面的指令。第一条因为/mnt/file1文件不存在,执行创建文件。第二条因为/mnt/file1文件存在,不执行删除文件。
在这里插入图片描述

(2)shell

shell和command功能类似,主要有两点不同

  • shell中支持通配符* ,command不支持通配符*
    如下图,command中无法删除/mnt,shell中可以删除/mnt
    在这里插入图片描述
  • shell多了executable模块
    默认使用的执行环境为sh,加入executable模块,可以指定执行环境为bash
    在这里插入图片描述

(3)script

功能为指定脚本在被控主机中运行
为了方便操作,现在只留了200为受控主机
在这里插入图片描述
使用script模块,受控机执行test.sh脚本
在这里插入图片描述

(4)copy

从ansible主机复制文件到受控主机

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

使用copy模块,从ansible主机复制test.sh文件到被控主机的/mnt/test.sh文件,拥有者为westos,权限为755
在这里插入图片描述
进入受控机,查看文件权限为755,拥有者为westos
在这里插入图片描述
修改test.sh文件,再次执行copy模块,添加backup参数,可以备份之前的同名文件
在这里插入图片描述
查看,之前的文件备份了,接受了新的文件
在这里插入图片描述
copy模块,还可以直接输入文件内容,发给受控主机的/mnt/westos文件
在这里插入图片描述
受控主机的westos文件的内容的确是hello word
在这里插入图片描述

(5)fetch

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

src受控主机的源文件
dest本机目录
flat基本名称功能,单纯只要文件,不要路径的层层目录

使用fetch模块,从受控主机复制/etc/sysconfig/network-scripts/ifcfg-ens3文件到ansible主机的lee用户的家目录,可以看到层层的子目录也复制过来了。
在这里插入图片描述
多加flat参数,表示只要这个文件,不要层层目录
在这里插入图片描述

(6)file

受控主机的文件管理,设置文件的属性

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

使用file模块,受控主机建立/mnt/westosfile文件
在这里插入图片描述
已建立westosfile文件
在这里插入图片描述
受控主机建立westosdir目录
在这里插入图片描述
已建立westosdir目录
在这里插入图片描述
设定westosfile文件的拥有者为westos
在这里插入图片描述
成功设定westosfile文件的拥有者为westos
在这里插入图片描述
设定westosdir目录的组为westos
在这里插入图片描述
成功设定westosdir目录的组为westos
在这里插入图片描述
建立层级文件westosdir/westosfile
在这里插入图片描述

设定westosdir目录的组为devops,并设定westosdir目录下的文件的组为devops
在这里插入图片描述
成功设定westosdir目录以及里面的文件的组为devops
在这里插入图片描述
用westosfile文件,创建受控主机的linuxfile软连接
在这里插入图片描述
查看软连接
在这里插入图片描述
用westosfile文件,创建受控主机的hahafile硬连接
在这里插入图片描述
查看硬连接,编号一样
在这里插入图片描述
删除受控主机的linuxfile文件
在这里插入图片描述
已成功删除受控主机的linuxfile文件
在这里插入图片描述
删除受控主机的westosdir目录
在这里插入图片描述
已成功删除受控主机的westosdir目录
在这里插入图片描述

(7)archive

压缩

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

使用archive模块,受控主机把/etc打包为etc.tar.gz压缩包,格式为gz格式
在这里插入图片描述
查看etc.tar.gz压缩包
在这里插入图片描述
受控主机把/etc打包为etc.tar.bz2压缩包,格式为bz2格式,权限为755,拥有者为westos,组为devops
在这里插入图片描述
查看etc.tar.bz2,权限为755,拥有者为westos,组为devops
在这里插入图片描述

(8)unarchive

解压缩

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

首先在ansible主机创建压缩包
在这里插入图片描述
使用ansible主机的压缩包(可以使用相对路径),解压到受控主机的/media下
在这里插入图片描述
解压成功
在这里插入图片描述
使用ansible主机的压缩包,解压到受控主机的/media下,解压后文件权限为700,拥有者为westos
在这里插入图片描述
查看解压后文件权限为700,拥有者为westos
在这里插入图片描述
删除ansible主机的压缩包,使用受控主机的压缩包(绝对路径),解压到受控主机的/media下,解压后文件权限为700,拥有者为devops
在这里插入图片描述
解压后目录中的文件权限为700,拥有者为devops
在这里插入图片描述

(9)hostname

作用为修改主机名称
修改受控主机的主机名称为westos_node2
在这里插入图片描述
成功修改
在这里插入图片描述
恢复受控主机的主机名称为westos_node1
在这里插入图片描述
修复成功
在这里插入图片描述
还有更多模块,在下一篇文章介绍

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值