Ansible自动化运维实战--script、unarchive和shell模块(6/8)

文章目录

    • 一、script模块
      • 1.1、功能
      • 1.2、常用参数
      • 1.3、举例
    • 二、unarchive模块
      • 2.1、功能
      • 2.2、常用参数
      • 2.3、举例
    • 三、shell模块
      • 3.1、功能
      • 3.2、常用参数
      • 3.3、举例

一、script模块

1.1、功能

Ansible 的 script 模块允许你在远程主机上运行本地的脚本文件,其提供了一种便捷的方式来执行自定义脚本以实现特定的自动化任务。

1.2、常用参数

  • chdir:可选参数,用于指定在远程主机上执行脚本时的工作目录。例如,若脚本依赖于特定目录下的文件,可通过该参数指定目录。
  • creates:可选参数,指定一个文件路径。如果该文件在远程主机上已经存在,脚本将不会执行。这可以避免重复执行某些耗时或有副作用的脚本。
  • removes:可选参数,指定一个文件路径。如果该文件在远程主机上不存在,脚本将不会执行。
  • executable:可选参数,用于指定执行脚本的解释器。例如,若脚本是 Python 脚本,可指定 executable: /usr/bin/python3。

1.3、举例

首先在ansible主机中创建一个脚本文件

vim van.sh#脚本文件中的内容
date > /tmp/time.txt
  • 创建script服务
ansible webserves -m script -a "/root/van.sh"

在这里插入图片描述

在任何主机中查看文件:

在这里插入图片描述

二、unarchive模块

2.1、功能

Ansible 的 unarchive 模块用于在远程主机上解压缩归档文件,如 .tar、.tar.gz、.zip 等。

2.2、常用参数

  • src:必选参数,指定要解压缩的归档文件的路径。该路径可以是本地控制节点上的文件路径,也可以是远程主机上的文件路径。如果文件位于本地,需要结合 copy 参数使用。
  • dest:必选参数,指定解压缩文件的目标目录,即归档文件内容将被解压到这个目录下。
  • copy:布尔类型参数,默认值为 true。当设置为 true 时,Ansible 会先将本地的归档文件复制到远程主机,然后再进行解压缩操作;当设置为 false 时,假定归档文件已经存在于远程主机上,直接在远程主机上进行解压缩。
  • creates:可选参数,指定一个文件或目录路径。如果该文件或目录在远程主机上已经存在,解压缩操作将不会执行,可避免重复解压。
  • owner:可选参数,用于指定解压缩后的文件和目录的所有者。
  • group:可选参数,用于指定解压缩后的文件和目录的所属组。
  • mode:可选参数,用于指定解压缩后的文件和目录的权限,例如 mode: ‘0755’。

2.3、举例

在ansible主机中操作:

#压塑etc目录为tigerhhzz02.tar压缩文件
tar -Pzcvf tigerhhzz02.tar /root/tiger-test/

把tigerhhzz.tar压缩包解压到主机组中的每台机子中

ansible webserves -m unarchive -a 'src=/root/tigerhhzz02.tar dest=/home'

在这里插入图片描述

查看组中的任意一台机子的home目录下:
在这里插入图片描述

三、shell模块

3.1、功能

shell模块能让你在远程主机上执行任意 shell 命令,实现系统配置、软件安装、文件操作等多种自动化任务。与command模块不同,shell模块会通过 shell 环境(如/bin/sh)来执行命令,这意味着它支持 shell 的一些特性,像管道、重定向等。

3.2、常用参数

  • chdir:指定在远程主机上执行命令时的工作目录。在执行依赖特定路径的命令时很有用。
  • creates:指定一个文件路径,如果该文件在远程主机上已经存在,命令将不会执行,避免重复操作。
  • removes:指定一个文件路径,如果该文件在远程主机上不存在,命令将不会执行。
  • executable:指定执行命令的 shell 解释器,默认是/bin/sh,你可以根据需要指定其他解释器,如/bin/bash。

3.3、举例

查看组中每个主机的主机名:

ansible webserves -m shell -a "hostname" -o

在这里插入图片描述

