盐可以与 Cron 应用程序一起使用.同时使用这两个应用程序提供了自动化Salt的绝佳机会.虽然Salt提供了远程执行命令的选项,但Cron使其能够以预先安排或自动的方式运行.让我们在本章中学习如何一起使用Cron和Salt.
什么是Cron?
Cron是Linux环境中非常有用的应用程序.它可以预设命令或脚本以在特定日期和时间运行.它还能够定期运行应用程序,例如每天,每周或每月的第一天.
Cron在系统启动时启动并检查/etc/crontab 文件以获取配置详细信息./etc/crontab将每个应用程序及其日程安排在一个单独的行中,如下所示.
15 * * * * root echo "This command runs at 15 minutes past every hour"15 10 * * * root echo "This command is run daily at 10:15 am"
每个line有以下七个入口点,它们用空格分隔,如下所示;
分钟 : 分钟,介于"0"和"59"之间.
小时 : 小时并在24小时制中指定.
day_of_month : 每月的日期介于1和31之间.例如,每个月的10 th 为10.
月 : 指定月份并以数字(0-12)或月份名称(例如5月)指定.
day_of_week : 星期几以数字(0-7)或当天的名称(例如太阳)指定.
用户 : 去;用于运行命令的用户帐户.
cmd : 实际命令及其参数.
这里,*替换,如果没有分配任何内容.
Salt Caller(salt-call)
Salt提供CLI(命令行界面), salt-call 来代替本地minion系统中的模块运行使用salt命令从主服务器获取salt调用CLI支持salt命令支持的所有选项,但在本地运行.
Salt Caller最初设计用于支持调试,但现在,它可以用作独立应用程序./p>
salt-call test.ping
在cron中使用salt-call
盐调用CLI对于使用Cron安排盐操作很有用.例如,为了每天午夜检查小兵的状态,我们可以使用salt-call和选项 - state.apply,如下所示.
/etc/crontab
PATH =/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin :/usr/local/sbin:/opt/bin 0 0 * * * salt-call state.apply
在这里,
state.apply 函数将检查minion的salt配置文件并检查是否定义了所有操作正确配置了minion.
设置路径是一种很好的做法,因为有时salt命令可能在系统路径中不可用.
在下一章中,我们将学习远程执行,这是Salt的核心概念.