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

在这里插入图片描述


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


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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Unity Epplus读取excel表并存入So文件举例

目录 此篇需要你有一定的阅读代码的能力,不然点开了也不知道在做什么 这是读表工具 So文件这么写 使用 此篇需要你有一定的阅读代码的能力,不然点开了也不知道在做什么 在此之前你需要知道epplus是干什么的,然后知道其基本api&#xff0…

Java Web-Cookie与Session

会话跟踪技术 会话跟踪技术是一种在 Web 应用程序中跟踪用户会话状态的机制,它允许服务器在多个请求之间识别和关联属于同一用户的请求,以便在整个会话过程中保持用户相关的信息。以下是几种常见的会话跟踪技术: Cookie 概念:Cook…

Spring Boot(6)解决ruoyi框架连续快速发送post请求时,弹出“数据正在处理,请勿重复提交”提醒的问题

一、整个前言 在基于 Ruoyi 框架进行系统开发的过程中,我们常常会遇到各种有趣且具有挑战性的问题。今天,我们就来深入探讨一个在实际开发中较为常见的问题:当连续快速发送 Post 请求时,前端会弹出 “数据正在处理,请…

YOLOv8改进,YOLOv8检测头融合DynamicHead,并添加小目标检测层(四头检测),适合目标检测、分割等,全网独发

摘要 作者提出一种新的检测头,称为“动态头”,旨在将尺度感知、空间感知和任务感知统一在一起。如果我们将骨干网络的输出(即检测头的输入)视为一个三维张量,其维度为级别 空间 通道,这样的统一检测头可以看作是一个注意力学习问题,直观的解决方案是对该张量进行全自…

C语言编译过程全面解析

今天是2025年1月26日,农历腊月二十七,一个距离新春佳节仅一步之遥的日子。城市的喧嚣中,年味已悄然弥漫——能在这个时候坚持上班的人,真可称为“牛人”了吧,哈哈。。。。 此刻,我在重新审视那些曾被遗忘的…

在php中怎么打开OpenSSL

(点击即可进入聊天助手) 背景 在使用php做一些项目时,有用到用户邮箱注册等,需要开启openssl的能力 在php系统中openssl默认是关闭状态的,在一些低版本php系统中,有的甚至需要在服务器终端后台,手动安装 要打开OpenSSL扩展,需要进行以下步骤 …

【数据分享】2014-2025年我国水系数据(免费获取/全国/分省)

水系数据是我们在各项研究中经常使用的数据!水系数据虽然很常用,但是却基本没有能下载最近年份水系数据的网站,所以很多人不知道如何获得水系数据。 本次我们给大家分享的是2014-2025年的全国范围的水系数据,包括水系线数据和水系…

Office2021下载与安装保姆级教程【Office Tool Plus】

Office Tool Plus安装Office2021 下载Office Tool Plus安装OfficeⅠ. 清除旧版本Ⅱ. 配置安装参数Ⅲ. 安装许可证Ⅳ. 激发(JH)Office 本文介绍使用Office Tool Plus工具下载、安装、部署Office 2021全过程。 下载Office Tool Plus OfficeToolPlus是一个…

DeepSeek明确学术研究方向效果如何?

明确学术研究方向 在学术写作中,选择一个出色的研究主题至关重要,因为它直接关系到论文是否能登上高级别的学术期刊。不少学者在这个过程中走入了误区,他们往往将大把的时间花在写作本身,而忽略了对选题的深入思考,这…

Spring MVC 综合案例

目录 一. 加法计算器 1. 准备工作 2. 约定前后端交互接口 需求分析 接口定义 3. 服务器端代码 4. 运行测试 二. 用户登录 1. 准备工作 2. 约定前后端交互接口 需求分析 接口定义 (1) 登录界面接口 (2) 首页接口 3. 服务器端代码 4. 运行测试 三. 留言板 1. 准备…

