如何使用 Salt Stack 执行多个命令?

2024-01-11

我尝试添加:

 mypack:
   pkg:
     - installed
     - pkgs:
       - mercurial
       - git
   cmd.run:
       - name: 'mkdir -p /opt/mypack'
   cmd.run: 'hg pull -u -R /opt/mypack || hg clone -R /opt https://...'
   cmd.run: 'ln -s /opt/mypack/etc/init.d/xxx /etc/init.d/xxx'

但由于某种原因,该状态似乎执行/安装,但命令未执行,或者至少不是全部。

我需要一个解决方案来运行多个命令,并在其中任何一个命令失败时使部署失败。

我知道我可以编写一个 bash 脚本并包含此 bash 脚本,但我一直在寻找一种仅适用于 YAML 文件的解决方案。


你要这个:

cmd-test:
  cmd.run:
    - name: |
        mkdir /tmp/foo
        chown dan /tmp/foo
        chgrp www-data /tmp/foo
        chmod 2751 /tmp/foo
        touch /tmp/foo/bar

或者我更喜欢这个,其中脚本是从主服务器下载的:

cmd-test:
  cmd.script:
    - source: salt://foo/bar.sh
    - cwd: /where/to/run
    - user: fred
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Salt Stack 执行多个命令? 的相关文章

  • 【0723】自动化运维——saltstack

    24 1 自动化运维介绍 认识自动化运维 xff1a 传统运维效率低 xff0c 大多工作人为完成传统运维工作繁琐 xff0c 容易出错传统运维每日重复做相同的事情传统运维没有标准化流程传统运维的脚本繁多 xff0c 不能方便管理自动化运维
  • SaltStack之salt-ssh

    salt ssh介绍 salt ssh可以让我们不需要在受控机上安装salt minion客户端也能够实现管理操作 salt ssh特点 1 远程系统需要Python支持 xff0c 除非使用 r选项发送原始ssh命令 2 salt ssh
  • SaltStack进阶

    masterless 应用场景 1 master 与 minion 网络不通或通信有延迟 xff0c 即网络不稳定 2 想在 minion 端直接执行状态 传统的 SaltStack 是需要通过 master 来执行状态控制 minion
  • saltstack部署OpenStack rocky版

    通过saltstack工具 xff0c 来自动部署OpenStack 基本的yaml 源码放在github上了 有兴趣可以查看 自行测试三台虚拟机安装没有问题 需要注意的是安装cinder slave xff08 从节点 xff09 的时候
  • SaltStack 企业级自动化运维实战

    一 SaltStack 概述 1 SaltStack 简介 SaltStack是一个服务器基础架构集中化管理平台 具备配置管理 远程执行 监控等功能 一般可以理解为简化版的puppet和加强版的func SaltStack基于Python语
  • saltstack之系统初始化状态编写

    saltstack之系统初始化状态编写 1 目录结构 2 关闭selinux 3 关闭防火墙 4 时间同步 chrony 5 内核优化与文件描述 6 ssh服务优化 7 精简开机系统服务 8 历史记录优化 设置终端超时时间 9 yum源 1
  • saltstack匹配minion以及自定义用户组nodegroup

    转载 http blog itpub net 30129545 viewspace 1456748 前提 操作在master在进行 minion id minion的唯一标示 默认情况minion id是minion的主机名 FQDN 你可
  • SaltStack 自动化运维详解

    一 自动化运维工具对比 使用所需软件配置单个服务器是一项相当简单的任务 但是 如果许多服务器需要安装相同或相似的软件和配置 则该过程将需要大量的工时才能完成 这会耗尽您本已紧张的资源 如果没有某种形式的自动化 这项任务几乎无法完成 考虑到这
  • saltstack+zabbix

    环境 server1 172 25 60 1 salt master salt minion zabbix server server2 172 25 60 2 salt minion zabbix agent 1 软件包安装过程存在许多依
  • saltstack部署MySQL主从

    saltstack部署MySQL主从 1 目录结构 2 编写状态文件 2 1 main sls文件内容 2 2 master sls的文件内容 2 3 slave sls文件内容 2 4 grant mysql sls文件内容 2 5 ma
  • saltstack的配置管理与数据系统

    saltstack的配置管理与数据系统 1 YAML语言 1 1 YAML的基本规则 2 使用SaltStack配置一个apache实例 2 1 在Master上部署sls配置文件并执行 3 使用SaltStack在minion02上配置n
  • SaltStack:条件包括:如果为空则出错

    我有一个条件包含 如下所示 include if CONDITION A foo bar endif if CONDITION B blu bla endif 这在大多数情况下都有效 但如果 CONDITION A 和 CONDITION
  • 执行模块和状态模块最大的区别是什么

    最近 我正在向它的文档学习 salt 但是 我对执行模块和状态模块很困惑 为什么有两种类型的模块 为什么他们不能统一 如果我们只有一种类型的模块 可以在命令行和 sls 文件中使用 不是更简单更好吗 简而言之 执行模块 执行任务 状态模块
  • 将公式与 saltstack 一起使用

    我是 saltstack 的新手 我想使用 saltstack 公式安装 postgres 或 apache 或其他任何东西 我从 git 下载了 repo git clone https github com saltstack form
  • saltstack jinja 中的“json”和“tojson”过滤器有什么区别吗?

    根据 saltstack 文档 它是 json https docs saltstack com en latest ref renderers all salt renderers jinja html https docs saltst
  • 检查文件是否存在并创建符号链接

    我想做这样的事情 如果文件 A 存在或者没有符号链接 B 我想创建一个符号链接 B gt A 现在我有 B file symlink target A exists name A 但这很糟糕 它检查不到我想要的东西 我怎样才能用盐实现这个简
  • salt-stack highstate - 查找慢状态

    运行初始安装大约需要 20 分钟 运行salt call state highstate大约需要6分钟 这并非不合理 但我想加快速度 但我不知道如何找到最慢的状态 除了用秒表观看屏幕 6 分钟之外 还有什么方法可以找到每个状态运行需要多长时
  • 公式提供属性默认值的最佳方式是什么?

    Chef 有一个非常详尽 也许太多 的食谱方案来提供属性的默认值 我认为 Puppet 对类参数做了类似的事情 默认值通常进入params pp 有了盐 我就看到了 在字典 支柱查找中指定默认值 the grains filter by将默
  • Salt 和 Python 的 YAML 语法

    这之间有什么区别 dic1 subdict1 1 value11 1 subdict1 2 value1 2 cubdict1 3 value1 3 和这个 dict2 subdict2 1 value2 2 subdict2 1 valu
  • 通过包含在盐堆栈中传递变量

    我有几个状态几乎相同 他们都部署项目 创建 virtualenv 并配置主管 区别仅在于存储库 项目名称和一些附加操作 很多代码都是重复的 是否可以将相同的部分放入文件中并包含其他变量 在 Ansible 中可以这样完成 tasks inc

