编写grains自定义脚本

简介:
1
2
3
4
5
6
7
8
9
10
11
本人水平有限,也是在网上参考的
[root@salt-master _grains] # tree /srv/salt/
/srv/salt/
├── base
│   ├── 1.txt
│   ├── _grains
│   │   ├── grains_openfile.py
│   │   └── server_time.py                  // 我的目录下新增了这个python脚本
│   └──  test
└── prod
     └── 5.txt
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
[root@salt-master _grains] # vim server_time.py
#!/usr/bin/env python
# coding=utf-8
from datetime  import  datetime
 
def get_server_time():
     grains = {}
     grains[ 'server_time' ] = datetime.now().strftime( '%Y-%m-%d %H:%M:%S' )
     return  grains
     
     
     
[root@salt-master _grains] # salt '*' saltutil.sync_all        
salt-master:
     ----------
     beacons:
     engines:
     grains:
         - grains.server_time
     log_handlers:
     modules:
     output:
     proxymodules:
     renderers:
     returners:
     sdb:
     states:
     utils:
salt-minion01:
     ----------
     beacons:
     engines:
     grains:
         - grains.server_time
     log_handlers:
     modules:
     output:
     proxymodules:
     renderers:
     returners:
     sdb:
     states:
     utils:
hddcluster2:
     ----------
     beacons:
     engines:
     grains:
         - grains.server_time
     log_handlers:
     modules:
     output:
     proxymodules:
     renderers:
     returners:
     sdb:
     states:
     utils:
hddcluster4:
     ----------
     beacons:
     engines:
     grains:
         - grains.server_time
     log_handlers:
     modules:
     output:
     proxymodules:
     renderers:
     returners:
     sdb:
     states:
     utils:
hddcluster3:
     ----------
     beacons:
     engines:
     grains:
         - grains.server_time
     log_handlers:
     modules:
     output:
     proxymodules:
     renderers:
     returners:
     sdb:
     states:
     utils:
hddcluster1:
     ----------
     beacons:
     engines:
     grains:
         - grains.server_time
     log_handlers:
     modules:
     output:
     proxymodules:
     renderers:
     returners:
     sdb:
     states:
     utils:
[root@salt-master _grains] # salt '*' sys.reload_modules       
salt-minion01:
     True
salt-master:
     True
hddcluster2:
     True
hddcluster4:
     True
hddcluster3:
     True
hddcluster1:
     True
[root@salt-master _grains] # salt '*' grains.item server_time
salt-master:
     ----------
     server_time:
         2016-12-01 17:27:14
salt-minion01:
     ----------
     server_time:
         2016-12-01 17:27:14
hddcluster2:
     ----------
     server_time:
         2016-12-01 17:27:14
hddcluster3:
     ----------
     server_time:
         2016-12-01 17:27:25
hddcluster4:
     ----------
     server_time:
         2016-12-01 17:27:25
hddcluster1:
     ----------
     server_time:
         2016-12-01 17:27:25
[root@salt-master _grains] #



本文转自 yanconggod 51CTO博客,原文链接:http://blog.51cto.com/yanconggod/1878598

相关文章
|
7月前
|
Linux Shell 调度
PBS任务脚本模板及常用服务器PBS命令介绍
【2月更文挑战第21天】本文介绍在Linux服务器中,通过PBS(Portable Batch System)作业管理系统脚本的方式,提交任务到服务器队列,并执行任务的方法~
663 5
PBS任务脚本模板及常用服务器PBS命令介绍
|
7月前
|
弹性计算 运维 Shell
自定义安装脚本
【4月更文挑战第30天】
50 0
|
Kubernetes Shell Go
3天玩转shell--12.实战编写nginx日志统计脚本【终结篇】
本节课是shell教程系列的最后一篇文章,希望这12篇文章对shell的学习者有帮助。往后有空会发表一些关于golang编程的实战系列文章、或者是k8s相关的文章。
489 0
3天玩转shell--12.实战编写nginx日志统计脚本【终结篇】
|
Shell
Shell编写格式和执行方式
Shell编写格式和执行方式
131 0
|
关系型数据库 MySQL Shell
|
Shell Python
Ansible yaml的语法、playbook文件例子(学习笔记十七)
1、ansible有两种调用方式,一种是临时语句,一种是yml文件调用,语法格式分别为: ansible all -m ping ansible-playbook  test.yml 2、test.yml为yaml文件,yaml使用空白、缩进、分行组织数据。
1405 0
|
Shell
Ansible 命令执行模块(学习笔记九)
命令执行模块有四个:command、raw、shell、script command、raw 1、command为系统默认模块,使用时可以直接省略: ansible all -a "pwd" image.
1188 0
Ansible文件内容修改lineinfile模块(学习笔记五)
lineinfile:文件内容修改、在某行前面添加一行、在某行后面添加一行、删除某一行、末尾加入一行、替换或添加某一行 1、文件内容修改,其中regexp为要修改的源内容的正则匹配,line为修改后的内容:ansible all -m lineinfile -a "dest=/root/test.
3557 0