salt 常用命令整理

 
 

转载:https://www.cnblogs.com/aslongas/p/6964890.html

salt 常用命令整理

***********模块***********
查看模块列表module
salt 'minion' sys.list_modules
查看指定module的function用法
salt 'minion' sys.list_functions file
查看指定模块的详细用法
salt 'minion' sys.doc cmd ***********模块使用说明***********
查看配置管理state模块列表
salt 'minion' sys.list_state_modules
查看配置管理sate列表指定模块所有方法列表
salt 'minion' sys.list_state_functions svn
查看配置管理state列表指定模块详细用法
salt 'minion' sys.state_doc file
查看配置管理state列表指定模块的方法分支
salt 'minion' sys.state_doc file.managed ***********pillar变量***********
查看主机对应的所有pillar变量值
salt '*' pillar.data
salt '*' pillar.items
查看主机对应的多个pillar变量值
salt '*' pillar.item roles appname
修改pillar值后需要刷新pillar数据
salt '*' saltutil.refresh_pillar
查看pillar模块详细用法,其他类似
salt 'minion' sys.doc pillar
查看pillar的相关方法
salt 'minion' sys.list_functions pillar
"""
shuke:
- pillar.data
- pillar.ext
- pillar.get
- pillar.item
- pillar.items
- pillar.raw
""" ***********grains变量***********
查看模块用法
salt 'minion' sys.list_functions grains
查看item项
salt 'minion' grains.ls
查看所有iteams
salt 'minion' grains.items
获得某个item值
salt 'minion' grains.get os
同步_grains目录下的py脚本至minion
salt 'minion' saltutil.sync_all
如果py模块有修改,修改后进行重载
salt 'minion' sys.reload_modules ***********minions在线状态***********
查看所有minion状态
salt-run manage.status
查看所有minion在线状态
salt-run manage.up
查看所有minion不在线状态
salt-run manage.down ***********key管理***********
salt-key 密钥管理,通常在master端执行
salt-key [options]
salt-key -L ##查看所有minion-key
salt-key -a <key-name> ##接受某个minion-key
salt-key -d <key-name> ##删除某个minion-key
salt-key -A ##接受所有的minion-key
salt-key -D ##删除所有的minion-key ***********salt-call相关***********
salt-call 该命令通常在minion上执行,minion自己执行可执行模块,不是通过master下发job
salt-call [options] <function> [arguments]
salt-call test.ping ##自己执行test.ping命令
salt-call cmd.run 'ifconfig' ##自己执行cmd.run函数 ***********文件分发***********
salt-cp 分发文件到minion上,不支持目录分发,通常在master运行
salt-cp [options] '<target>' SOURCE DEST
salt-cp '*' testfile.html /tmp
salt-cp 'test*' index.html /tmp/a.html
salt 'S1_0_001_Room' cp.get_dir salt://package /tmp -v 同步目录
salt 'S1_0_001_Room' cp.get_file salt://package/minions.tar.gz /tmp/minions.tar.gz gzip=5 同步文件 **********其他***********
salt-run jobs.active #查看所有minion当前正在运行的jobs
salt '*' saltutil.running # 查看正在运行的任务,找到jid
salt '*' saltutil.kill_job jid # 根据jid杀掉任务
salt '*' saltutil.clear_cache # 清除minion缓存 执行单个命令
salt 'minion' cmd.run 'ps -ef | grep mongod' 测试单个sls模块
salt 'minion' state.sls nginx test=True 执行前进行测试
salt 'minion' state.highstate test=True 在所有minion上执行状态:
salt 'minion' sate.highstate 获取执行jib任务的md5值
salt 'minion' hashutil.md5_digest 20170202150211366486 low数据可以使用state.show_lowstate方法查看
salt 'minion' state.show_lowstate --out yaml High State数据可以使用state.show_hoghstate方法查看
salt 'minion' state.show_highstate --out yaml #查看highstate
salt 'minion' state.show_highstate
#查看lowdata
salt 'minion' state.show_lowstate #执行所有top.sls
salt '*' state.apply #执行指定环境下top.sls
salt '*' state.apply saltenv=dev 注:
name:要执行的命令,记住该命令将会在salt-minion的路径和权限下执行
onlyif:用于检查的命令,仅当``onlyif``选项指向的命令返回true时才执行name定义的命令
unless:用于检查的命令,仅当``unless``选项指向的命令返回false时才执行name指向的命令 查看wyd用户下进程
salt -N 'Z1_S2' cmd.run 'su -c "ps -u wyd | grep -v top | grep -v bash | grep -v sshd | grep -v grep | grep -v ps | grep -v CMD " wyd' state中(钩子函数)
requisiterequisite:require/watch/onchanges/onfail/use/prereq/require_in(反转) ========Targeting Minion=======
#Glob(默认)
salt '*' test.ping
salt \* test.ping #PCRE 正则表达式
salt -E '^[m|M]in.[e|o|u]n$' test.ping = salt -E '^[mM]in.[eou]n$' test.ping #list
salt -L web1,web2,db1 test.ping #Subnet
salt -S 192.168.1.100 test.ping
salt -S 192.168.0.0/16 test.ping #Grain
salt -G 'os:ubuntu' test.ping
salt -G 'os_family:Debian' test.ping
salt -G 'ip_interfaces:eth0:192.168.1.100' test.ping
salt -G 'ipv6:::1' test.ping
salt --grain-pcre 'os:red(hat|flag)' test.ping #Pillar
salt -I 'my_var:my_val' test.ping #混合(Compound)
salt -C 'G@os:Ubuntu,I@role:web,S@192.168.1.100/24' test.ping
salt -C 'min* or *ion' test.ping
salt -C 'web* or *qa,G@os:Arch' test.ping #Nodegroup
salt -N webdev test.ping 添加计划任务
salt 'S1_*_Center' cron.set_job root '0' '5' '*' '*' '*' '/usr/sbin/logrotate -vf /etc/logrotate.d/acl >/tmp/cutacl_log 2>&1' identifier=cutacl 删除计划任务
salt -C 'E@S1_(10001|10002|10003)_*' cron.rm_job wyd 'cd /data/wyd/game_server_1.2.0/log;find . -type f -mtime +15 -name "*.log*" -exec rm -rf {} \; 2>&1' identifier='clear log' 相关URL:
http://blog.csdn.net/death_kada/article/details/48547271
http://blog.csdn.net/cnweike/article/details/12746399 pillar