基于OSAL的嵌入式裸机事件驱动框架——消息队列osal_msg

参考B站up主【架构分析】嵌入式祼机事件驱动框架 感谢大佬分享 消息队列 消息分为hdr和bdy,把消息的头dhr和内容bdy做了一个分离的设计 dhr包括指向下一个消息的指针next,len在创建消息的时候使用,dest_id即目标任务,将消息和任务…

Github 2025-01-25Rust开源项目日报Top10

根据Github Trendings的统计,今日(2025-01-25统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Rust项目10Python项目1Vue项目1JavaScript项目1Deno: 现代JavaScript和TypeScript运行时 创建周期:2118 天开发语言:Rust, JavaScript协议类型…

【Numpy核心编程攻略:Python数据处理、分析详解与科学计算】1.8 随机数奥秘:生成符合现实分布的虚拟数据

1.8 随机数奥秘:生成符合现实分布的虚拟数据 目录 #mermaid-svg-wHqPAE3mMd8HNYmi {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-wHqPAE3mMd8HNYmi .error-icon{fill:#552222;}#mermaid-svg-wHqPAE3mM…

使用vitepress搭建自己的博客项目

一、介绍can-vitepress-blog 什么是CAN BLOG CAN BLOG是基于vitepress二开的个人博客系统,他能够方便使用者快速构建自己的博客文章,无需繁琐的配置和复杂的代码编写。 CAN BLOG以antdv为UI设计基础,简洁大方,界面友好&#xf…

STranslate 中文绿色版即时翻译/ OCR 工具 v1.3.1.120

STranslate 是一款功能强大且用户友好的翻译工具,它支持多种语言的即时翻译,提供丰富的翻译功能和便捷的使用体验。STranslate 特别适合需要频繁进行多语言交流的个人用户、商务人士和翻译工作者。 软件功能 1. 即时翻译: 文本翻译&#xff…

【数据结构】_链表经典算法OJ:合并两个有序数组

目录 1. 题目描述及链接 2. 解题思路 3. 程序 3.1 第一版 3.2 第二版 1. 题目描述及链接 题目链接:21. 合并两个有序链表 - 力扣(LeetCode) 题目描述: 将两个升序链表合并为一个新的 升序 链表并返回。 新链表是通过拼接给…

51单片机开发:动态数码管

实验目标:使8个数码管依次显示01234567。 动态数码管的原理图如下图所示:两个四位一体的数码管,其段选接在P0端口上。下表以数字0为例,描述端口输出值与数码管显示的对照关系。 dpgfedcbaP07P06P05P04P03P02P01P00001111110x3f&…

84,【8】BUUCTF WEB [羊城杯 2020]Blackcat

进入靶场 音乐硬控我3分钟 回去看源码 <?php // 检查 POST 请求中是否包含 Black-Cat-Sheriff 和 One-ear 字段 // 如果任意一个字段为空&#xff0c;则输出错误信息并终止脚本执行 if(empty($_POST[Black-Cat-Sheriff]) || empty($_POST[One-ear])){die(请提供 Black-C…

挂载mount

文章目录 1.挂载的概念(1)挂载命令&#xff1a;mount -t nfs(2)-t 选项&#xff1a;指定要挂载的文件系统类型(3)-o选项 2.挂载的目的和作用(1)跨操作系统访问&#xff1a;将Windows系统内容挂载到Linux系统下(2)访问外部存储设备(3)整合不同的存储设备 3.文件系统挂载要做的事…

数据分箱 baggingboosting onehot独热编码 woe编码 sklearn的ensemble(集成学习)

目录 数据分箱就是将连续变量离散化。 bagging&boosting onehot独热编码 独热编码的结果如下&#xff1a; woe编码 WOE编码的基本原理 步骤一&#xff1a;计算WOE 步骤二&#xff1a;应用WOE WOE编码的优点 示例 数据示例 步骤一&#xff1a;计算每个类别的违约…