设为首页 收藏本站
查看: 929|回复: 0

[经验分享] saltstack 管理命令

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2017-2-22 09:36:02 | 显示全部楼层 |阅读模式
salt相关的管理命令:
salt-run manage.up                                # 查看存活的minion  

salt-run manage.down                           # 查看死掉的minion
salt-run manage.down removekeys=True            # 查看down掉的minion,并将其删除
salt-run manage.status                    # 查看minion的相关状态
salt-run manage.versions                        # 查看salt的所有master和minion的版本信息
salt-run jobs.active                                # 查看哪些系统任务还在处理中
salt-run jobs.list_jobs                                # 显示所有的已完成或部分完成的任务信息
salt '*' saltutil.running                        # 查看运行的jobs ID
salt \* saltutil.kill_job 20151209034239907625 # kill掉进程ID
salt -d                                                # 查看帮助文档
salt -d|grep service                                # 查看service相关模块命令
salt '*' sys.doc                                # 查看帮助文档
salt-key  -L                                    # 查询所有接收到的证书
salt-key  -a <证书名>                           # 接收单个证书
salt-key  -A                                    # 接受所有证书
salt-key  -d <证书名>                          # 删除单个证书
salt-key  -D                                    # 删除所有证书
salt '*' service.get_all                        # 获取主机所有服务
salt '*' service.reload sshd                        # 重载sshd服务
salt '*' pkg.list_pkgs                                 # 显示软件包版本列表
salt '*' pkg.version python                        # 显示软件包版本信息
salt '*' pkg.install httpd                        # 安装软件包
salt 'node1.com' service.status mysql                # 查看mysql服务状态
salt 'node1.com' service.start mysql                # 启动mysql服务
salt 'node1.com' cmd.run 'service mysql status'        # 与上面一样查看服务
salt '*' sys.list_modules                        # 模块列表
salt-cp '*'  /etc/hosts   /etc/hosts                # 把master上的hosts文件分发到所有主机
salt '*' cp.get_file salt://ceshi/b /tmp/test        # 把salt-master端相应的文件,分发文件到minion端
salt '*' cp.get_dir salt://zabbix /tmp                # 把salt-master端相应的目录,分发文件到minion端
salt '*' file.copy /tmp/zabbix.sls /tmp/sls        # 把salt-master端对应文件拷贝到minion端相应目录下
salt '*' cmd.run 'uptime'                         # 远程命令执行测试

远程执行脚本:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
'cmd.script:'
        salt '*' cmd.script salt://scripts/runme.sh
        salt '*' cmd.script salt://scripts/runme.sh 'arg1 arg2 "arg 3"'
        salt '*' cmd.script salt://scripts/windows_task.ps1 args=' -Input c:\tmp\infile.txt' shell='powershell'
        salt '*' cmd.script salt://scripts/runme.sh stdin='one\ntwo\nthree\nfour\nfive\n'
'cmd.shell:'
        This passes the cmd argument directly to the shell
        salt '*' cmd.shell "ls -l | awk '/foo/{print \$2}'"
        salt '*' cmd.shell template=jinja "ls -l /tmp/{{grains.id}} | awk '/foo/{print \$2}'"
        salt '*' cmd.shell "Get-ChildItem C:\ " shell='powershell'
        salt '*' cmd.shell "grep f" stdin='one\ntwo\nthree\nfour\nfive\n'
        salt '*' cmd.shell cmd='sed -e s/=/:/g'
'cmd.shells:'
        salt '*' cmd.shells
'cmd.tty:'
        salt '*' cmd.tty tty0 'This is a test'
        salt '*' cmd.tty pts3 'This is a test'
'cmd.which:'
        salt '*' cmd.which cat



grains选项:
1
2
3
salt '*' grains.ls                    # 查看grains分类
salt '*' grains.items                      # 查看grains所有信息
salt '*' grains.item osrelease                  # 查看grains某个信息



说明:state模块是salt state的管理模块,可以通过state模块简单的对minion操作sls状态

1
2
salt 'node1.com' state.highstate            # 更新指定minons的所有sls状态
salt 'node1.com' state.running              # 查看当前运行的sls状态



