Linux系统安装ansible

安装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.mzph.cn/bicheng/17.shtml

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

相关文章

漏洞及漏洞管理

01 漏洞基础 原则上,漏洞是指系统或网络中的一个脆弱点,其可能会被网络犯罪分子利用,以获得未经 授权的访问,从而造成破坏。漏洞利用之后会发生什么呢,谁也说不准——安装恶意软件、 窃取敏感数据、利用恶意代码造成…

【QT进阶】Qt Web混合编程之QWebEngineView基本用法

往期回顾 【QT入门】Qt自定义控件与样式设计之自定义QTabWidget实现tab在左,文本水平的效果-CSDN博客【QT进阶】Qt Web混合编程之CEF、QCefView简单介绍-CSDN博客 【QT进阶】Qt Web混合编程之VS2019 CEF的编译与使用-CSDN博客 【QT进阶】Qt Web混合编程之QWebEngi…

qt 元对象系统及属性系统

Qt元对象系统(QMetaObject) Qt 的元对象系统叫 Meta-Object-System,提供了对象之间通信的信号与槽机制、运行时类型信息和动态属性系统。即使编译器不支持RTTI(RTTI的实现耗费了很大的时间和存储空间,这就会降低程序的性能)&…

URI和URL的区别?

URI(Uniform Resource Identifier,统一资源标识符)和URL(Uniform Resource Locator,统一资源定位符)都是网络上用来识别和定位资源的标准方式,但它们之间存在一些差异。 定义: URI 是一个用于…

MongoDB的安装使用

安装MongoDB(基于docker安装) docker run --restartalways -d --name mongo -v /opt/mongodb/data:/data/db -p 27017:27017 mongo:4.0.6MongoDB的客户端可以从这里下载(可能会404) https://www.mongodb.com/zh-cn/products/tool…

node.js-fs模块、path模块

fs模块-读写文件 模块:类似插件,封装了方法/属性 fs模块:封装了与本机文件系统进行交互的,方法/属性 语法: 1)加载fs模块对象 const fsrequire(fs)//fs 是模块标识符:模块的名字 2&#x…

文献学习-38-用于增量组织病理学分类的内存高效提示调整

​ Memory-Efficient Prompt Tuning for Incremental Histopathology Classification Authors: Yu Zhu, Kang Li, Lequan Yu, Pheng-Ann Heng Source: The Thirty-Eighth AAAI Conference on Artificial Intelligence (AAAI-24) ​​ Abstract 最近的研究在组织病理学分类方面…

Python教学入门:流程控制

条件语句(if 语句): 条件语句用于根据条件的真假执行不同的代码块。 x 10if x > 0: # 如果 x 大于 0print("x 是正数") # 输出:x 是正数 elif x 0: # 如果 x 等于 0print("x 是零") else: # 如果以…

Python教程:一文了解Python工厂模式

在软件开发中,一种常见的需求是根据不同条件创建不同类型的对象。工厂模式就是为了解决这个问题而设计的。它提供了一种灵活的方式来创建对象,同时将客户端代码与具体的对象类型解耦,从而使得系统更易于维护和扩展。 1.什么是工厂模式&#x…

Python基于Django的旅游城市关键词分析和提取,附源码

博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…

【Linux系统编程】第五弹---基本指令(三)

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C详解】【Linux系统编程】 目录 1、grep指令 2、zip/unzip指令 3、tar指令 4、bc指令 5、uname指令 6、重要的几个热键 7、拓展指令 总结 1、grep指令 …

大屏-flex布局

<div class"container"><div class"title">标题</div><div class"content"><div class"item"></div><div class"item" style"width: calc((100% - 30) / 3 * 2)"><…

C# Solidworks二次开发:程序工具界面和选项相关API详解

大家好&#xff0c;今天要讲的是关于程序工具相关的API介绍。 下面是要介绍的API: (1)第一个为GetAutoPartSimplification&#xff0c;这个API的含义为获取简化配置的指针&#xff0c;下面是官方具体解释&#xff1a; 其输入参数的类型在上一篇文章中已经介绍过了gtError_e&a…

Kimi(月之暗面AI)模型上线,支持长文本输入分析文档内容

国产AI模型目前在市场中正趋于白热化&#xff0c;各大国产AI厂商百花齐放&#xff0c;纷纷优化升级语言模型。近日&#xff0c;备受瞩目的国产AI大模型“月之暗面”也不例外&#xff0c;它对去年10月推出的重量级模型moonshot进行了显著的升级&#xff0c;进一步无损扩展了上下…

(五)C++自制植物大战僵尸游戏LoadingScene的实现讲解

植物大战僵尸游戏开发教程专栏地址http://t.csdnimg.cn/xjvbb 一、类介绍 游戏启动后就会立即切换到游戏加载场景中。只有游戏资源文件加载完成后&#xff0c;才能进入游戏。Loadingscene类继承Cocos2d-x中的Scene父类&#xff0c;表明Loadingscene是一个场景类。切换到Loadi…

2024年苹果审核4.3相关问题综述

文章标签&#xff1a;UI、iOS、Objective-C、开发语言 苹果审核中的4.3问题是开发者关注的焦点之一&#xff0c;本文对此进行了综述&#xff0c;总结了不同情况下的处理方式和优化策略。 第一种4.3 该类问题常见于代码或UI的重复率过高&#xff0c;苹果会直接拒绝应用。开发…