salt常用模块的更多相关文章

  1. salt常用模块及API

    saltstack提供了非常丰富的功能模块,涉及操作系统的基础功能,常用工具支持等,更多模块信息见官网模块介绍:https://docs.saltstack.com/en/latest/ref/mod ...

  2. salt常用命令、模块、执行

    一.salt常用命令 salt 该命令执行salt的执行模块,通常在master端运行,也是我们最常用到的命令 salt [options] '<target>' <function ...

  3. Saltstack常用模块及API

    Saltstack提供了非常丰富的功能模块,涉及操作系统的基础功能.常用工具支持等,更多模块信息可以查看官网模块介绍.也可以通过sys模块列出当前版本支持的模块. salt '*' sys.list_ ...

  4. Ansible简介及常用模块

    一.基础介绍 1.简介 ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置. ...

  5. Saltstack系列3:Saltstack常用模块及API

    说明 salt '*' sys.list_modules #列出当前版本支持的模块 API原理是通过调用master client模块,实例化一个LocalClient对象,再调用cmd()方法来实现 ...

  6. python——常用模块

    python--常用模块 1 什么是模块: 模块就是py文件 2 import time #导入时间模块 在Python中,通常有这三种方式来表示时间:时间戳.元组(struct_time).格式化的 ...

  7. Saltstack 安装与常用模块

    一.介绍 saltstack是基于C/S服务模式,在该架构中,服务器端叫做Master,客户端叫做Minion.传统的C/S模式我们这样理解,客户端发送请求给服务器端,服务器端接受到来自客户端的请求并 ...

  8. saltstack自动化运维系列③之saltstack的常用模块使用

    saltstack自动化运维系列③之saltstack的常用模块使用 1.命令的常用方法: 指定主机运行命令 # salt 'mini1' cmd.run 'date'mini1: Fri Apr 7 ...

  9. python常用模块及面向对象(一)

    目录: 常用模块之time模块 常用模块之random模块 常用模块之os模块 常用模块之sys模块 常用模块之subprocess模块 常用模块之json模块 常用模块之pickle模块 常用模块之 ...

随机推荐

  1. Table 自定义设置边框线

    table上添加:border-collapse: collapse;//设置表格边框分开显示就可以设置tr td的边框线

  2. [Android]进程间通信的方法

    一.管道 管道是进程间通信中最古老的方式,它包括 无名管道 和 有名管道两种,前者用于父进程和子进程间的通信,后者用于运行于同一台机器上的任意两个进程间的通信. 无名管道由pipe()函数创建. #i ...

  3. Codeforces Round #562 (Div. 2) C. Increasing by Modulo

    链接:https://codeforces.com/contest/1169/problem/C 题意: Toad Zitz has an array of integers, each intege ...

  4. Codeforces Round #561 (Div. 2) A. Silent Classroom

    链接:https://codeforces.com/contest/1166/problem/A 题意: There are nn students in the first grade of Nlo ...

  5. 《java学习二》jvm性能优化-----认识jvm

    Java内存结构 Java堆(Java Heap) java堆是java虚拟机所管理的内存中最大的一块,是被所有线程共享的一块内存区域. 在虚拟机启动时创建.此内存区域的唯一目的就是存放对象实例,这一 ...

  6. 小G搭积木

    A小 G 搭积木文件名 输入文件 输出文件 时间限制 空间限制box.cpp box.in box.out 2s 128MB题目描述小 G 喜欢搭积木.小 G 一共有 n 块积木,并且积木只能竖着一块 ...

  7. Flat UI theme--扁平化的UI

    项目地址:点击打开 支持版本: jQuery Mobile 1.3.2 使用很简单,前提是你的前端是在jquery-mobile的基础上开发的,然后导入相应的css文件.img文件和js文件即可. 案 ...

  8. vue2.0:(八)、外卖App弹窗部分知识点总结

    本篇文章是对外卖App弹窗部分知识点的总结. 知识点一:如何从接口取出不同的图片. 答: 1.header.vue: 代码: <ul v-if="seller.supports&quo ...

  9. Servlet中文件上传的几种方式

    上传文件,因为上传的都是二进制数据,所以在Servlet中就不能直接用request.getParameter();方法进行数据的获取,需要借助第三方jar包对上传的二进制文件进行解析.常用的方式如下 ...

  10. HttpServeletRequest

    一.HttpServeletRequest 接口(javax.servlet.http) 定义:public interface HttpServletRequestextends ServletRe ...