Saltstack之Scheduler
一、引言:
在日常的运维工作中经常会遇到需要定时定点启动任务,首先会考虑到crontab,但是通过crontab的话需要每台机器下进行设置,这样统一管理的话比较复杂;通过查百度和google发现saltstack有scheduler的功能。
二、Pillar Scheduler:
Salt本身提供多方面的Scheduler的配置,分别有3种配置方式:
1、从Master配置端;
2、Master Pillar端;
3、Minion配置端或者Minion.d下配置文件下配置
在这里介绍的是pillar的方式;官方文档:https://docs.saltstack.com/en/latest/topics/jobs/index.html
首先创建一个/srv/salt/pillar/top.sls
[root@test pillar]# cat /srv/salt/pillar/top.sls
base:
"*":
- schedule
然后创建/srv/salt/pillar/schedule.sls
[root@test tmp]# cat /srv/salt/pillar/schedule.sls
schedule:
testcase:
function: cmd.run
seconds: 10
args:
- 'date >> /tmp/test.cmd.log'
kwargs:
stateful: False
备注:这个调度任务的意思是:每隔10秒在/tmp目录下的test.cmd.log文件中记录一条时间。
创建完文件之后执行下面的命令把pillar的修改刷到minion端。
salt "*" saltutil.refresh_pillar
想查看minion端都有哪些计划任务可以用:
[root@test pillar]# salt "*" pillar.get schedule
192.168.1.88:
----------
__mine_interval:
----------
function:
mine.update
jid_include:
True
maxrunning:
2
minutes:
60
name:
__mine_interval
testcase:
----------
args:
- date >> /tmp/test.cmd.log
function:
cmd.run
jid_include:
True
kwargs:
----------
stateful:
False
maxrunning:
1
name:
testcase
seconds:
10
或者:
[root@test pillar]# salt "*" config.option schedule
192.168.1.88:
----------
__mine_interval:
----------
function:
mine.update
jid_include:
True
maxrunning:
2
minutes:
60
name:
__mine_interval
config.option的方式只能出mine.update的。
三、运行结果:
[root@test pillar]# tail -f /tmp/test.cmd.log
Tue Mar 21 14:26:58 CST 2017
Tue Mar 21 14:27:08 CST 2017
Tue Mar 21 14:27:18 CST 2017
Tue Mar 21 14:27:28 CST 2017
Tue Mar 21 14:27:38 CST 2017
Tue Mar 21 14:27:48 CST 2017
Tue Mar 21 14:27:58 CST 2017
Tue Mar 21 14:28:08 CST 2017
Tue Mar 21 14:28:18 CST 2017
Tue Mar 21 14:28:28 CST 2017
Saltstack之Scheduler的更多相关文章
- AndroidStudio3.0无法打开Android Device Monitor的解决办法(An error has occurred on Android Device Monitor)
---恢复内容开始--- 打开monitor时出现 An error has occurred. See the log file... ------------------------------- ...
- 基于saltstack自动化部署高可用kubernetes集群
SaltStack自动化部署HA-Kubernetes 本项目在GitHub上,会不定期更新,大家也可以提交ISSUE,地址为:https://github.com/skymyyang/salt-k8 ...
- SaltStack远程执行Windows job程序(黑窗口)填坑经过
近期接到领导通知,要将公司内的所有Windows服务添加到自动发布系统中,由于这种服务很多,节点分布散乱,每次都是由开发主管手动替换(虽然他们自己开发了自动打包替换工具,但仍需要一台一台登陆到服务器上 ...
- 从scheduler is shutted down看程序员的英文水平
我有个windows服务程序,今天重点在测试系统逻辑.部署后,在看系统日志时,不经意看到一行:scheduler is shutted down. 2016-12-29 09:40:24.175 {& ...
- Spring 4 + Quartz 2.2.1 Scheduler Integration Example
In this post we will see how to schedule Jobs using Quartz Scheduler with Spring. Spring provides co ...
- VMware中CPU分配不合理以及License限制引起的SQL Scheduler不能用于查询处理
有一台SQL Server(SQL Server 2014 标准版)服务器中的scheduler_count与cpu_count不一致,如下截图所示: SELECT cpu_count , ...
- saltstack初探
salt-key -y -d linux-node1 #删除linux-node1节点的认证 salt -G 'cpuarch:x86_64' grains.item num_cpus >> ...
- saltstack命令执行过程
saltstack命令执行过程 具体步骤如下 Salt stack的Master与Minion之间通过ZeroMq进行消息传递,使用了ZeroMq的发布-订阅模式,连接方式包括tcp,ipc salt ...
- Windows Task Scheduler Fails With Error Code 2147943785
Problem: Windows Task Scheduler Fails With Error Code 2147943785 Solution: This is usually due to a ...
随机推荐
- NSL:CPK_NN神经网络实现预测哪个样本与哪个样本处在同一层,从而科学规避我国煤矿突水灾难—Jason niu
load water_data.mat attributes = mapminmax(attributes); P_train = attributes(:,1:35); T_train = clas ...
- 【python】函数式编程
No1: 函数式编程:即函数可以作为参数传递,也可以作为返回值 No2: map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的 ...
- JVM之基本结构
1. Java虚拟机的架构 1.1 Java的NIO库允许Java程序使用直接内存,访问直接内存的速度优于Java堆.出于性能的考虑,读写频繁的场合会考虑使用直接内存. 1.2 本地方法栈和Java栈 ...
- 使用Log4j日志处理
Springboot日志默认使用的是logback,本文将介绍将springboot项目日志修改为log4j. 首先要将默认的日志依赖排除,然后引用log4j,pom文件代码如下: <?xml ...
- SPOJ COT3.Combat on a tree(博弈论 Trie合并)
题目链接 \(Description\) 给定一棵\(n\)个点的树,每个点是黑色或白色.两个人轮流操作,每次可以选一个白色的点,将它到根节点路径上的所有点染黑.不能操作的人输,求先手是否能赢.如果能 ...
- DWM1000 定位数据收发以及定位算法
蓝点DWM1000 模块已经打样测试完毕,有兴趣的可以申请购买了,更多信息参见 蓝点论坛 正文: DWM1000 定位数据 官方定位程序,建议先学习基础API程序 参考手册: 在手册上提到,目前双向定 ...
- IDatabaseInitializer<TContext>接口研究
MSDN官方文档 DropCreateDatabaseIfModelChanges<TContext> 如果实体模型变化,那么重新创建数据库 DropCreateDatabaseAlway ...
- C++学习笔记53:泛型程序设计与C++标准模板库
泛型程序设计的基本概念 编写不依赖于具体数据类型的程序 将算法从特定的数据结构中抽象出来,成为通用的 C++模板为泛型编程程序设计奠定了关键的基础 模型:符合一个概念的数据类型称为该概念的模型,例如: ...
- php curl数据传输神器
一.curl的概念: curl (Client Url Library Functions) 定义: curl is a command line tool for transfering data ...
- Java 接口 Comparable
compareTo方法是Comparable接口中唯一的方法.类实现了该接口后表明它的实例具有内在的排序关系.当该对象小于.等于或大于指定对象的时候,分别返回一个负整数.0或者正整数.如果由于指定对象 ...