Ansible的安装与基础命令的使用

Ansible

Ansible 是一个开源的自动化工具,用于配置管理、应用部署和任务自动化。它由 Michael DeHaan 于 2012 年创建,后来被 Red Hat 收购。Ansible 的设计理念是简单易用,不需要在受管节点上安装任何代理软件,它通过 SSH(Secure Shell)来执行任务。

Ansible 的安装

注控制端为192.168.20.60,被控端为192.168.20.10和192.168.20.20

yum install -y epel-release	
yum install -y ansible

在这里插入图片描述
安装完成,修改配置文件

vim /etc/ansible/hosts

在最底下添加
[web1]
192.168.20.10
[web2]
192.168.20.20
在这里插入图片描述
在控制端生成SSH密钥

yum install -y sshpass
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
sshpass -p '123' ssh-copy-id -o StrictHostKeyChecking=no root@192.168.20.10
sshpass -p '123' ssh-copy-id -o StrictHostKeyChecking=no root@192.168.20.20

在这里插入图片描述
使用

#使用命令查看控制端和服务端是否联通
ansible web1 -m ping 
ansible web2 -m ping 

在这里插入图片描述

Ansible 基础模块的使用

1.command模块
在远程主机执行命令,不支持管道,重定向等shell的特性。

ansible web1 -m command -a 'ls /'

在这里插入图片描述

ansible web1 -m command -a 'cat /etc/passwd'

在这里插入图片描述
2.shell模块
在远程主机执行命令,相当于调用远程主机的shell进程,然后在该shell下打开一个子shell运行命令持管道符号等功能
例如

ansible web1 -m shell -a 'echo test web1 >  /opt/test.txt'
ansible web1 -m shell -a 'cat /opt/test.txt '

在这里插入图片描述

ansible web1 -m shell -a  'echo $(ifconfig ens33|awk "NR==2 {print $2}")'

在这里插入图片描述
3.cron模块

ansible web2 -m cron -a 'minute=""      job=""             name=" " '# 设置时间     # job指定命令路径     #任务名字
ansible web1 -m cron -a 'minute="*/1" job="/bin/echo test1" name="test1" 

每分钟echo一条test1
在这里插入图片描述

在这里插入图片描述

ansible web1 -m cron -a 'name="test1" state=absent'

在这里插入图片描述
在这里插入图片描述
定时任务已经被删除了

4.user模块
常用的参数:
name:用户名,必选参数
state=present|absent:创建账号或者删除账号,present表示创建,absent表示删除
system=yes|no:是否为系统账号
uid:用户uid
group:用户基本组
groups: 用户所属附加组
shell:默认使用的shell
create_home=yse|no: 是否创建家目录
password:用户的密码,建议使用加密后的字符串
remove=yes|no:当state=absent时,是否删除用户的家目录

创建有个名字为test1的用户

ansible web1 -m user -a 'name="test1"'

在这里插入图片描述
可以看到test1 用户的UID号是1001家目录是/home/test1

在这里插入图片描述

 cat /etc/passwd | awk -F: '{print $1}'

在这里插入图片描述

删除用户test1不删除家目录

ansible web1 -m user 'name="test1" state="absent"'

在这里插入图片描述
在这里插入图片描述
test1用户已经被删除了但是用火狐的家目录并没有被删除
在这里插入图片描述
创建test2用户

ansible web1 -m  user  -a 'name="test2"'

在这里插入图片描述
在这里插入图片描述
删除test2并且删除test2的家目录

ansible web1 -m user -a 'name="test2"  state="absent"  remove="yes" '

在这里插入图片描述

在这里插入图片描述
删除成功
5.group模块
创建名字为mysql的组

ansible web1 -m group -a 'name=mysql '

在这里插入图片描述
向创建的组中添加用户

ansible web1 -m user -a 'name=test3 uid=1002 system=yes group=mysql'

