saltstack 添加计划任务

前面己经说过如何安装saltstack,在平时己经体验了它的强大,下面来说一下平时常用的cp模块及cron与sls文件的书写

一、salt.modules.cp

1、复制文件[我使用最多的]

格式:

salt.modules.cp.get_file(path,dest,saltenv=’base’,makedirs=False,template=None,gzip=None,env=None,**kwargs)

常用参数说明:

path:表示salt-master的file_roots的路径下的源文件

dest:表示salt-minion的路径下文件(可以指定文件名,也可以不指定,但不指定【有时】会报错)

saltenv:salt-master部署到的环境,可以/etc/salt/master文件的file_roots自行指定,默认为base

makedirs:类型为布尔型,True表示目录不存在创建,False表示不创建

template: 指定模板,常用的有jinja。。。

gzip:压缩级别

例子:

salt’192.168.2.36-CentOS.backup.test.backend’cp.get_filesalt://crontab/bak_sys.py/root/bak_sys.pymakedirs=Truegzip=9

2、复制目录

格式:

salt.modules.cp.get_dir(path,dest,saltenv=’base’,template=None,gzip=None,env=None,**kwargs)

注:path在此处表示目录,如果你不想将path复制到dest之下,那么指定到dest的上一级就好

例子:

#salt’test-201’cp.get_dirsalt://crontab/rootmakedirs=Truetest-201:-/root/crontab/Insert_Outgoing_Mail_Total.py-/root/crontab/Redis_config.py…..

3、查看文件内容

格式:

salt.modules.cp.get_file_str(path,saltenv=’base’,env=None)

例子:

[root@reportcopy_crontab_file]#salt’test-201’cp.get_file_strsalt://crontab/delete_mysql_rsyslog.shtest-201:#!/bin/bash#Databasemaintancescriptwhichcanbeusedforrsyslog#andphplogcondefaultdatabaseschema.#MichaelMansoursuggestedittobeincluded-thx!#ThisprogramwasoriginalpartofofPHPloghost#Copyright(C)2004TuathadeDana#somemodificationsforrsyslogbymmeckeleinat2007-08-08#2007-08-13mmeckelein:addeddbhostandsomeotherimprovements#suggestedbyMichaelMansour-thxalot!…..

二、salt.modules.cron

1、添加计划任务

格式:

salt.modules.cron.set_job(user,minute,hour,daymonth,month,dayweek,cmd,comment=None,identifier=None)

参数说明:

user:用户;剩下的表示分、时、日、月、周、命令、任务描述信息

例子:

salt\*cron.set_jobroot’0”03”*”*”*”/bin/bash/root/crontab/rsync_mysql_backup.sh”remotebackupmysqldatatoxxxxxxx/backup/local_mysql_backup/byking.gp’

说明:每一个参数项都要用引号括起来。

2、删除计划任务

格式:

salt.modules.cron.rm_job(user,cmd,minute=None,hour=None,daymonth=None,month=None,dayweek=None,identifier=None)

例子:

salt’*’-b3cron.rm_jobroot’/root/crontab/rsync_mysql_backup.sh’

三、添加计划任务states文件版本。

注:

要在salt-master端设置file_roots (略)

在file_roots指定的目录下创建top.sls文件

定义init.sls文件

1、我们第二步开始,file_roots设置top文件

[root@report/]#egrep-v”^$|^#”/etc/salt/masterfile_roots:base:-/home/sysadmin/yunwei-/home/sysadmin/yunwei/workspace

2、创建top.sls文件

[root@reportworkspace]#pwd/home/sysadmin/yunwei/workspace[root@reportworkspace]#cattop.slsbase:”test-201″:-install_python_ext-add_crontab_file

注:如果file_roots指向多个路径,salt则取它们的合集

3、定义init.sls文件

注:也是可以直接在top.sls的同级目录写sls文件的,但这样到后期要维护太多的文件,而且看上会会很乱,如果定义多级目录,就可在同名目录中写【init.sls】文件了

[root@reportworkspace]#cdadd_crontab_file/[root@reportadd_crontab_file]#pwd/home/sysadmin/yunwei/workspace/add_crontab_file[root@reportadd_crontab_file]#catinit.sls/root/crontab:file.directory:-user:root-group:root-mode:755-makedirs:True/root/crontab/clean_mail_local_mysql_history_data.sh:cron.present:-user:root-minute:30-hour:23-daymonth:28-comment:’cleanlocalmysqldatainfobyking.gp’/root/crontab/Insert_Outgoing_Mail_Total.py:cron.present:-user:root-minute:0-hour:23-comment:’mailoutgoingtotalbyking.gp’/root/crontab/rsync_mysql_backup.sh:cron.present:-user:root-minute:0-hour:3-comment:’remotebackupmysqldatato192.168.3.34/backup/local_mysql_backup/byking.gp’/root/crontab/rsync_redis_backup.sh:cron.present:-user:root-minute:0-hour:’*/2′-comment:’remotebackupredisdatato192.168.3.37/archive/redis_backup/byking.gp’/root/crontab/delete_mysql_rsyslog.sh:cron.present:-user:root-minute:0-hour:1-comment:’dellocalmysqlsyslogdata’世界没有永久的冬天;不要讨厌麻烦,

saltstack 添加计划任务

相关文章:

你感兴趣的文章:

标签云: