Job基本管理
Jid: job id,格式為%Y%m%d%H%M%S%f
在master在下發指令消息時,會附帶上產生的jid.minion在接收到指令開始執行時,會
在本地的cachedir(默認是/var/cache/salt/minion/)下的proc目錄下產生以該jid
命名的文件,用於在執行過程中master查看當前任務的執行情況,指令執行完畢
將結果傳送給master后,刪除該臨時文件
master將minion的執行結果存放在本地/var/cache/salt/master/jobs目錄
默認緩存24小時(可以通過修改master配置文件keepjobs選項調整)
SaltStack模塊中的job管理方法
#查看minion當前正在運行的jobs # salt '*' saltutil.running #查看指定jid的job(minion正在運行的jobs) ## salt '*' saltutil.find_job <jid> #給指定的jid進程發送信號 ## salt '*' saltutil.signal_job <jid> <single> #終止指定的jid進程 # salt '*' saltutil.term_job <jid> #終止指定的jid進程(信號為9) ## salt '*' saltutil.kill_job <jid>
salt runner中的job管理方法
#查看所有minion當前正在運行的jobs(在所有minions上運行saltutil.running) ## salt-run jobs.active #從master jobs cache中查詢指定jid的運行結果 #salt-run jobs.lookup_jid <jid> #列出當前master jobs cache中所有job # salt-run jobs.list_jobs
更得jobs參考
http://docs.saltstack.com/en/latest/topics/jobs/index.html
Schedule任務管理
SaltStack可以很容易實現批量計算任務的創建和管理
按照官方文檔的描述,計划任務有3種配置方式,分別是
1 在master配置文件中配置
2 在minion配置文件中配置
3 在pillar中配置
每30分鍾minion執行一次highstate(配置在minion配置文件或pillar中)
每分鍾查詢一次loadavage,並將結果輸出到mysql returner中
案例:
每分鍾minion端執行時間
# pwd /srv/pillar/base # cat schedule.sls schedule: hellowworld: function: cmd.run args: - date >> /tmp/test.log minutes: 1 # cat top.sls base: 'hzbj-tomcat-02(1|2)': - match: pcre - zabbix-agent - schedule