批量安装vsftpd服务到组中每个主机:

ansible webserves -m shell -a "yum install -f vsftpd" -o

并开启vsftpd服务:

ansible webserves -m shell -a "systemctl start vsftpd" -o

在这里插入图片描述


生活可能不像你想象的那么好,但是也不会像你想象的那么糟。


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

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

相关文章

【模型】RNN模型详解

1. 模型架构 RNN(Recurrent Neural Network)是一种具有循环结构的神经网络,它能够处理序列数据。与传统的前馈神经网络不同,RNN通过将当前时刻的输出与前一时刻的状态(或隐藏层)作为输入传递到下一个时刻&…

《FreqMamba: 从频率角度审视图像去雨问题》学习笔记

paper:FreqMamba: Viewing Mamba from a Frequency Perspective for Image Deraining GitHub:GitHub - aSleepyTree/FreqMamba 目录 摘要 1、介绍 2、相关工作 2.1 图像去雨 2.2 频率分析 2.3 状态空间模型 3、方法 3.1 动机 3.2 预备知识 3…

iic、spi以及uart

何为总线? 连接多个部件的信息传输线,是部件共享的传输介质 总线的作用? 实现数据传输,即模块之间的通信 总线如何分类? 根据总线连接的外设属于内部外设还是外部外设将总线可以分为片内总线和片外总线 可分为数…

Android WebView 中网页被劫持的原因及解决方案

文章目录 一、原因分析二、解决方案一览三、解决方案代码案例3.1 使用 HTTPS3.2 验证 URL3.3 禁用 JavaScript3.4 使用安全的 WebView 设置3.5 监控网络请求3.6 使用安全的 DNS 四、案例深入分析4.1 问题4.2 分析 五、结论 在 Android 应用开发中,WebView 是一个常用…

Linux——网络(udp)

文章目录 目录 文章目录 前言 一、upd函数及接口介绍 1. 创建套接字 - socket 函数 2. 绑定地址和端口 - bind 函数 3. 发送数据 - sendto 函数 4. 接收数据 - recvfrom 函数 5. 关闭套接字 - close 函数 二、代码示例 1.服务端 2.客户端 总结 前言 Linux——网络基础&#xf…

C语言学习强化

前言 数据的逻辑结构包括: 常见数据结构: 线性结构:数组、链表、队列、栈 树形结构:树、堆 图形结构:图 一、链表 链表是物理位置不连续,逻辑位置连续 链表的特点: 1.链表没有固定的长度…

【ArcGIS微课1000例】0141:提取多波段影像中的单个波段

文章目录 一、波段提取函数二、加载单波段导出问题描述:如下图所示,img格式的时序NDVI数据有24个波段。现在需要提取某一个波段,该怎样操作? 一、波段提取函数 首先加载多波段数据。点击【窗口】→【影像分析】。 选择需要处理的多波段影像,点击下方的【添加函数】。 在多…

css3 svg制作404页面动画效果HTML源码

源码介绍 css3 svg制作404页面动画效果HTML源码&#xff0c;源码由HTMLCSSJS组成&#xff0c;记事本打开源码文件可以进行内容文字之类的修改&#xff0c;双击html文件可以本地运行效果 效果预览 源码如下 <!doctype html> <html> <head> <meta charse…

R语言学习笔记之高效数据操作

一、概要 数据操作是R语言的一大优势&#xff0c;用户可以利用基本包或者拓展包在R语言中进行复杂的数据操作&#xff0c;包括排序、更新、分组汇总等。R数据操作包&#xff1a;data.table和tidyfst两个扩展包。 data.table是当前R中处理数据最快的工具&#xff0c;可以实现快…

利用Qt5.15.2编写Android程序时遇到的问题及解决方法

文章目录 背景1.文件读写 背景 目前我用的是Qt5.15.2来编写Qt程序&#xff0c;环境的配置看我这篇文章【Qt5.15.2配置Android开发环境】 项目中的一些配置的截图&#xff1a; 1.文件读写 假如直接用 QFileDialog::getExistingDirectory来获取路径的话&#xff0c;会得到类…

【学术会议-第五届机械设计与仿真国际学术会议(MDS 2025) 】前端开发:技术与艺术的完美融合

重要信息 大会官网&#xff1a;www.icmds.net 大会时间&#xff1a;2025年02月28日-03月02日 大会地点&#xff1a;中国-大连 会议简介 2025年第五届机械设计与仿真国际学术会议&#xff08;MDS 2025) 将于2025年02月28-3月02日在中国大连召开。MDS 2025将围绕“机械设计”…

leetcode刷题记录(一百)——121. 买卖股票的最佳时机

&#xff08;一&#xff09;问题描述 121. 买卖股票的最佳时机 - 力扣&#xff08;LeetCode&#xff09;121. 买卖股票的最佳时机 - 给定一个数组 prices &#xff0c;它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票&#xff0c;并…

亲测有效!解决PyCharm下PyEMD安装报错 ModuleNotFoundError: No module named ‘PyEMD‘

解决PyCharm下PyEMD安装报错 PyEMD安装报错解决方案 PyEMD安装报错 PyCharm下通过右键自动安装PyEMD后运行报错ModuleNotFoundError: No module named ‘PyEMD’ 解决方案 通过PyCharm IDE python package搜索EMD-signal&#xff0c;选择版本后点击“install”执行安装

上海亚商投顾:沪指冲高回落 大金融板块全天强势 上海亚商投

上海亚商投顾前言&#xff1a;无惧大盘涨跌&#xff0c;解密龙虎榜资金&#xff0c;跟踪一线游资和机构资金动向&#xff0c;识别短期热点和强势个股。 一&#xff0e;市场情绪 市场全天冲高回落&#xff0c;深成指、创业板指午后翻绿。大金融板块全天强势&#xff0c;天茂集团…

【unity游戏开发之InputSystem——02】InputAction的使用介绍(基于unity6开发介绍)

文章目录 前言一、InputAction简介1、InputAction是什么&#xff1f;2、示例 二、监听事件started 、performed 、canceled1、启用输入检测2、操作监听相关3、关键参数 CallbackContext4、结果 三、InputAction参数相关1、点击齿轮1.1 Actions 动作&#xff08;1&#xff09;动…

ubuntu22安装issac gym记录

整体参考&#xff1a;https://blog.csdn.net/Yakusha/article/details/144306858 安装完成后的整体版本信息 ubuntu&#xff1a;22.04内核&#xff1a;6.8.0-51-generic显卡&#xff1a;NVIDIA GeForce RTX 3050 OEM显卡驱动&#xff1a;535.216.03cuda&#xff1a;12.2cudnn&…

Linux下Ubuntun系统报错find_package(BLAS REQUIRED)找不到

Linux下Ubuntun系统报错find_package(BLAS REQUIRED)找不到 这次在windows的WSL2中遇到了一个非常奇怪的错误&#xff0c;就是 CMake Error at /usr/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:230 (message):Could NOT find BLAS (missing: BLAS_LIBRAR…

15天基础内容-5

day13 【String类、StringBuilder类】 主要内容 String类常用方法【重点】 String类案例【重点】 StringBuilder类【重点】 StringBuilder类常用方法【重点&#xff1a; append】 StringBuilder类案例【理解】 第一章String类 1.1 String类的判断方法 String类实现判断功能…

CommonAPI学习笔记-1

CommonAPI学习笔记-1 一. 整体结构 CommonAPI分为两层&#xff1a;核心层和绑定层&#xff0c;使用了Franca来描述服务接口的定义和部署&#xff0c;而Franca是一个用于定义和转换接口的框架&#xff08;https://franca.github.io/franca/&#xff09;。 ​ 核心层和通信中间…

单片机基础模块学习——DS18B20温度传感器芯片

不知道该往哪走的时候&#xff0c;就往前走。 一、DS18B20芯片原理图 该芯片共有三个引脚&#xff0c;分别为 GND——接地引脚DQ——数据通信引脚VDD——正电源 数据通信用到的是1-Wier协议 优点&#xff1a;占用端口少&#xff0c;电路设计方便 同时该协议要求通过上拉电阻…