在这里插入图片描述
6.copy模块
用于复制指定主机文件到远程主机的
常用的参数:
dest:指出复制文件的目标及位置,使用绝对路径,如果源是目录,指目标也要是目录,如果目标文件已经存在会覆盖原有的内容
src:指出源文件的路径,可以使用相对路径或绝对路径,支持直接指定目录,如果源是目录则目标也要是目录
mode:指出复制时,目标文件的权限
owner:指出复制时,目标文件的属主
group:指出复制时,目标文件的属组
content:指出复制到目标主机上的内容,不能与src一起使用
在这里插入图片描述
我要将PE工具箱这个文件远程传输给web1组

ansble web1 -m copy -a 'src=/opt/PE工具箱V2.3.zip dest=opt mode=644'

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

7.file模块
设置文件属性
创建文件

ansible web1 -m file 	'path=/opt/test2   state=touch'

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

ansible web1 -m file  -a 'path=opt/PE工具箱V2.3.zip state=absent'

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

8.hostname 模块
可以更改主机名字

将主机名字改成hostweb1

ansible web1 -m hostname  -a 'name=hostweb1'

在这里插入图片描述

在这里插入图片描述
9.ping 模块
检测远程主机的连通性

ansible web1 -m ping 

在这里插入图片描述

ansible all -m ping 

在这里插入图片描述
10.yum模块
安装软件

ansible web1 -m yum -a 'name=php'

在这里插入图片描述

在这里插入图片描述
安装成功

11service/systemd模块
启动服务

 ansible web1 -m service -a ' name=httpd  state=started'

在这里插入图片描述
查看服务器状态

ansible web1 -a 'systemctl status httpd'	

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/7014.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WINDOWS配置IIS

1.安装IIS 1.1.打开启用Windows功能 打开“控制面板” > “程序和功能” > “启用或关闭 Windows 功能”。 1.2.启用IIS功能 打开“控制面板” > “程序和功能” > “启用或关闭 Windows 功能”。 勾选“Internet Information Services”,然后点击“确定…

vs配置cplex12.10

1.创建c空项目 2.修改运行环境 为release以及x64 3.创建cpp文件 4.鼠标右键点击项目中的属性 5.点击c/c,点击第一项常规,配置附加库目录 5.添加文件索引,主要用于把路径导进来 6.这一步要添加的目录与你安装的cplex的目录有关系 F:\program…

NFS共享存储服务配置实践

一、NFS 1.NFS定义 NFS(Network File System)网络文件服务:基于TCP/IP传输的网络文件系统协议,NFS服务的实现依赖于RPC(Remote Process Call)远端过程调用:通过使用NFS协议,客户机…

机器学习——3.梯度计算与梯度下降

