当前位置: 首页 > article >正文

Linux---自动化工具Ansible模块教程

Ansible是一款为类Unix系统开发的自由开源的配置和自动化工具,它使用SSH来和节点进行通信,并基于模块工作。以下是Ansible一些常用模块的使用教程:

一、ping模块

ping模块用于检查指定节点机器是否连通。用法简单,不涉及参数,主机如果在线,则回复“pong”。

示例命令:

ansible all -m ping

该命令会向所有主机发送ping请求,并返回结果。如果主机在线,则返回结果中会包含“ping”: “pong”。

二、command模块

command模块用于在远程主机上执行命令,Ansible默认就是使用command模块。但请注意,command模块不能使用管道符和重定向功能。

示例命令:

ansible 192.168.109.138 -a 'ls /tmp'

该命令会在远程主机192.168.109.138上执行“ls /tmp”命令,并返回结果。

三、shell模块

shell模块调用的/bin/sh指令执行,与command模块类似,但可以使用管道符和重定向功能。

示例命令:

ansible all -m shell -a 'echo $HOME'

该命令会在所有主机上执行“echo $HOME”命令,并返回结果。由于使用了shell模块,因此可以使用shell的特性,如管道符和重定向。

四、copy模块

copy模块用于将文件从Ansible控制节点复制到远程主机上。

示例命令:

ansible all -m copy -a 'src=/path/to/local/file dest=/path/to/remote/directory'

该命令会将本地文件/path/to/local/file复制到远程主机的/path/to/remote/directory目录下。

五、yum模块(适用于RedHat系,Ubuntu不支持)

yum模块用于在RedHat系的主机上管理软件包。

示例命令:

ansible all -m yum -a 'name=httpd state=present'

该命令会在所有主机上安装httpd软件包(如果尚未安装),或者确保httpd软件包已安装(如果已安装,则不会进行任何操作)。state=present表示确保软件包存在,state=absent则表示确保软件包不存在。

六、service模块

service模块用于管理服务(如启动、停止、重启服务等)。

示例命令:

ansible all -m service -a 'name=httpd state=started enabled=yes'

该命令会在所有主机上启动httpd服务,并确保httpd服务在系统启动时自动启动。state=started表示启动服务,state=stopped表示停止服务,state=restarted表示重启服务。enabled=yes表示设置服务为开机自启动,enabled=no则表示禁止服务开机自启动。

七、user模块

user模块用于管理用户账户。

示例命令:

ansible all -m user -a 'name=johndoe state=present create_home=yes'

该命令会在所有主机上创建名为johndoe的用户账户,并为其创建家目录。state=present表示确保用户存在,state=absent则表示删除用户。create_home=yes表示创建家目录,create_home=no则表示不创建家目录。

八、group模块

group模块用于管理用户组。

示例命令:

ansible all -m group -a 'name=developers state=present'

该命令会在所有主机上创建名为developers的用户组(如果尚未创建),或者确保developers用户组已存在(如果已存在,则不会进行任何操作)。state=present表示确保用户组存在,state=absent则表示删除用户组。

九、file模块

file模块用于管理文件或目录的状态,如创建、删除、修改权限等。

示例命令:

ansible all -m file -a 'path=/path/to/directory state=directory mode=0755'

该命令会在所有主机上创建/path/to/directory目录(如果尚未创建),并设置其权限为0755。state=directory表示确保路径为目录,state=file则表示确保路径为文件,state=absent则表示删除文件或目录。mode参数用于设置文件或目录的权限。

十、script模块

script模块用于在远程主机上执行本地脚本。

示例命令:

ansible all -m script -a '/path/to/local/script.sh'

该命令会在所有主机上执行本地脚本/path/to/local/script.sh。请注意,该脚本需要在Ansible控制节点上可用。

以上仅列出了Ansible的一些常用模块及其基本用法。Ansible拥有大量的模块和插件,可以满足各种自动化任务的需求。在使用时,可以参考Ansible的官方文档或相关教程以获取更详细的信息和示例。


http://www.kler.cn/a/465008.html

相关文章:

  • ros常用命令记录
  • 瑞芯微rk3568平台 openwrt系统适配ffmpeg硬件解码(rkmpp)
  • FPGA基本语法与使用
  • django StreamingHttpResponse fetchEventSource实现前后端流试返回数据并接收数据的完整详细过程
  • WordPress Crypto 插件 身份认证绕过漏洞复现(CVE-2024-9989)
  • scrapy 教程
  • Go gin框架(详细版)
  • 【Triton-ONNX】如何使用 ONNX 模型服务与 Triton 通信执行推理任务上-Triton快速开始
  • 【Vue】<script setup>和 <script>区别是什么?在使用时的写法区别?
  • flutter组件————Row和Column
  • 【sql】CAST(GROUP_CONCAT())实现一对多对象json输出
  • 办公 三之 Excel 数据限定录入与格式变换
  • 机器学习-感知机-神经网络-激活函数-正反向传播-梯度消失-dropout
  • 无需训练!多提示视频生成最新SOTA!港中文腾讯等发布DiTCtrl:基于MM-DiT架构
  • Windows系统提示ffmpeg.dll丢失怎么解决?
  • 详细讲解外部导入Excel通过命令行形式导数据库中
  • Elasticsearch 在 Java 中的使用教程
  • Golang互斥锁正常模式和饥饿模式的区别
  • 信息科技伦理与道德1:绪论
  • Java的基础概念(二)
  • MySQL中distinct和group by去重的区别
  • 力扣--LCR 167.招式拆解I
  • LeetCode7. 整数反转
  • 基于物联网的冻保鲜运输智能控制系统
  • MySQL实用SQL示例
  • 利用Java爬虫获取亚马逊国际按关键字搜索商品的实践指南