相关例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
[iyunv@master ~]# salt \* saltutil.running
node02.saltstack.com:
    |_
      ----------
      arg:
          -  egrep -v ^#
      fun:
          cmd.run
      jid:
          20170221141733009548
      pid:
          5922
      ret:
      tgt:
          *
      tgt_type:
          glob
      user:
          root
    |_
      ----------
      arg:
          - egrep -v ^#
      fun:
          cmd.run
      jid:
          20170221141748160358
      pid:
          5927
      ret:
      tgt:
          *
      tgt_type:
          glob
      user:
          root
node01.saltstack.com:
    |_
      ----------
      arg:
          -  egrep -v ^#
      fun:
          cmd.run
      jid:
          20170221141733009548
      pid:
          6252
      ret:
      tgt:
          *
      tgt_type:
          glob
      user:
          root
    |_
      ----------
      arg:
          - egrep -v ^#
      fun:
          cmd.run
      jid:
          20170221141748160358
      pid:
          6256
      ret:
      tgt:
          *
      tgt_type:
          glob
      user:
          root
[iyunv@master ~]# salt \* saltutil.kill_job 20170221141748160358
node01.saltstack.com:
    Signal 9 sent to job 20170221141748160358 at pid 6256
node02.saltstack.com:
    Signal 9 sent to job 20170221141748160358 at pid 5927
[iyunv@master ~]# salt \* saltutil.kill_job 20170221141733009548
node02.saltstack.com:
    Signal 9 sent to job 20170221141733009548 at pid 5922
node01.saltstack.com:
    Signal 9 sent to job 20170221141733009548 at pid 6252
[iyunv@master ~]# salt \* saltutil.running
node01.saltstack.com:
node02.saltstack.com:
[iyunv@master ~]# salt-run manage.versions
Master:
    2015.5.10
Up to date:
    ----------
    node01.saltstack.com:
        2015.5.10
    node02.saltstack.com:
        2015.5.10
[iyunv@RS1 states]# salt-run manage.status
down:
up:
    - minion.saltstack.com
    - minion2.saltstack.com
[iyunv@RS1 ~]# salt-run manage.versions# 查看salt的所有master和minion的版本信息
Master:
    2015.5.10
Up to date:
    ----------
    minion.saltstack.com:
        2015.5.10
    minion2.saltstack.com:
        2015.5.10
[iyunv@RS1 ~]# salt '*' test.ping -v# 使用-v参数,能够查看到job的jid
Executing job with jid 20170214142709337088
-------------------------------------------
minion.saltstack.com:
    True
minion2.saltstack.com:
    True
说明:每执行一个任务,都会有一个对应的jid
[iyunv@RS1 ~]# salt '*' saltutil.running# 查看minion当前正在运的jobs
minion2.saltstack.com:
    |_
      ----------
      arg:
      fun:
          state.highstate
      jid:
          20170214143846076337
      pid:
          5488
      ret:
      tgt:
          *
      tgt_type:
          glob
      user:
          root
minion.saltstack.com:
    |_
      ----------
      arg:
      fun:
          state.highstate
      jid:
          20170214143846076337
      pid:
          6384
      ret:
      tgt:
          *
      tgt_type:
          glob
      user:
          root
[iyunv@RS1 ~]# salt '*' saltutil.kill_job 20170214143846076337
取消正在执行的某个jid,例如:20170214143846076337
[iyunv@master ~]# salt-run jobs.list_jobs
20170221155927733273:
    ----------
    Arguments:
    Function:
        state.running
    StartTime:
        2017, Feb 21 15:59:27.733273
    Target:
        node01.saltstack.com
    Target-type:
        glob
    User:
        root
20170221160325920754:
    ----------
    Arguments:
    Function:
        sys.doc
    StartTime:
        2017, Feb 21 16:03:25.920754
    Target:
        *
    Target-type:
        glob
    User:
        root
20170221161556599324:
    ----------
    Arguments:
        - cat
    Function:
        cmd.which
    StartTime:
        2017, Feb 21 16:15:56.599324
    Target:
        *
    Target-type:
        glob
    User:
        root
20170221161641114901:
    ----------
    Arguments:
    Function:
        grains.ls
    StartTime:
        2017, Feb 21 16:16:41.114901
    Target:
        *
    Target-type:
        glob
    User:
        root



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-345513-1-1.html 上篇帖子: saltstack 分组 下篇帖子: saltstack批量安装zabbix agent
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表