基本概念 梯度的本意是一个向量(矢量),表示某一函数在该点处的方向导数沿着该方向取得最大值,即函数在该点处沿着该方向(此梯度的方向)变化最快,变化率最大(为该梯度的模&#xff0…

Vue、React实现excel导出功能(三种实现方式保姆级讲解)

第一种:后端返回文件流,前端转换并导出(常用,通常公司都是用这种方式) 第二种:纯后端导出(需要了解) 第三种:纯前端导出(不建议使用,数据处理放…

【CTF MISC】XCTF GFSJ0512 give_you_flag Writeup(图像处理+QR Code识别)

give_you_flag 菜狗找到了文件中的彩蛋很开心,给菜猫发了个表情包 解法 图片的最后一帧好像闪过了什么东西。 用 Photoshop 打开,检查时间轴。 找到一张二维码,但是缺了三个角(定位图案),无法识别。 找一…

从简单逻辑到复杂计算:感知机的进化与其在现代深度学习和人工智能中的应用(上)

文章目录 引言第一章:感知机是什么第二章:简单逻辑电路第三章:感知机的实现3.1 简单的与门实现3.2 导入权重和偏置3.3 使用权重和偏置的实现实现与门实现与非门和或门 文章文上下两节 从简单逻辑到复杂计算:感知机的进化与其在现代…

[开发|鸿蒙] 鸿蒙OS开发环境搭建(笔记,持续更新)

搭建开发环境流程: https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V2/installation_process-0000001071425528-V2 鸿蒙DevEco Studio 3.1.1 Release仅支持windows和mac系统 运行环境要求 为保证DevEco Studio正常运行,建议电脑配置…

16_Scala面向对象编程_函数

文章目录 1.声明Scala函数2.访问伴生对象3.空对象直接用的方法4.构造对象--通过object获取单例对象--直接new--scala独有apply()方式--scala有参构造--scala构造方法两大类使用辅构造如下上述代码主构造为辅助构造方法甚至可以多个多个辅助构造形参内容不能重不使用辅助构造和使…

[leetcode] 64. 最小路径和

文章目录 题目描述解题方法动态规划java代码复杂度分析 相似题目 题目描述 给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。 说明:每次只能向下或者向右移动一步。 示例 1&#…

有什么好用的思维导图软件?6个软件教你快速进行思维导图的制作

有什么好用的思维导图软件?6个软件教你快速进行思维导图的制作 以下是六款常用且功能强大的思维导图软件,它们可以帮助您快速制作思维导图: 迅捷画图: 迅捷画图是一款在线思维导图工具,具有直观易用的界面和丰富的功能。用户可…

武汉星起航:策略升级,亚马逊平台销售额持续增长显实力

武汉星起航电子商务有限公司,一家致力于跨境电商领域的企业,于2023年10月30日在上海股权托管交易中心成功挂牌展示,这一里程碑事件标志着公司正式踏入资本市场,开启了新的发展篇章。公司董事长张振邦在接受【第一财经】采访时表示…

Layer1 公链竞争破局者:Sui 生态的全面创新之路

随着 Sui 生态逐渐在全球范围内树立起声望,并通过与 Revolut 等前沿金融科技平台合作,推广区块链教育与应用,Sui 生态的未来发展方向已成为业界瞩目的焦点。如今,Sui 的总锁定价值已攀升至 5.93 亿美元,充分展示了其在…

考虑需求响应的微网优化调度模型【粒子群算法】【matlab】

目录 1 主要内容 1.1 模型约束条件 1.2 粒子群算法优化过程 2 部分代码 3 效果图 4 下载链接 1 主要内容 该模型构建了考虑需求响应的微电网优化调度模型,并采用粒子群算法(PSO)进行优化求解,模型主体有储能、风电、光伏、微…

兄弟Brother数控机床网络IP配置设置教程

1、进入通讯参数页面 首先按下面板的数据库按钮: 按F6,选择通信参数: 2、调整网络和远程访问参数 数据改写(从属)从否改为是,远程操作从无效改为有效: 更改ip地址、网关、子网掩码等&#xff…

pcm转MP3怎么转?只需3个步骤~

PCM(Pulse Code Modulation)是一种用于数字音频编码的基础技术,最早起源于模拟音频信号数字化的需求。通过PCM,模拟音频信号可以被精确地转换为数字形式,为数字音频的发展奠定了基础。 MP3文件格式的多个优点 MP3的优…

LeetCode-741. 摘樱桃【数组 动态规划 矩阵】

LeetCode-741. 摘樱桃【数组 动态规划 矩阵】 题目描述:解题思路一:动态规划,定推初遍举。解题思路二:倒序循环解题思路三:0 题目描述: 给你一个 n x n 的网格 grid ,代表一块樱桃地&#xff0…

git/gerrit使用遇到的问题

Push时出现的多个问题及其解决 branch【...】not found 这个错误通常出现在 Git 命令中指定的分支名称中包含特殊字符或者语法错误时。需要确保指定的分支名称是正确的,并且没有任何不支持的字符。 例如,如果分支名称是 feature/branch,应该…

软件系统安全设计规范(word原件)

1.1安全建设原则 1.2 安全管理体系 1.3 安全管理规范 1.4 数据安全保障措施 1.4.1 数据库安全保障 1.4.2 操作系统安全保障 1.4.3 病毒防治 1.5安全保障措施 1.5.1实名认证保障 1.5.2 接口安全保障 1.5.3 加密传输保障 1.5.4终端安全保障 软件资料清单列表部分文档…

亚马逊云科技产品测评:玩转云服务器(EC2)

文章目录 📑引言一、亚马逊发展历史介绍二、云服务器资源地域分布三、云服务器实例规格四、EC2计费模式五、亚马逊免费EC2领取 📑引言 亚马逊:世界上最大的云服务器提供商 亚马逊云科技 是由亚马逊公司提供的一系列云计算服务。它提供了弹性计…