SaltStack - 使用Cron和盐

盐可以与 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的核心概念.