随机推荐

  • 动画搜索栏进度

    我的屏幕有 4 个搜索栏 如下图所示 如果用户移动 B C 或 D 我计算三者的平均值并将 A 的进度设置为平均值 这是最容易的部分 我想做的是为进度条 A 设置动画 使其不会一次性跳跃 例如从 25 75 为 A 制作动画的推荐方法是什么
  • 如何使用异步方法对 ViewModel 进行单元测试。

    我不知道从哪里开始 但让我简要介绍一下我现在的处境以及我想要实现的目标 我对 MVVM 上的单元测试相当陌生 并且在测试使用 PRISM 委托命令属性公开的命令时遇到困难 我的委托命令调用必须等待的异步方法 以便我可以获得实际结果 下面是我
  • 无法获取httpResponse内容

    我没有设法从 android 模拟器查询 Web 服务 之前我有一个 UnresolvedHostException 但这没关系 现在我可以更进一步了 我在 HttpResponse 的实体中没有返回任何内容 长度为 1 String ur
  • 从 pandas 数据框索引创建列

    我有一个数据框 我想将索引 第一级 中的数据转换为列 实际上我的 df 看起来像这样 col1 CoI AK 0 1 1 31 2 NaN BB 0 5 1 31 2 NaN 我想把它变成这样 col1 CoI 0 1 AK 1 31 AK
  • 根据特定值创建新变量

    我阅读了正则表达式和 Hadley Wickham 的stringr and dplyr包 但不知道如何让它工作 我在数据框中保存了图书馆流通数据 索书号作为字符变量 我想将最初的大写字母作为一个新变量 并将字母和句点之间的数字作为第二个新
  • 如何使用phonegap javascript获取IP地址

    如何使用phonegap javascript 获取IP 地址 我必须将此 IP 地址作为查询字符串发送到 php 页面 有什么建议吗 干得好 http simonmacdonald blogspot in 2012 08 so you w
  • 如何确定文档是否与查询匹配,例如规范化 elasticsearch 分数?

    Elasticsearch 计算的分数提供了文档之间的排名 但它并不能说明文档是否与请求匹配 目前 第一个文档可以匹配所有字段或仅匹配一个字段 分数提供的唯一信息是它是最佳匹配 是否有可能获得关于查询的标准化分数 例如 得分 1 表示文档与
  • 接口是否有 ISomething / ISomethingable 的既定替代方案?

    在接口名称前添加 I 前缀的 NET 标准似乎正在变得越来越普遍 并且不再仅限于 NET 我遇到过很多使用此约定的 Java 代码 因此 如果 Java 在 C 之前使用它 我不会感到惊讶 Flex 也使用它 等等 不过 在名称开头放置 I
  • 搜索栏取消按钮委托未调用

    我在导航控制器内实现了一个搜索栏 它工作正常 但取消按钮点击委托方法没有被调用 请帮忙 func searchBarCancelButtonClicked searchBar UISearchBar This function is not
  • 以编程方式清除 R 控制台 [重复]

    这个问题在这里已经有答案了 可能的重复 R 中清除控制台的函数 https stackoverflow com questions 14260340 function to clear the console in r Is there a
  • 使用箭头键移动元素

    我在页面上有 2 个 div 我希望用户能够使用箭头键在其中移动 我尝试通过使用焦点来区分它们 但太多的项目 如输入 可以获得焦点 目前 当我单击该 div 时 我正在应用带有虚线的 集中 css 样式 以使其脱颖而出 并从其他 div 中
  • 检查字典中是否有 nil

    我的应用程序中有一个类 用户输入值并将它们设置为该类的实例 然后我将此数据上传到数据库 但我必须将该类转换为数据库接受的内容 并且我要转换为使用镜面反射的字典 我的类中的某些属性可以为零 因为根据设计 并非所有属性都是必需的 但我无法将零值
  • 是否可以在 Windows 7 上构建 WinRT 应用程序?

    使用 Visual Studio 11 是否可以在 Windows 7 上构建 WinRT 应用程序 不 WinRT 仅适用于 Windows 8 据我所知 目前还没有任何消息表明它们将在 Win7 中提供 在 BUILD 上 他们特别表示
  • 如何在Hibernate中设置只读列?

    我不知道如何在 Hibernate 中强制只读列 我想将 idgroup 设置为只读列 即使我设置了insertable false and updatable false 在 hibernate SQL 中我可以读到 Hibernate
  • Firebird 全局临时表(GTT),触摸其他表吗?

    我有一个 Firebird 数据库 v 2 5 由于失去支持 我不允许在数据库中创建过程 视图或表 我的观点太长了 Too many Contexts of Relation Procedure Views Maximum allowed
  • 将 WebGL 非连续线渲染为单个对象

    我有多个 WebGL 线要渲染 它们都具有相同的渲染风格 因此 为了提高性能 我想在一次绘制调用中将它们全部渲染为单个对象 但问题是这些线路并不全部相互连接 请参阅此处的示例 http jsfiddle net b6jgS 6 http j
  • 在 C++ 中打包嵌套结构

    使用 Visual Studio 2017 以下给出 struct AAA 15 bytes double d short s char a1 char a2 char a3 char s4 char s5 struct BBB AAA d
  • 为什么异常处理不好? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 Google 的 Go 语言没有例外作为设计选择 而 Linux 名人 Linus 则称例外为垃圾 为什么 异常使编写代码变得非常容易 其中抛出
  • 如何在 C# 中获取下一个(或上一个)枚举值

    我有一个枚举 其定义如下 public enum eRat A 0 B 3 C 5 D 8 所以给定值eRat B 我想要得到下一个 即eRat C 我看到的解决方案是 没有范围检查 Array a Enum GetValues typeo
  • 如何使用 Salt Stack 执行多个命令?

    我尝试添加 mypack pkg installed pkgs mercurial git cmd run name mkdir p opt mypack cmd run hg pull u R opt mypack hg clone R