Linux系统安装ansible

embedded/2024/10/22 16:39:09/

安装ansible

yum install epel-release -y
yum install ansible -y#检查是否安装成功
ansible --version

检测ansible是否与其他机器连通

#需要先在/etc/ansible/hosts文件中进行配置
#并且需要配置免密登录#检测自己本机是否正常
ansible localhost -m ping 
#检测与主机host1是否连通
ansible host1 -m ping
#检测与主机host2是否连通,并使用-o简介输出
ansible host2 -m ping -o
#没有配置免密登录可以使用这种方式,手动输入密码
ansible host1 -m ping -o -u root -k

ansible配置文件/etc/ansible/hosts中配置组(可以配置多个组)

#下面配置表示主机host1和主机host2在同一个组testserver中
[testserver]
host1
host2
[webserver]
host3
#尝试是否连通
ansible testserver -m ping
#如果没有配置免密登录,需要在/etc/ansible/hosts中配置ssh登录的用户和密码
host1 ansible_ssh_user='root' ansible_ssh_pass='123456'
#也可以添加端口
host1 ansible_ssh_user='root' ansible_ssh_pass='123456' ansible_ssh_port='2222'
#使用正则代表host1-host4一共四台主机
host[1:4] ansible_ssh_user='root' ansible_ssh_pass='123456'#组变量
#在/etc/ansible/hosts文件中定义组
[webserver]
host1
host2
host3
#定义组变量,组变量需要以组名跟上:vars定义   定义的变量对组内所有主机都生效
[webserver:vars]
ansible_ssh_user='root'
ansible_ssh_pass='123456'

使用指定的hosts主机文件

#使用hostlist文件作为ansible主机文件
ansible -i hostlist -m ping 

copy模块

#下面这条模块的作用是将/root/test.txt文件拷贝到testserver组中所有主机的/tmp路径下文件名为123.txt,所有者为root,所属组为root  权限为777
ansible testserver -m copy -a 'src=/root/test.txt dest=/tmp/123.txt owner=root group=root mode=777'
#backup=yes的作用,目标主机上若已存在该文件,且文件内容没有改变,则不会执行拷贝。若文件发生变化,则会将目标主机上的文件进行备份后执行拷贝模块
ansible testserver -m copy -a 'src=/root/test.txt dest=/tmp/123.txt owner=root group=root mode=777 backup=yes'

yum模块

#下面这条模块的作用是为testserver组中所有的主机安装telnet模块
ansible testserver -m yum -a 'name="telnet" state=latest'

service模块

#启动testserver组中所有主机上的httpd服务,并设置为开机启动
ansible testserver -m service -a 'name=httpd state=started enable=yes'
#state还可以设置为stopped restarted   enable还可以设置为no

file模块

#在testserver组中所有主机上的/tmp目录下创建文件test.txt
ansible testserver -m file -a 'path=/tmp/test.txt mode=777 state=touch'
#在testserver组中所有主机上的/tmp目录下创建目录aaa
ansible testserver -m file -a 'path=/tmp/aaa mode=777 state=directory'
#删除文件和目录使用absent
ansible testserver -m file -a 'path=/tmp/aaa mode=777 state=absent'

setup模块

#使用setup可以收集其他主机上的信息
#查看host1主机上的所有信息
ansible host1 -m setup
#查看host1主机上的IP地址,使用filter对信息进行过滤
ansible host1 -m setup -a 'filter=ansible_all_ipv4_addresses'

fetch模块

#从远程主机获取文件到本地
#将host1主机上的/tmp/fetch.txt文件,保存到本地的/root/host1/tmp/fetch.txt路径下
ansible host1 -m fetch -a 'src=/tmp/fetch.txt dest=/root'

cron模块

#给远程主机设置定时任务
#每隔一分钟执行一次/root/check.sh脚本,将执行结果输出到/dev/null
ansible host1 -m cron -a 'name="check environment" minute="*/1" job="/bin/bash /root/check.sh &> /dev/null"'

script模块

#到远程主机上执行脚本
#将ansible机器上当前目录下的script.sh,到testserver组中所有的机器上去执行
ansible testserver -m script -a './script.sh'

shell模块

#到远程主机上执行命令
#查看远程主机的时间
ansible testserver -m shell -a "date"

http://www.ppmy.cn/embedded/5386.html

相关文章

Script file ‘D:\Anaconda\Scripts\pip-script.py‘ is not present.

报错解释: 这个错误表明系统尝试执行的脚本文件 D:\Anaconda\Scripts\pip-script.py 不存在。这通常发生在尝试使用 pip 时,但 pip 没有正确安装或者路径设置不正确时。 解决方法: 确认 pip 是否已经安装在 Anaconda 中。可以通过 Anaconda…

畅游网络:构建C++网络爬虫的指南

概述 随着信息时代的来临,网络爬虫技术成为数据采集和网络分析的重要工具。本文旨在探讨如何运用C语言及其强大的cpprestsdk库构建一个高效的网络爬虫,以便捕捉知乎等热点信息。为了应对IP限制的挑战,我们将引入亿牛云爬虫代理服务&#xff…

k8s高可用集群部署介绍 -- 理论

部署官网参考文档 负载均衡参考 官网两种部署模式拓扑图和介绍 介绍两种高可用模式 堆叠 拓扑图如下(图片来自k8s官网): 特点:将etcd数据库作为控制平台的一员,由于etcd的共识算法,所以集群最少为3个&…

(2022级)成都工业学院数据库原理及应用实验五: SQL复杂查询

写在前面 1、基于2022级软件工程/计算机科学与技术实验指导书 2、成品仅提供参考 3、如果成品不满足你的要求,请寻求其他的途径 运行环境 window11家庭版 Navicat Premium 16 Mysql 8.0.36 实验要求 在实验三的基础上完成下列查询: 1、查询医生…

学习 Rust 的第四天:基本编程概念学习

嘿,大家好! 欢迎来到 Rust 学习的第四天,我参考的是 Steve Klabnik 的《Rust 编程语言》一书。昨天我们做了一个 [猜数字游戏](https://blog.csdn.net/Tory2/article/details/137764707?spm1001.2014.3001.5501),今天我们将深入…

基于SpringBoot的“商务安全邮箱”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“商务安全邮箱”的设计与实现(源码数据库文档PPT) 开发语言:Java 数据库:MySQL 技术:SpringBoot 工具:IDEA/Ecilpse、Navicat、Maven 系统展示 系统功能结构 收件箱效果图 草稿箱效果图 已发送…

AOP基础

一、AOP概述 AOP:Aspect Oriented Programming(面向切面编程、面向方面编程),其实就是面向特定方法编程。 使用场景:①记录操作日志;②权限控制;③事务管理等。 优势:①代码无侵入…

redis7 源码调试 服务端处理客户端./redis-cli连接 指令执行过程

redis7 源码调试 服务端处理客户端./redis-cli连接 指令执行过程 ##redis-cli客户端发起 ./redis-cli 客户端连接 指令 ##redis网络请求 1、AE_READABLE事件 2、客户端fd 3、创建文件事件 4、添加客户端cfd读写事件 5、处理读事件AE_READABLE 6、回调函数处理连接请求 rea…